微内核操作系统设计方法及其实例的比较

微内核操作系统设计方法及其实例的比较

ID:34449948

大小:1.27 MB

页数:6页

时间:2019-03-06

微内核操作系统设计方法及其实例的比较_第1页
微内核操作系统设计方法及其实例的比较_第2页
微内核操作系统设计方法及其实例的比较_第3页
微内核操作系统设计方法及其实例的比较_第4页
微内核操作系统设计方法及其实例的比较_第5页
资源描述:

《微内核操作系统设计方法及其实例的比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第20卷第2期沈阳工业大学学报Vol20No2总第78期JournalofShenyangSumNo.781998年4月PolytechnicUniversityApr.1998微内核操作系统设计方法及其实例的比较施嵘刘丽均(电子工程系)摘要微内核操作系统提供了并行计算机所需的功能和性能,是并行操作系统的发展方向讨论微内核操作系统的基本设计方法,并介绍几个典型实例:Amoeba,Mach,Chorus.关键词:操作系统;微内核;Amoeba;Mach;Chorus中图法分类号:TP310引言并行机操作系统主

2、要有两种设计方法:在主机化系统中,并行机由大量相同的处理机加上一个主机组成,主机可以是普通的工作站也可以是象CRAYYMP这样的专用主机通常主机上运行标准的操作系统如UNIX,其它结点上不运行任何操作系统应用程序和一个包括能做有限的进程和内存管理以及通信过程的运行库一起编译,应用程序运行在核心模式并接管整个机器大多数系统调用要先通过消息发送到主机上,在主机上执行完毕后再把结果送回来采用这种方法的并行机有CRAYT30,富士通的AP1000,ThinkingMachines的CM2能及Intel的iPSC/x等,而在

3、对称式系统中,每个结点都运行一个完整的操作系统,通常是UNIX由于每个结点上都有完整的操作系统,因而不需要专门的主机使用这种方法的并行机有MeikoCS2,ThinkingMachinesCM5以及IBM的SP2等这两种方法都存在着问题主机化模型仍源于最早的计算模式,那时计算机没有操作系统而只有运行库,在主机化系统中多个用户不能在保护方式下同时运行,而且由于缺少操作系统,也就不太可能实现虚拟内存;更重要的是由一个主机来处理所有系统调用会产生性能瓶颈和不可靠性对称式系统解决了这些问题,但同时也引入了新的问题:首先,

4、对并行应用而言UNIX过于庞大和低效,因为并非每个结点上都有磁盘、终端或其它I/O设备,在这样的结点上运行完整的UNIX无疑是极大的浪费;其次,在通常的操作系统(包括UNIX)中,通信并不是设计时所考虑的重点,而是后来移植过去的,因此它和操作系统的其它部分衔接得不好,通信的效率也不高1微内核解决上述问题的最好办法是在两种方法中采取某种折衷,设计一个即简单又能完成操作系统基本功能的操作系统设计的核心是一个能完成进程管理、内存管理、通信以及能提供最基本的I/O服务的微内核,其代码尽可能少并在并行机的每个结点运行,提供最基本

5、的功能,所有其它传统的操作系统服务如文件系统被转移到用户态中,它由服务进程提供,服本文收到日期:1996-11-02第一作者:男28博士生68沈阳工业大学学报第20卷务进程是对微内核的扩展,它只运行在需要提供这些服务的结点微内核操作系统已在Intelparagon,ConvexExemplar,UnisysSSP等并行机上实现,下面通过对比三个典型微内核系统进一步说明微内核操作系统及其设计重点11AmoebaAmoeba是从1981年开始由荷兰的Vrije大学设计实现的,它主要是为由大量处理机

6、组成的处理机池(processorpool)系统设计的整个系统由微内核和几个服务程序如文件服务等组成,每个进程可有多个控制线程,它们共享进程的地址空间和资源每个线程均有一个程序计数器,它们顺序执行是进程中的活跃实体和其它操作系统不同的是:Amoeba是完全基于对象的,每个对象都被命名并通过一个由128个二进制位组成的权限(capability)而受到保护当一个进程创建对象时,管理该对象的服务进程返回此对象的权限,权限规定了权限持有者对该对象所能执行的操作它也可以被分发给其它用户进程因此,可能有多个用户持有同一对象的

7、权限Amoeba主要被一些大学和公司用作研究并行系统、语言及应用的平台12MachMach的前身是Rochester大学的RIG,当RIG的设计者之一RichardRashid到了CarnegieMellon大学后,在RIG的基础上设计了新的操作系统ACCENT,之后这个系统演变成Mach起初它并不是一个微内核系统,其设计思想及大量代码都直接来自BERKELEY版的UNIX,直到发展到Mach25,并被OSF/1发展为OSF/1系统的基础随后CMU又将其升级到Mach30,该版本将BERKELEY代码移到用户空

8、间,从而使内核变得很小;而OSF也将OSF/1发展为OSF/1AD,它和Mach30在网络通信数据包、消息格式、内存管理以及支持实时性等方面均有所不同Mach基于5个基本概念:进程、线程、端口、消息和内存对象进程是统一管理的线程和资源集合;线程则是进程内的轻进程;端

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

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

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