The Device Driver Development Process

May 3, 2008 by
Filed under: Device Drivers 

A device driver is needed by your computer to use devices which are connected to your system, because operating systems and applications do not use the same language that devices do. The result is similar to people who speak two languages trying to communicate, and this is where the device drivers come in. Device drivers act as a translator between the two so that their communication happens smoothly and efficiently, with no glitches or problems. Each device driver is written and developed for a certain operating system, such as Windows, Linux, or MS-DOS, and device drivers are dependent on the hardware.

Building a device driver is a very complex process, which takes a considerable length of time and a lot of effort to be successful. There are many steps involved in a device driver before it is ever released for use. Only a person who is very familiar with the operating system that the device driver is intended for will be qualified to build a device driver for that system. In addition, the developer must understand how the hardware functions on the system, because the device and the system will need to communicate for the device to function.

The Steps in the Development Process

The first step in any device driver is the code. The device driver code must be written in the programming language, and common languages for device driver writing include C and C++. After development the device driver is ready to be tested, so any bugs and flaws can be seen and corrected. This is done on an operating system and kernel mode driver that includes extra features to check for errors and more information concerning debugging. These systems are called checked builds, and they are needed to test any new device drivers before they can be used on other systems.

Checked build systems run slower than free build systems, because extra steps are taken to ensure the device driver does not contain any errors or bugs. Once the device driver works well on a checked build system, it is run on a free build system. This system is what most computer users have, the one you buy for home use or general business use.

A free build computer does not contain debugging information and data, and the system is optimized for premium performance. These computers use less memory and run faster than checked build systems, and will show any problems with the device driver that will result in the computer freezing or the user receiving error messages. The device drivers are tested repeatedly on both the checked and free build systems, to fine tune them and verify their performance repeatedly.

The final tests for any device driver use the free build system, and the driver is tested on both a single processor and a multiprocessor computer to verify the correct performance on both. By the time a device driver is released and ready for use, it has been tested and verified thousands of times in many different ways, using many different types of systems. This ensures that the device driver runs without problems and does not damage the system or hardware.

Comments

Comments are closed.