image description
contact us
Name* Phone* E-mail* Message*


Expertise: OS Kernel, Drivers, and BSPs

The 21st century brings a dramatic increase in the evolution of technology and, thus, new challenges for OEM vendors, industrial and consumer equipment manufacturers, and software product vendors as they face the tasks that require complex kernel-level development. With more than 20+ years of software engineering experience and extensive knowledge and expertise in Linux and Windows internals, Auriga has repeatedly helped its clients worldwide to address these challenges successfully. Auriga also frequently deals with standalone driver and Board Support Packages (BSPs) development projects for both OS and board vendors. Auriga has developed diversified expertise with multiple types of peripherals, processor architectures, as well as a wide variety of operating systems. This accumulated experience and knowledge enable Auriga to create any driver for virtually any OS/device combination.

The two main expertise areas in this domain are described in the following sections below:

Auriga is competent in the following Operating Systems

  • UNIX and Linux

    • Linux, AIX, HP-UX, Solaris, SunOS, Digital UNIX/Tru64 UNIX, SCO UnixWare, SCO OpenServer
  • Real-time and embedded
    • VxWorks, LynxOS, OSE, pSOS, QNX
    • Embedded Linux—Blue Cat Linux, Hard Hat Linux, ucLinux (microLinux), proprietary distributions...
  • Windows
    • Windows 98/ME/NT/2000/XP/2003/Vista
    • Windows NT 4.0 Embedded, Windows XP Embedded, Windows CE/Mobile

Auriga has experience dealing with the following processor architectures

  • PCI, VME, transparent and non-transparent bridges
  • PICMG standards
    • CompactPCI, AdvancedTCA, MicroTCA, AdvancedMC
  • IPMI
  • FibreChannel
  • Ethernet
  • ATM
  • T1/E1
  • StarFabric, PCI Express, PCI Express AS
  • PLX Gigabridge
  • Computer Telephony Hardware

OS Kernel Internals: Windows, Linux, UNIX, RTOS

Auriga has brilliantly accomplished multiple projects requiring understanding, creating and modifying the software components residing deep in kernels of operation systems. With special focus on Linux- and Windows-based OS and kernels, Auriga possesses unmatched expertise its clients fully rely on. Customers delegate their kernel-level projects to Auriga because they are sure they will always receive professional service and support with kernel improvements, kernel-level components development, building of device drivers, porting, and fixing of defects.

Auriga engineers possess a keen insight into kernel-related technologies, allowing Auriga to offer highly-customizable solutions tailored to meet unique needs. Auriga delivers the following kernel-level services:

  • Custom Kernel Development. Auriga offers custom kernel development services tailored individually to meet the unique needs of Auriga's clients. Auriga’s extensive development background ranges from enhancing kernel functionality to kernel modification to many other working solutions.
  • Kernel Testing, Analysis and Defect Fixing. Drawing on extensive expertise with kernels, Auriga’s team of engineers can analyze kernel-related defects, identify problems and offer efficient solutions.
  • Kernel -level Drivers Development. The diversified and time-proven experience the Auriga team has with kernel-level driver development ensures that any kernel-level device driver can be developed in accordance with the client requirements and needs.
  • Kernel Porting. Auriga delivers kernel porting projects of any complexity, offering a combination of skills, quality, and price that is unmatched in today’s market.

Device Drivers and BSPs

The development of stable, reliable, and maintainable device drivers requires specialized knowledge, experience, and tools. Auriga has acquired considerable expertise backed by 20+ years of working on a large number of projects involving development, maintenance and testing of a variety of device drivers. The experience gained by Auriga enables the development of a device driver for virtually any type of I/O or DMA devices in a process-oriented, predictable manner. Some examples of driver development projects for specific devices include:

  • Hot Swap drivers for NMS AG family boards (CPCI form factor);
  • FibreChannel Device Drivers Suite, and many other drivers for LynxOS real-time OS;
  • I/O Co-processor control and management system, including a set of drivers and associated APIs for Digital UNIX;
  • Network interface card drivers for LynxOS and Linux;
  • Network adapter (NDIS) drivers for Windows;
  • StarFabric Bus Driver

Auriga deals with board support packages (BSPs) projects so frequently that at any given time there are multiple BSP projects being performed by Auriga engineers. Animating a board is a key purpose of any BSP project. A board may be equipped with both standard and unique hardware components, so a Board Support Package is a customization of an OS that provides software applications with methods to properly use the board components. Typically, the scope of a BSP development project includes:

  • a board-specific core OS (initialization and management of hardware components that are crucial for OS operation—bridges, timers, interrupt controller, etc);
  • a set of device drivers for additional hardware components (on-board and/or peripheral devices) supported by the BSB—Ethernet, hard disk, keyboard and video adapter, etc).
  • a set of interfaces and associated development tools for building the custom software on top of the BSP.

Please refer to the Skills and Technologies page for more information on the technical skills of our experts.

Relevant Cases