|
When we design a device driver, a wide variety of disciplines must be taken into account: From operating systems concepts and structure, through the architecture of the computer to deep understanding of the hardware device being connected. In addition, device drivers are very difficult to debug and cannot tolerate internal malfunctions. The result is that designing and writing device drivers is, probably, one of the greater challenges in software engineering. I have experience in designing, building and debugging device drivers, and some of these projects include: - Designed, wrote and integrated a disk device driver for a Real-Time operating system. The device driver implemented disk mirroring and had to be transparent to the application. The use of the new device driver not only added to the system reliability, but also increased the overall system performance.
- Ported a Windows NT device driver to Linux
- Rewrote and integrated serial and parallel ports device drivers for a Real-Time operating system.
- Designed and wrote an intelligent serial ports board device driver. The use of an external processor based board helped offload the main processor utilization.
- Redesigned and managed a fax board device driver project.
- Designed and wrote a 9-track tape device driver for a UNIX operating system.
- Designed and wrote a device driver for an 8" diskette drive.
|