我们何时需要设备驱动程序

时间:2012-11-11 17:03:38

标签: memory operating-system device-driver disk

我注意到寄存器,主内存和缓存不需要设备驱动程序,而磁盘需要设备驱动程序可以请任何人解释原因吗?

1 个答案:

答案 0 :(得分:2)

您还会发现操作系统有一些知识,例如如何驱动VGA,也是如此。操作CPU是实际在给定系统上运行的基础,因此操作系统必须知道这一点。其他一些功能也很重要,操作系统包含“烘焙”功能,可以访问这些设施。

但是,某些功能是可选的。而不是让开发人员选择“烘烤”或“艰难” - 或者更糟糕的是,运送所有驱动程序并使操作系统变得庞大,操作系统开发人员构建了一种抽象的方式来加载任意驱动程序,通常匹配某些类型的子系统例如USB或磁盘。这意味着任何人都可以添加功能通常,对于自己的内置驱动程序来说,遵循这种体系结构是正常的,因为清洁度很高,所以如果不需要它们就不必使用它们。

您还会发现许多内核的代码设计与CPU无关,只要这是可能的。这是必要的编译时间。例如,Linux有一个arch/目录,其中包含特定于体系结构的代码,然后将其抽象到内核的其余部分,因此例如块存储层不需要为每个体系结构重写。例如,Windows NT最初针对DEC Alpha以及x86。