Are drivers part of the operating systems?

Yes, drivers are part of the OS. They run with the same privilege level as the OS kernel, and to write a driver you must know a good deal about the OS internals. The role of drivers is to provide an abstraction of the hardware so applications can use it through the OS API (application programming interface) instead of having to know specific details of it. In many cases it also allows for sharing the same piece of hardware among many applications simultaneously.

Something that misleads users into thinking drivers might not be part of the OS is that many vendors supply drivers for hardware they make separately from the OS. Indeed, many drivers are presented as loadable modules which can be loaded and then take part in the OS dynamically. Once they are not used anymore they can be "disconnected" from the OS and it continues to run normally.

Loadable or not, drivers are always specific to the devices they should make available to the system, so while they are sometimes "optional" parts of the OS, they do take part in it when operating.


The term "OS" can mean many things.

While under most operating systems, the kernel is the piece of code that is managing and "running" everything, and arbitrates accesses to hardware, it usually cannot do anything interesting on its own - its job is to provide a framework for applications to run "on top" if it. So many people's definition of an OS include utilities, shells, and programs that make up a familiar, standardized environment.

Drivers depend on the kernel, and it's probably most correct to say they "extend" it, like plugins. Linux supports the notion of "loadable kernel modules" - and all device drivers can be a loadable kernel module. It is also possible to build a kernel where one or more of these modules is "built-in" and not separate from the kernel. So you really could build a "moduleless" kernel under Linux, and it would not be able to support any hardware other than the modules you built into it.

I'm less familiar with the guts of Windows, but I believe except for a very few "miniport" drivers all drivers are external files that are loaded on boot. If you dig a little into creating services on Windows, it seems that drivers are really just special forms of services under Windows. Some programs install drivers to access hardware on a low level, but not necessarily to drive a device, these are typically the "Non-plug and play" drivers under Device Manager. Thus it also seems drivers serve the same function conceptually as loadable kernel modules under Linux.

I would for simplicity say they are part of the OS, as they really can't be used without the OS, and aren't useful unless the OS is booted, but the line drawn is rather arbitrary in any case.


No drivers are not a part of the OS. You can say that drivers helps the OS to communicate with the device or hardware. OS does not contain all the drivers by default like in windows xp and vista but in windows 7 most of the necessary drivers included, so you don't confuse they are not a part of the OS.