【发布时间】:2012-10-31 06:22:49
【问题描述】:
我注意到寄存器、主存和缓存不需要设备驱动程序,而磁盘需要设备驱动程序,谁能解释一下原因?
【问题讨论】:
标签: memory operating-system device-driver disk
我注意到寄存器、主存和缓存不需要设备驱动程序,而磁盘需要设备驱动程序,谁能解释一下原因?
【问题讨论】:
标签: memory operating-system device-driver disk
您还会发现操作系统也包含一些知识,例如如何驱动 VGA。操作 CPU 是在给定系统上实际运行的基础,因此操作系统必须知道这一点。其他一些功能也是必不可少的,并且操作系统包含访问这些功能的“内置”能力。
但是,某些功能是可选的。操作系统开发人员没有让开发人员选择“嵌入”或“强硬”——或者更糟糕的是,交付所有嵌入的驱动程序并使操作系统变得庞大,操作系统开发人员构建了一种加载任意驱动程序的抽象方式,通常匹配某些类型的子系统如 USB 或磁盘。这意味着任何人都可以添加功能。通常,对于自己的内置驱动程序也遵循这种架构是正常的,为了清洁,因此如果不需要,就不必使用它们。
您还会发现,许多内核在代码方面都被设计为与 CPU 无关,只要这是可能的。这是必要的编译时事情。例如,Linux 有一个arch/ 目录,其中包含特定于架构的代码,然后将其抽象到内核的其余部分,因此例如块存储层不需要为每个架构重新编写。例如,Windows NT 最初以 DEC Alpha 以及 x86 为目标。
【讨论】: