查看“Monolithic Kernel”的源代码
←
Monolithic Kernel
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Template:Kernel designs}} == 设计 == {|align="right" |[[Image:Monolithic.png|frame|right|单内核基本概览。]] |} 单内核(monolithic kernel)在其内核中包含其所有 (或至少大部分) 服务。(译者注:觉得单内核其实翻译为“整体内核”更好,其实强调了所有内核服务在一个上下文中运行) 这减少了所涉及的上下文切换和消息传递的数量,使得这个做法比 [[Microkernel|微内核]] 更快。 不利的一面是,内核空间中运行的代码庞杂使内核更容易出现致命的错误。 “monolithic” 一词本身是指一块比如像石器 (lithic指石器制作) 中的整体一块 (mono),但是当应用于内核时,确切的含义更为笼统。 大多数人 {{who}} 认为,无论部件是动态加载的 “内核模块” 还是一切都是真正的单个不可更改的二进制文件,设备驱动程序和服务作为内核的整体运行的内核都属于是单内核。 因此,可以在 “monolithic” 和 “pure monolithic” 之间再做一种区分。 Linux的现代版本是单内核中众所周知的例子-尽管驱动程序作为动态加载的 “内核模块” 封装传递,它们仍被加载到内核空间中并在内核空间中运行。 单内核对于80x86/PC架构很常见。 对于80x86/PC体系结构,“pure monolithic” 内核的实例很少见 (但在嵌入式系统中更常见)。 这是因为现代PC中可能存在各种各样的设备,硬件和CPU功能 - 在使用之前,如果是pure monolithic内核会太大或得专门为计算机进行编译。 一般来说,大多数操作系统不是 “pure monolithic” 或 “pure micro-kernel”,而是介于这些极端之间,以便利用这两种方法的优势。 == 例子 == *Linux *MSDOS, including Windows 9x (95, 98, Me) *Mac OS <= 8.6 *Most BSDs *[[Xv6]] [[Category:Kernel]]
本页使用的模板:
模板:If
(
查看源代码
)
模板:Kernel designs
(
查看源代码
)
模板:Show1
(
查看源代码
)
模板:SmallNavBox
(
查看源代码
)
模板:Who
(
查看源代码
)
返回至“
Monolithic Kernel
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息