基于微内核的操作系统综述

基于微内核的操作系统综述

ID:9235429

大小:139.86 KB

页数:4页

时间:2018-04-24

基于微内核的操作系统综述_第1页
基于微内核的操作系统综述_第2页
基于微内核的操作系统综述_第3页
基于微内核的操作系统综述_第4页
资源描述:

《基于微内核的操作系统综述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1997年8月计算机工程与科学第19卷第3期Aug.1997COMPUTERENGINEERING&SCIENCEVol.19No.3基于微内核的操作系统综述AnOverviewofMicrokernel-BasedOperatingSystems付长冬孟庆余潘清FuChangdongMengQingyuandPanQing(国防科工委指挥技术学院)(中软总公司)(InstituteofCommandandTechnology)(CS&S)摘要当今操作系统发展方向是在微内核上实现特征操作系统,如Unix、OS/2。基于微内核的操作系统能够解决传统操作系统存在的许多问题。本文

2、详细介绍在微内核Mach3.0上实现Unix操作系统的各种方案,并分析了各种方案的优缺点及其发展趋势。ABSTRACTThecurrentdirectionofoperatingsystemdevelopmentisimplementpersonalityoperatingsystemonmicrokernel,suchasUnixandOS/2.Microkernel-basedoperatingsystemscansolvemanyproblemsthatexistintraditionaloperatingsys-tems.Thispapergivesoutindeta

3、ilthevariousdesignsfortheUnixoperatingsystemtobeimplementedonMach3.0.Inaddition,theadvantagesanddisadvantagesofthede-signsandtheirdevelopmenttrendsareanalysed.关键词微内核,特征操作系统,In-kernel方式,多服务器结构。KEYWORDSmeicrokernel,presonalityOS,In-kernelmode,multiserverstruc-ture.由于特征操作系统以服务器形式在用户空间实现,而微内核完全

4、不知原操作系统(如unix)的语义,如何将应用程序、操作系统服务器、微内核有机在联系起来,向应用程序提供原操作系统特征和功能是实现的关键。由于微内核是基于消息传递机制的,因而如何提高OS服务器的效率是必须考虑的问题。微内核内实现的新概念如线程,新机制如写时拷贝(COW)等,原操作系统没有相应的语义,因而实现时必须考虑微内核与原操作系统语义上的差异。例如微内核的调度单位是线程,而UNIX操作系统的调度单位是收稿日期:1997年1月7日。作者简介:付长冬,男,1971年12月生,硕士生,研究方向微内核操作系统;孟庆余,教授,从事实时OS、分布式OS等方面研究;潘清,副教授,从事

5、分布式计算、多机OS、实时OS和算法研究。通讯地址:101407北京怀柔3380-56#研究生队。Address:PostgraduateBrigade,P.O.Box3380-56#,Huairou,Beijing101407,P.R.China72进程,因而在微内核上实现UNIX特征操作系统时可将一个任务+一个线程作为该操作系统的一个进程。如何利用原操作系统代码尽可能少地改动在微内核上实现特征操作系统也是研究的方向。另外在微内核上实现多特征操作系统并行是最近研究的热点。一、模拟库+服务器方式CMU利用模拟库+服务器方式首先在微内核操作系统Mach3.0上实现了unix(B

6、SD4.3)操作系统。SPRITE,OS/2和VMS也相继利用此方式实现了基于微内核的操作系统。此方式的特点是在用户空间用模拟库和unix服务器共同完成unix所有的核心功能。体系结构如图1所示。此方案第一个需要解决的问题是如何完成所有的unix系统调用。Mach3.0提供了系统调用重定向机制,它将unix系统调用的模拟系统调用设置至核心的重定向表中,而这些模拟系统调用入口在用户态的模拟库中,将指定的unix系统调用放到用户态处理,由模拟库和unix服务器完成。如图1所示,应用程序的unix系统调用通过trap指令陷入Mach核心(1),Mach核图1操作系统实现结构图一心检

7、查重定向表中的陷入号,如果不是Mach系统调用,保持机器状态,返回指定的模拟库模拟函数入口(2)。(3)、(4)指模拟库与unix服务器共同完成unix系统调用功能。最后从模拟库返回应用程序,恢复状态(5)。所有的unix系统调用都可以这样模拟的。但考虑到系统的效率,有一些系统调用能够在模拟库中单独完成,就不需要服务器的服务。模拟库(emulator)是所有模拟函数的入口,Mach核心根据重定向表将unix系统调用重定向至模拟库,它是用户程序的唯一界面,实际上是个共享库,所有的进程都共享它。模拟库与服务

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。