Kernel ModularityĪ kernel is not expected to know how to interact with new types of devices that do not yet exist at the time of its creation. It would consume too many system resources, needlessly. Creating a kernel that has inbuilt functionality for interacting with all known hardware devices may be possible but is not practical. The kernel can be viewed as a black box that should know how to interact with the many different types of hardware devices that exist and the many more devices that do not yet exist.
For a detailed look at the Windows kernel refer to and for the Linux kernel.
Modern operating system kernels consist of a number of components such as a memory manager, process scheduler, hardware abstraction layer (HAL) and security manager. The paper concludes by examining the device driver development environments and facilities provided to developers by each operating system. The process of implementing a driver, for each operating system, that performs I/O to a kernel buffer is also presented. Driver components required when implementing device drivers for each operating system are presented and compared. A Comparison of the Linux and Windows Device Driver ArchitecturesMelekam Tsegaye Rhodes University, South Africa Richard Foss Rhodes University, South Africa Ībstract: In this paper the device driver architectures currently used by two of the most popular operating systems, Linux and Microsofts Windows, are examined.