首页 > 解决方案 > 为什么说 Windows NT 内核是混合模型?

问题描述

根据 Wikipedia,Windows 内核是一种混合模型,这意味着它同时具有单片和微内核架构。

但是这两个定义是截然相反的:单体就是系统服务和核心功能都有一个共享的地方,微内核意味着没有一个共享的地方。

所以,我敢打赌,这意味着 windows 为某些共享空间,而对于其他系统服务和核心功能,它是分离的。

我正在尽力理解这一点,但这对我来说非常神秘,尽管我是一名专业的软件工程师。您是否有一个可能相关的示例,其中它是单片的并且它是微内核的?

和 Ubuntu 有什么相似之处,它与 Ubuntu 内核(据说是完全单片的)有多大不同?

标签: windowskernelmicrokernelmonolithic

解决方案


一般来说,微内核提供的服务很少,由内核本身提供,它们以内核模式执行,而单片内核则绝大多数服务器(尤其是驱动程序)以内核模式运行。

许多单体操作系统正在采用在用户级别运行它们的一些服务和驱动程序的方法,这就是他们所说的混合。他们可能会将网络驱动程序完全保留在内核中,但例如在用户级别运行 GPU 驱动程序。


推荐阅读