16

I have difficulty in understanding what's included in an OS and what's not. Is a device driver such as a printer driver or graphic driver part of an OS? Thinking about the definition of an OS I believe that drivers are part of OSs.

2
  • 6
    Yes and no. They are a part of the OS in that they operate at a low level and have access to internal interfaces. And many are critical to the operation of the OS. But they are generally separate "plug-replaceable" parts, and often built by a different company from the OS. Depends on your definition of "OS", and there is no single firm one. Commented Jul 10, 2012 at 11:20
  • Please define "included". Guaranteed to be on the Windows DVD for installation on a new drive? Or conceptually part of the OS?
    – sawdust
    Commented Jul 10, 2012 at 20:46

3 Answers 3

14

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.

7
  • 1
    I disagree (but will hold off on a down vote), simply because of how you stated it, drivers are NOT always included or used. The operating system is the kernel. Period. Windows Explorer is not part of the operating system, although it comes with it. The kernel is the actual processing part, so I would consider that the OS. Other items getting included are not part of the OS Commented Jul 10, 2012 at 17:23
  • Also, you can run drivers at the user level, so you don't have to run them at the kernel level, although most are.
    – Matt
    Commented Jul 10, 2012 at 18:34
  • I can see your point Luke. There are many optional devices which are not needed for the system to operate, so I can agree their drivers are not part of the OS in this sense. Like @Matt said, some drivers can even be user mode drivers (many printer drivers are), but my point is the majority of drivers, specially structural ones (video, disk controllers, etc) are kernel mode drivers, and as such are or become a real part of the running kernel when loaded. Since a kernel can't do anything useful alone, I think it is fair enough to say drivers are (or become) part of the operating system.
    – Claudio
    Commented Jul 10, 2012 at 18:59
  • 1
    It's really a yes/no question. While technically drivers are not included with the OS, you will need them for communication with different devices. For example, video. You will make a request to the kernel, then kernel will forward the request to the display driver and then information back so you can actually see something.
    – Matt
    Commented Jul 10, 2012 at 20:17
  • 3
    @Luke - Apparently you do concede that the kernel is part of the OS, if not the whole OS. Have you ever seen the source code for an OS or kernel? Unless you work for MS or sign an NDA we'll never see the Windows kernel code. But the Linux kernel is open source, and all the (non-proprietary) Linux drivers are part of the kernel source code. The Linux kernel source code is not separated into a kernel part and a driver part; the source tree contains core and driver modules all together. I would expect that MS to handle their source code for Windows in a similar manner.
    – sawdust
    Commented Jul 10, 2012 at 20:25
5

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.

1

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.

3
  • The fact you say drviers are not part of an operating systems proves you don't know what you are doing. Windows XP includes many of the same drivers that Windows Vista and Windows 7 include. Microsoft spent a great deal of effort to include even MORE generic drivers for devices for those releases.
    – Ramhound
    Commented Jul 10, 2012 at 11:48
  • yes. without driver we can not use any device. So we can say that driver helps the OS to communicate with the device and about the question I will say that some are part of the OS and some are not. Ther are lot of drivers that dont come with OS. Commented Jul 10, 2012 at 11:52
  • Technically, even when a driver doesn't come with the OS it is part of the OS when you install and use it. Proof of it is that a badly written driver can lock up your whole system since it is not a regular application which can be killed by the OS, but a part of itself.
    – Claudio
    Commented Jul 10, 2012 at 12:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .