为啥 Windows NT 的微内核不直接与硬件交互

Posted

技术标签:

【中文标题】为啥 Windows NT 的微内核不直接与硬件交互【英文标题】:Why micro kernel of Windows NT doesn't directly interact with the hardware为什么 Windows NT 的微内核不直接与硬件交互 【发布时间】:2016-07-10 04:51:25 【问题描述】:

在微内核系统结构中,硬件不与微内核交互。 所以我想知道为什么Windows NT的微内核不直接与硬件层交互?

这是我在说的图表 Mico kernel System structure

【问题讨论】:

该图中的什么让您认为它不是? 没有任何图表我看到它与微内核交互。 不确定您在说什么其他any diagrams。如果您将其添加到您的问题中,它会有所帮助。在您发布的图表中,与硬件交互 的 NT 驱动程序位于标记为 micro kernel 的区域中的某处 - 尽管我应该指出这是一个非常粗略的草图,甚至称它为 micro-kernel 有待商榷。 感谢dxiv的回复,我说我不知道​​这方面的其他图表。这是我在课堂上给我的一个问题。我的先生从我在问题中添加的那张图片中提出了这个问题。 为什么会员投票这个问题不清楚或无用。这是我发现的问题 【参考方案1】:

一句话:可移植性

NT 微内核是根据 HAL(硬件抽象层)编写的,以便于移植到多个目标硬件架构。现在,在大多数情况下,HAL 是非常低级的,并且在可能的情况下编译为空(因此实际的微内核代码直接在硬件上运行)或最少的内联汇编代码。

【讨论】:

以上是关于为啥 Windows NT 的微内核不直接与硬件交互的主要内容,如果未能解决你的问题,请参考以下文章

windows NT内核是啥?

LinuxUnix和Windows NT体系结构的比较

windows NT 内核

本地系统服务例程:Nt和Zw系列函数

windows驱动开发问题

Windows内核基本结构