操作系统设计课件_第1页
操作系统设计课件_第2页
操作系统设计课件_第3页
操作系统设计课件_第4页
操作系统设计课件_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统设计7.1操作系统设计目标1、正确性困难:并发性、共享性、随机性(中断)

2、高效性多道程序设计的目标是提高资源利用率,但系统开销加大Tu:运行目态程序所用的时间Tsu:运行管态程序为用户服务所用的时间Tsm:运行管态程序做系统管理工作所用的时间系统运行效率:=(Tu+Tsu)/(Tu+Tsu+Tsm)3、易维护易读性易扩充性易修改性易裁减性4、易移植性7.2操作系统基本内核和体系结构7.2.1内核的基本组成中断处理进程调度同步机制同步原语模块中断处理模块进程调度模块基本内核组成及联系7.2.2操作系统体系结构1、主动模块和被动模块主动模块(进程模块):可以获得处理机而运行被动模块(普通模块):没有获得处理机的资格,但可以被主动模块所调用管理资源2、相互作用(1)主动模块与主动模块间的相互作用*直接相互作用:消息传递*间接相互作用:主动模块调用被动模块,被动模块存取共享变量主动模块主动模块主动模块与主动模块之间的相互作用信件或消息(a)直接相互作用主动模块主动模块被动模块共享变量(b)间接相互作用(2)主动模块与被动模块间的相互作用主动模块可以调用被动模块被动模块不能调用主动模块被动模块被动模块被动模块主动模块与被动模块之间的相互作用主动模块......主动模块主动模块......(3)被动模块与被动模块间的相互作用主动模块调用被动模块被动模块又调用另一个被动模块3、基于共享变量的结构操作系统由一组普通模块和一组进程模块组成。普通模块位于系统的下层,进程模块位于系统的上层。进程模块之间主要通过调用普通模块,后者访问共享变量发生间接相互作用。优点:运行效率高缺点:不适合于分布式系统主动模块主动模块被动模块被动模块…...…...主动模块被动模块…...被动模块被动模块…...…...被动模块…...…...…...…...共享变量4、基于消息传递的结构操作系统由内核及一组进程模块构成,进程与进程之间的相互作用采用消息通信或信件通信方式实现。优点:系统清晰,灵活性好适合分布式系统和非分布式系统缺点:进程之间的转接带来较大的系统开销主动模块主动模块主动模块主动模块…...…...主动模块主动模块…...主动模块主动模块…...…...主动模块…...…...…...…...高级通信原语基本内核7.3操作系统的结构设计设计一个操作系统:功能设计算法设计结构设计

结构设计:按照系统的功能和特性要求,选择合适的结构,使用相应的结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简单、可靠、易读、易修改,而且使用方便,适应性强程序结构软件结构操作系统的结构:整体式结构层次式结构进程分层结构虚拟机结构层次管程结构客户-服务器结构1、整体式结构

模块接口法,无序模块法,模块组合法首先确定操作系统的总体功能,然后将总功能分解为若干个子功能,实现每个子功能的称为模块。继续分解,直至每个模块仅包含单一功能为止。最后通过接口将所有模块连接起来形成一个整体。模块3模块2模块7模块1模块6模块5模块8模块4特点:根据功能划分模块数据基本上作为全局量使用在系统内部,不同模块之间可以不加控制地互相调用和转移信息的传递方式可以根据需要随意约定,因而可能会造成模块间的循环调用优点:结构紧密接口简单直接模块之间转接的灵活性使系统效率高缺点:由于模块之间可以任意相互调用,形成网络,各模块互相联系,独立性差,系统结构不清晰数据作为全局量处理,系统内各模块均可对其进行存取和修改,造成模块间更为隐蔽的关系。使得难于对软件结构作出综合性理解,难于修改,可靠性、易读性、适应性难以保证

由于模块接口法常以大型表格为中心,为保证数据完整性,往往采用全局封中断的方法,从而限制了系统的并发性。

结论:可适应性较差,适用于规模较小、使用环境比较稳定却要求效率较高的系统主过程服务过程公用过程整体式操作系统的简单结构模型2、层次式结构按此模型构造的第一个操作系统是E.W.Dijkstra和他的学生在荷兰开发的THE系统(1968年)该系统分为六层:层次 功能

5 操作员

4 用户程序

3 输入/输出管理

2 操作员-进程通信

1 内存和磁盘管理

0 处理器分配和多道程序 3、进程分层结构采用进程概念后,把含有并发活动的系统划分为若干异步运行的、与时间无关的顺序程序模块。操作系统的任务就是协调这些异步运行的进程,使它们能够协调工作。

进程分层结构是把系统中所有的进程模块按照一定的原则排列在若干层上,并且要求这些层之间是一种单向依赖关系。系统有一个核心和位于各层上的若干进程组成。

优点:进程模块的独立性强、易维护、易调整,整个系统结构清晰、形式整齐划一。

缺点:由于系统中所有进程的控制转移、通讯等任务全部交给系统的核心去管理,要花费一定的代价。主要有:

1、每一个进程必须设立进程控制块,用以保留进程的状态信息,增加了内存开销;

2、进程之间的控制转移、状态保留及信息传送,均由核心管理,时间消耗多,效率下降;

3、系统并发活动过多,调度负担过重,且同步操作过于分散,易于造成死锁,影响了系统的安全性。4、虚拟机结构系统调用陷入陷入I/O指令CMSCMSCMS370虚拟机VM/370370裸机虚拟机思想的应用:在奔腾CPU上运行老的MS-DOS程序。Intel在奔腾芯片上提供了一个虚拟8086模式,在此模式下,奔腾机就像一台8086计算机一样,包括1M字节内的16位寻址方式。

虚拟8086模式被Windows、OS/2及其他操作系统用于运行MS-DOS程序。程序在虚拟8086模式下启动,执行一般的指令时它们在裸机上运行。但是,当一个程序试图陷入系统来执行一条系统调用时,或者试图执行受保护的I/O操作时,将发生一条虚拟机监控程序的陷入两种设计方法:第一种:MS-DOS本身被装入虚拟8086模式的地址空间,虚拟机仅仅将该陷入传回给DOS第二种:虚拟机监控程序仅仅捕获第一条陷入并自己执行I/O操作。5、层次管程结构为了控制并发程序设计的复杂性,使并发程序易于理解和易于保证其正确性,人们在吸取模块组合结构和进程分层结构优点的基础上,不断寻求一种抽象的概念和严格的表示法,从而发展了以数据为中心的模块概念和操作系统的层次管程结构。管程的提出采用PV同步机制来编写并发程序,对于共享变量及信号量变量的操作将被分散于各个进程当中。其缺点是(1)易读性差,因为要了解对于一组共享变量及信号量的操作是否正确,则必须通读整个系统或者并发程序(2)不利于修改和维护,因为程序的局部性很差,所以任一组变量或一段代码的修改都可能影响全局;(3)正确性难以保证,因为操作系统或并发程序通常很大,要保证这样一个复杂的系统没有逻辑错误是很难的。管程:一种同步机制

(管程-类程-进程)管程定义:指关于共享资源的数据及在其上操作的一组过程或共享数据结构及其规定的所有操作

系统按资源管理的观点分解成若干模块,用数据表示抽象系统资源,同时分析了共享资源和专用资源在管理上的差别,按不同的管理方式定义模块的类型和结构,使同步操作相对集中,从而增加了模块的相对独立性。

从功能和实现相结合的观点出发,从系统中提炼出管程、类程、一般模块和进程等几种基本成分,使一个复杂的系统可分解为由这几种基本成分构成的模型。同时,在分解和提炼这些模块的基础上,将它们按照一定的准则编入各层,包括核心在内。核心是最内层,可看成是管理中央处理机的一个专门管程。最外层是反映系统并发度的若干管程、类程和一般模块。我们称操作系统的这种结构为层次管程结构,这种结构设计方法为PCM方法。层次管程结构的优点是:(1)结构清晰统一(2)同步操作相对集中,增加了系统的安全性(3)用高级语言书写程序,可以缩短系统的研制周期,利用编译时的检查取代硬件保护机构,不仅更加灵活,而且降低了运行时检查的开销(4)由于只有进程是系统中并发执行的单位,因此可以按照系统要求的并发度来设置进程。由于去掉了不必要的平行性,从而减少了系统开销

层次管程结构的局限性主要有两点:第一,由于管程概念的一个重要特征是保证模块内数据的完整性,因而,为了保证每一个管程所管理的数据的完整性,可以采用局部互斥技术,或用缩小临界区的办法。但在解决任意管程嵌套调用问题时,仅是局部互斥就难于实现了,就要根据具体情况,或者采用全局互斥,或者采用限制嵌套类型与重数等策略,这些都限制了使用范围。

第二,虽然资源管理的局部化增加了模块的独立性和系统的安全性,但对全局性资源,或者同时涉及多个资源的管理时就不方便了,这也是引起管程嵌套调用的一个因素。管程:记录、协调各进程对临界资源的使用要求,供进程实现同步与互斥,并完成对共享变量的修改类程:指一个专用(独占)的数据结构,以及在此数据结构上定义的所有操作进程:执行单位,实现系统中并发工作的基本成分建立于进程、类程、管程基础上的系统结构模式是从各进程出发,对类程和管程的一系列嵌套调用,直到系统核心。PPPMMCC6、客户-服务器结构微内核现代操作系统的一个趋势,将传统操作系统的大部分代码分离出来放在更高的层次上。即从操作系统中去掉尽可能多的东西,而只留一个最小的核心通常的实现方法是将大多数操作系统功能由用户进程来实现核心的全部工作是处理客户与服务器间的通信。操作系统被分割成许多部分,每一部分只处理一方面的功能,如文件服务、进程服务、终端服务或存储器服务

在微内核之上建有应用运行环境的服务器(WorkspaceOS称之为个性服务器,WindowsNT称之为保护子系统),微内核操作系统可以提供多种OS运行环境微内核结构的设计目标:为构造其他操作系统提供基础支持大而稀疏的空间能透明地使用网络资源在系统一级和应用一级均可拓展并行性高度的可移植性途径:1、把传统意义上属于操作系统的代码由低层移向高层,由核心移向用户,要增加新功能仅需加结点2、消息传送机制

Client/ServerClient模块:采集数据,进行完整性检查,将服务要求通过消息传送给命名的模块Service模块:从Client端接受数据和要求,进行处理,返回处理结果

Server:命名的Service集合对分布式、网络式系统很适应

特点:每一部分变得很小,更易于管理。而且,由于所有服务器以用户进程的形式运行,而不是运行在核心态,所以它们不直接访问硬件。这样处理的结果是:假如在文件服务器中发生错误,文件服务器可能崩溃,但不会导致整个系统的崩溃

客户一服务器模型的另一个优点是它适用于分布式系统,如果一个客户通过消息传递与服务器通信,客户无需知道这条消息是在本机处理还是通过网络送给远程机器上的服务器

优点:易于扩充,易于移植提高系统的可靠性提供多种操作环境适宜于分布计算模式有助于多处理器系统的实现支持实时任务

缺点:消息传递方式增加开销,使响应变慢几个商品化系统:NextStepXINU,OSF/11.3,WorkspaceOS,Chorus/MixV.4MacG3,WindowsNT,QNX,CTOS应用程序微内核操作系统DOS服务器UNI服务器VMS服务器OS/2服务器基于微内核的开放式系统环境系统程序接口(SPI)应用程序接口(API)客户进程客户进程

进程服务器

终端服务器

文件服务器

内存服务器

。。。核心客户向服务器进程发送消息,以获得服务客户服务器模型客户向服务器发送消息,以获得服务一个分布式系统中的客户服务器模型机器1客户核心机器2文件服务器核心机器3进程服务器核心机器4终端服务器核心功能:管理下列抽象资源进程、线程、存储对象、端口、消息进程:一个被动成分,是可以发生一次执行的基本环境,包括一个可编址的空间,几个线程;是分配资源的基本单位,进程中可以拥有一些活动成分线程:系统中可以执行的实体,每个线程有一个程序指针及若干个与之相关的寄存器,是进程的一部分存储对象:是一个可映射到进程编址空间的数据结构,一个对象可以是拥有若干页面的页框;进程运行时可能由于一个存储对象不在而缺页,此时由核心向服务器发消息,要求服务端口:受保护的信箱,附加了权限。端口在核心中,可由进程创建,由进程拥有;处理消息的排队;创建端口的进程可授权其他进程使用端口;一个进程可以有几个端口,用于与核心通信进程管理:进程是微内核管理的资源之一,其功能是管理进程和线程,以及对线程进行调度进程:微内核中进程是被动的,为线程提供活动舞台由编址空间、一组线程、多个端口和其他成分组成

进程端口用来提供进程和核心的通信(系统调用在微内核中仍保留,单数目下降),进程通过端口与核心联络初始端口用于进程初始化例外端口用于向进程报错寄存器端口共进程与系统的标准Server通信在微内核中端口是受保护的信箱,是单向的,若要应答,需要两个端口

其他:挂起的指针,独立于线程的状态(两种状态:可执行态,挂起态);若处于可执行态,它的处于可执行态的线程可被调度和执行;进程处于阻塞态,它的线程均不可执行;调度参数主要指示此进程可在那些处理机上执行(分布式系统);优先数,在进程创建线程时赋予线程;仿真地址是用于向核心指示进程空间中放仿真的地址,有的进程就是用于仿真一定的操作系统的;统计部件用于统计各部件的利用率等线程:微内核中的活动实体,一个线程只属于一个进程,线程共享进程的地址空间和进程的资源线程本身也有其私有资源,如端口,亦可动态创建端口线程由核心管理,可并行;在单CPU中,往往采用分时方式,在多CPU中,有几个线程可以同时运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论