将设备功能保留在设备控制器内而不是OS内核中.什么是后果



我的一个朋友在班上问我这个问题,我无法回答。他问:

由于我们知道内核通过设备驱动程序控制物理硬件。如果所有这些功能都保留在设备控制器本身内,而不是内核管理它们。这种情况会带来什么后果?是好是坏?

我在线搜索了这个问题,但无法获得有关此情况的信息。可能我不是在正确的关键字中谷歌搜索。

您深入了解这将有助于我清除自己的概念。

请回答。

谢谢。

您的问题似乎是通过"保持" "控制设备硬件...在设备控制器内部的物理硬件...>。这样的前提似乎是:

内核通过设备驱动程序控制物理硬件。

对设备驱动程序的描述与最终用户理解的看来相似,而不是从开发人员的角度来看。最终用户意识到设备,是设备驱动程序进行抽象,并可以将该设备控制到每个设备端口的特定控制位。

但是设备驱动程序负责平凡的家政任务,例如:

  • 保持设备状态和可用性;
  • 配置用于操作的设备;
  • 管理数据流,设置/拆除数据传输,复制用户空间和内核空间之间的数据;
  • 处理中断和例外。

这些任务是设备驱动程序不可或缺的。这些任务不能从内核驱动程序的权限转移到外围设备。

有时设备驱动程序只能尝试管理设备,而不是完全控制它,例如,在数据包洪水期间,NIC驱动程序。

无论多少"所有这些功能都保留在设备控制器本身内" ,您根本不可能消除设备驱动程序。并且仍然会有从设备驱动程序到外围发出的控制指令/命令。

所讨论的硬件设备应为计算机外围设备设备,而不是自动机器人设备。该设备应设计为用计算机使用进行操作。处理器和设备之间的任何接口都应该适合任务。如果使外围设备更加"智能",那么也许CPU可以不承担,并且高级命令界面可以替换低级子操作指令。但是只能将"某些"功能传输到外围,而不是"全部"。

相关内容

  • 没有找到相关文章

最新更新