- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微内核操作系统及L4
微内核操作系统及L4 概述
杰夫
jliu71@
摘要:本文是对微内核操作系统及L4 的发展历程和主要功能的综述。本文还对微
内核操作系统的优缺点及发展前景发表评论。
关键词:微内核,操作系统,L4
Abstract: This paper describes the history of microkernel-based operating systems, and
the structure and main functions of L4. It also discusses the pros and cons of microkernel
systems and their prospect of actual deployments in the industry.
Keywords: microkernel, operating system, L4
1. Introduction
微内核(microkernel)并非是一个新的概念,这个名词至少在七十年代初就有了。一
般认为,他的发明权属于Hansen [Han70] 和Wulf [Wul74]. 但是在这一名词出现之
前已经有人使用类似的想法设计计算机操作系统了。
早期的操作系统绝大多数是 Monolithic Kernel, 意思是整个操作系统 - 包括
Scheduling (调度), File system (文件系统), Networking (网络), Device driver
(设备驱动程序), Memory management (存储管理), Paging (存储页面管理) –
都在内核中完成。一直到现在广泛应用的操作系统,如 UNIX ,Linux ,和
Windows 还大都是 monolithic kernel 操作系统。但随着操作系统变得越来越复杂
(现代操作系统的内核有一两百万行C 程序是很常见的事情),把所有这些功能
都放在内核中使设计难度迅速增加。
微内核是一个与Monolithic Kernel 相反的设计理念。它的目的是使内核缩到最小,
把所有可能的功能模块移出内核。理想情况下,内核中仅留下 Address Space
Support (地址空间支持),IPC (Inter-Process Communication ,进程间通讯) ,和
Scheduling (调度),其他功能模块做为用户进程运行。对于内核来说,他们和一
般用户进程并无区别。它们与其他用户进程之间的通讯通过IPC 进行。
在八十年代中期,微内核的概念开始变得非常热门。第一代微内核操作系统的代表
作品是 Mach [Mac85] 。Mach 是由位于痞子堡的卡内基梅隆大学(CMU )设计。
CMU 是美国计算机科学研究重镇,其计算机排名长期位于美国大学前五位。美国
只有少数几所大学的计算机是学院不是系,CMU 就是其中之一。除 Mach 外,
CMU 的另一重要成果是衡量计算机软件设计能力的 CMM (Capability Maturity
Model) 模型,广泛用于评估业界软件公司的计算机软件开发能力。好像印度的软
件公司们非常热衷于此,通过 CMM-5 最高规格评价的软件公司们有一半是印度
的。
在微内核刚兴起时,学术界普遍认为其优点是显而易见的:
• 支持更加模块化的设计;
• 小的内核更易于更新与维护,bug 会更少。大家知道 Windows 的死机很多
是因为device drivers 造成的。如果把他们移出内核,他们中的bugs 很可能
就不会造成死机;
• 许多模块的 bugs 可被封闭在其模块内,更加易于 debug 。软件工程师都知
道 kernel debug 是件非常头疼的事情。如果 file system , memory
management ,和 device drivers 成为一个个独立的进程,不用说这肯定会使
kernel engineers 的日子好过许多。
由于上述原
文档评论(0)