【问题标题】:When do we require device drivers [closed]我们什么时候需要设备驱动程序[关闭]
【发布时间】:2012-10-31 06:22:49
【问题描述】:

我注意到寄存器、主存和缓存不需要设备驱动程序,而磁盘需要设备驱动程序,谁能解释一下原因?

【问题讨论】:

    标签: memory operating-system device-driver disk


    【解决方案1】:

    您还会发现操作系统也包含一些知识,例如如何驱动 VGA。操作 CPU 是在给定系统上实际运行的基础,因此操作系统必须知道这一点。其他一些功能也是必不可少的,并且操作系统包含访问这些功能的“内置”能力。

    但是,某些功能是可选的。操作系统开发人员没有让开发人员选择“嵌入”或“强硬”——或者更糟糕的是,交付所有嵌入的驱动程序并使操作系统变得庞大,操作系统开发人员构建了一种加载任意驱动程序的抽象方式,通常匹配某些类型的子系统如 USB 或磁盘。这意味着任何人都可以添加功能。通常,对于自己的内置驱动程序也遵循这种架构是正常的,为了清洁,因此如果不需要,就不必使用它们。

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

    【讨论】:

    • 这并不是说“核心”系统组件的辅助功能不存在驱动程序。很好的例子是 CPU 电源和热管理的驱动程序。
    • @Marko 是的。它只是抽象,每次您想替换任意功能时都会使用它们 - 即 Windows 所谓的硬件抽象层。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2018-01-21
    • 2020-10-30
    • 1970-01-01
    相关资源
    最近更新 更多