windows - 为什么说 Windows NT 内核是混合模型?
问题描述
根据 Wikipedia,Windows 内核是一种混合模型,这意味着它同时具有单片和微内核架构。
但是这两个定义是截然相反的:单体就是系统服务和核心功能都有一个共享的地方,微内核意味着没有一个共享的地方。
所以,我敢打赌,这意味着 windows 为某些共享空间,而对于其他系统服务和核心功能,它是分离的。
我正在尽力理解这一点,但这对我来说非常神秘,尽管我是一名专业的软件工程师。您是否有一个可能相关的示例,其中它是单片的并且它是微内核的?
和 Ubuntu 有什么相似之处,它与 Ubuntu 内核(据说是完全单片的)有多大不同?
解决方案
一般来说,微内核提供的服务很少,由内核本身提供,它们以内核模式执行,而单片内核则绝大多数服务器(尤其是驱动程序)以内核模式运行。
许多单体操作系统正在采用在用户级别运行它们的一些服务和驱动程序的方法,这就是他们所说的混合。他们可能会将网络驱动程序完全保留在内核中,但例如在用户级别运行 GPU 驱动程序。
推荐阅读
- powershell - 使用 send-mailmessage 使用 powershell 格式化电子邮件
- javascript - 将我自己的缓动函数添加到 javaScript 库 (Paper.js)
- php - 我想减去两个货币数字
- android-studio - 得到这个 java.lang.ArithmeticException: 除以零?
- racket - 按钮事件增加计数;如何在给定值处停止计数?
- java - 为什么 intelliJ 为其他模式中的同义词创建表?
- c - 强制多个管道按顺序输出其结果
- linux - Sed 错误 Github Actions 上没有此类文件或目录
- javascript - 将数组解构为对象的语法的含义是什么?
- javascript - Ajax 在 Laravel 中仅获得成功响应