2013-02-11 65 views
0

我目前正在做一个关于操作系统的课程。当我们有内核时,为什么我们需要驱动程序?

我知道内核是操作系统的核心部分,它充当用户应用程序和计算机的数据处理元件(如CPU)之间的桥梁。

为什么我们需要驱动程序(例如触摸板驱动程序),内核是否不控制所有的计算机硬件?

回答

5

因为生产硬件设备的公司有数千家(如果不是数十万家)。操作系统公司不能编写软件来处理所有这些软件,因此它们提供了一种通用编程模型,使用这些模型,这些硬件公司可以编写能够与硬件通信的软件。

要注意的是,虽然驱动程序实际上并不是内核的一部分,但它们具有一些低级特权(直接访问硬件),因为它们的代码在Executive模式下运行,不像在用户中运行的普通应用程序模式,一般不直接访问硬件。总而言之,一旦操作系统提供了编写硬件控制软件(称为驱动程序)的方式,任何供应商或个人都可以自由编写可利用其硬件设备的专用功能的软件。另外请注意,某些硬件设备遵循着名的标准(如键盘,鼠标,许多视频驱动程序,显示器等),大多数操作系统都内置了对这些设备的支持。另一方面,一些设备没有或没有遵循标准,而另一些设备可能同时具有这两种功能,即默认驱动程序可以访问的功能子集,以及不符合任何标准的功能子集因此默认驱动程序不支持。在所有这些情况下,硬件制造商都提供了自己的驱动程序,以了解硬件的来龙去脉,因此可以高效地利用所有功能。

+0

所以基本上驱动程序是内核的一部分? 不同的硬件供应商使驱动程序包含在内核中,以确保其某些设备在特定的操作系统上工作。系统 – Adeeb 2013-02-11 08:44:51

+0

查看我上面的编辑。 – dotNET 2013-02-11 08:55:52

1

当然,内核确实控制着所有的硬件。但是,那里有太多不同的硬件设备。

为了处理这种大量不同的设备,开发人员编写了专门的模块 - 这些被称为驱动程序。

相关问题