操作系统的结构设计._第1页
操作系统的结构设计._第2页
操作系统的结构设计._第3页
操作系统的结构设计._第4页
操作系统的结构设计._第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、主要内容:主要内容:n操作系统的构件和结构操作系统的构件和结构 n整体式结构的操作系统整体式结构的操作系统 n层次式结构的操作系统层次式结构的操作系统 n操作系统的运行模型操作系统的运行模型 nWindows 2003的客户的客户/服务器结构服务器结构 1.操作系统结构设计概况操作系统设计呈现出以下特征: 一是复杂程度高, 二是生成周期长, 三是正确性难保证 。 例如,CTSS约有32000行程序;IBM OS/360超过百万条机器指令,共有4000个模块组成,花费5000人年;Multics 达到千万条机器指令;Windows 2000 超过3200万行语句,有2500个主要开发人员参与开发

2、。 一个操作系统即使开发完成,仍然是无生命的,必须开发该系统下运行的大量的应用程序;待应用程序开发问世后,用户还必须通过文件、培训及实践去学会操作和使用。这意味着用户拥有并使用的是10年或20年前的操作系统技术。而计算机硬件却在不断地更新换代,刚刚开发完成的操作系统又需要升级。 2.操作系统结构设计有三层含义 一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法; 二是研究操作系统程序的局部结构,包括数据结构和控制结构。 三是操作系统运行时的组织,如系统是组织成进程还是线程,在系统空间还是用户空间运行等。采用不同的构件和构造方法可组成不同结构的操作系统。 操作系统的构件

3、操作系统的构件-通常把组成操作系统程序的基本单位称作操作系统的构件。操作系统的构件。 操作系统的构件主要有:内核、进程、线程、类程、管程等。 1.内核内核 (1)概念 内核是一组程序模块,作为可信软件来支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于核心态,具有访问硬件设备和所有主存空间的权限,是仅有的能执行特权指令的程序。(2)内核的分类 可分为微内核微内核和单内核两种类型单内核两种类型。 n微内核微内核:内核很小,仅具有极少的必须功能,其它内核很小,仅具有极少的必须功能,其它功能都在核外实现功能都在核外实现。通过微内核提供的消息传递机通过微内核提供的消息传递机制完成其余功能

4、模块间的联系制完成其余功能模块间的联系。内核和核外服务程序的开发是分离的。n单内核单内核:内核具有较多的功能,运行时是一个大的二进制映像,模块间的联系通过函数或过程调用实现。 nLinux是单内核操作系统,Mach是微内核操作系统。 单内核:内核的内部可以化分为层次或者模块,单运行的时候是一个大二进制映象,模块之间的交互是通过直接调用其他模块中的函数来实现。 Unix/Linux是单内核操作系统,操作系统的整体式结构整体式结构又叫模块组合法模块组合法,是基于结构化程序设计的一种软件结构设计方法。早期操作系统(如IBM操作系统)采用这种结构设计方法。单内核操作系统有两种基本结构:整体式结构和层次

5、式结构。(a)整体式结构 操作系统的整体式结构整体式结构又叫模块组合法模块组合法,是基于结构化程序设计的一种软件结构设计方法。早期操作系统(如IBM操作系统)采用这种结构设计方法。 1.主要设计思想和步骤 把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块(还可再分成子模块),每个模块具有一定独立功能,若干个关联模块协作完成某个功能。明确各个模块之间的接口关系,各个模块间可以不加控制,自由调用;然后,分别设计、编码、调试各个模块。最后,把所有模块连结成一个完整的系统。 2.主要优点和缺点 主要优点:结构紧密、组合方便,对不同环境和用户的不同需求,可以组

6、合不同模块来满足,灵活性大;针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,系统效率较高;设计及编码可齐头并进,加快操作系统研制过程。 主要缺点:模块独立性差,模块之间牵连甚多,形成复杂的调用关系,甚至循环调用,造成系统结构不清晰,正确性难保证,系统功能的增、删、改十分困难。 n Linux仍然使用整体式结构。仍然使用整体式结构。(b)层次式结构 层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。这样不但系统结构清晰,而且不构成循环调用

7、。 层次结构的优缺点分析 层次结构的优点:整体问题局部化,整个系统中的接口比较少;系统的正确性可通过各层正确性来保证;增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充。层次结构的缺点:层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低。 2 微内核n 操作系统仅将所有应用必需的核心功能放入内核,其他功能都在内核之外,由处在用户态运行的服务进程实现,通过微内核提供的消息处理机制完成进程之间的通信。n P38, 图1.10n 微内核的实现思想: 操作系统分为两部分,一是运行在核心态的内核,它提供系统的基本功能;二是运行在用户态并

8、以客户服务器方式运行的进程层。 操作系统内核之外的其他部分由相对独立的若干进程来实现,每一个进程完成一组服务,故称服务器进程。 服务器进程和用户进程都运行在进程层 用户进程和服务器进程之间采用消息传递机制进行通信,形成客户服务器关系。微内核结构的优点: 对进程的请求提供一致性接口,不必区分内核级服务和用户级服务,所有服务均借助消息传递机制提供; 具有较好的可扩充性和易修改性,增加新服务或者替换老功能只需要更换服务器(进程); 可移植性好,与特定CPU有关的代码均在微内核中,把系统移植到新平台所做的修改较小; 对分布式系统提供有力支撑。微内核结构的缺点: 运行效率低,因为进程之间必须通过内核的通

9、信机制才能进行通信。n 操作系统的一个基本问题是内核的功能和结构设计,总体的趋势是:内核应当运行在具有特权的内核应当运行在具有特权的核心态,常驻内存,尽可能地小,仅确保操作系核心态,常驻内存,尽可能地小,仅确保操作系统正确、有效运转所必备的功能。统正确、有效运转所必备的功能。 内核很小,可以被精心分析和设计成准确按意图执行的软件,称为可信软件。 可信软件是最小化的操作系统功能集,提供支撑平台,操作系统的其他服务可以由平台上运行的其他服务器进程实现。 这种方法把内核跟其外部的服务程序的开发分离,具有较好的可伸缩性和灵活性,适合构造分布式系统。(3)(3)内核的功能内核的功能 内核必须提供以下三方

10、面功能: 1)资源抽象2)资源分配3)资源共享Linux操作系统内核组成:(4)内核执行的属性内核执行的属性内核的执行有以下属性: 1)内核是由中断驱动的。只有当发生中断事件后由硬件交换程序状态字才引出操作系统的内核进行中断处理,且在处理完中断事件后内核自行退出。2)内核的执行是连续的。在内核执行期间不能插入内核以外的程序执行。3)内核在屏蔽中断状态下执行。在处理某个中断时,为避免中断的嵌套可能引起的错误,必须屏蔽该级中断。4)内核可以使用特权指令。现代计算机都提供常态和特态等多种机器工作状态,有一类指令称为特权指令,只允许在特态下使用,规定这类指令只允许内核使用,可防止系统出现混乱。 n内核

11、是操作系统对裸机的第一次改造,内核和裸机组内核是操作系统对裸机的第一次改造,内核和裸机组成多台虚拟机,具有以下一些特性。成多台虚拟机,具有以下一些特性。 1)虚拟机没有中断,进程设计者不再需要有硬件中断的概念,用户进程执行中无需处理中断。2)为每个进程提供了一台虚拟机,每个进程就好象在各自的私有处理器上顺序的推进,实现了多个进程的并发执行。3)为进程提供了功能强大的指令系统,它们能够使用机器的非特权指令和系统调用组成的新的指令系统。 n机制与策略分离:P40 2.2.进程进程 进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计。 进程概念使OS结构变得清晰,主要表现在: 1)一个进程

12、到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。2)进程间的信号发送、消息传递和同步互斥由通信及同步机制完成,进程无法有意或无意破坏其它进程的数据。每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。 3)进程结构较好刻画了系统的并发性,动态地描述出系统的执行过程,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。 理解进程概念的关键:理解进程概念的关键: 一个程序,一旦开始运行就成为一个进程;每一个程序从运行到结束,对应一个进程。同一个进程在不同阶段,可能对应的不同的程序代码段的执行。进程和程序是两个概念,本质上不同,而且也没有一一对应的关系。3.3.线程线程

13、 早期,进程是操作系统中资源分配以及系统调度的基本单位。由于每个进程拥有自己独立的存储空间和运行环境,进程与进程之间的通信和切换开销相当大,限制了系统中并发执行的进程数目。于是,多线程(结构)进程(也叫多线程)开始流行。 在一个多线程环境中,进程是系统进行保护和资源分配的单位,而线程则是进程中一条执行路径,每个进程中允许有多个线程,线程才是系统进行调度的独立单位。 在一个进程中包含有多个可并发执行的控制流,而不是把多个在一个进程中包含有多个可并发执行的控制流,而不是把多个控制流一一分散在多个进程中,这是并发多线程程序设计与并控制流一一分散在多个进程中,这是并发多线程程序设计与并发多进程程序设计

14、的主要不同之处。发多进程程序设计的主要不同之处。 4.4.管程管程 管程是管理共享资源的程序(一种同步机制),对管程的调用表示对共享资源的请求与释放。管程可以被多个进程或管程嵌套调用,但它们只能互斥地访问管程。管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止。由于管程的引入,使得原来分散在进程中的临界区集中了起来统一控制和管理。 5.5.类程类程 类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程。类程可以看作子程序概

15、念的扩充。 采用进程、管程、类程实现的操作系统中,进程执行过程中若请求使用共享资源,可以调用管程;若要控制私有资源操作,可以调用类程,这样便于使用高级语言来书写操作系统。 操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢? 从操作系统的运行方式来看,可分成:独立运行的内核模型、在应用进程内执行的模型和作为独立进程运行的模型。 注意:实际上,这里讨论的注意:实际上,这里讨论的1.独立运行的内核模型独立运行的内核模型 n早期操作系统的实现方式,系统的执行与应用进程不存在关联n内核具有独立的存储空间,也可以访问应用进程的空

16、间。n在这种模式下,进程的概念仅仅是针对用户程序而言,操作系统代码作为一个独立实体在内核模式下运行。n内核函数不可以并发执行。操作系统内核操作系统内核P P1 1P P2 2P Pn n核心:操作系统程序只能一次运行到完毕,不可以被中断(暂核心:操作系统程序只能一次运行到完毕,不可以被中断(暂停)。停)。2. 在应用进程内执行的模型在应用进程内执行的模型 为提高内核函数的并发行,在创建应用进程时,同时为其分配一个核心栈,用于运行操作系统的内核函数,形成操作系统在应用进程内执行的方式。进程切换函数进程切换函数内核内核函数函数内核内核函数函数内核内核函数函数P P1 1P P2 2P Pn nOS

17、功能在用户进程内执行的模型功能在用户进程内执行的模型用户态核心态大部分的操作系统功能组织成一组内核函数供应用程序调用,操作系统的地址空间位于共享地址空间中,不与应用程序的地址空间重叠,但被所有的应用进程共享。当发生一次中断或系统调用后,处理器状态将从用户态切换到核心态,控制权被传递给操作系统;此时,发生了模式切换,模式上下文(现场)信息被保存,但是进程上下文切换并没有发生,操作系统仍在该用户进程中执行。当操作系统的内核函数完成工作后,如果让当前进程继续运行,执行一次模式切换恢复执行原来被中断的用户进程。如果应该发生进程切换,控制权就被传递给操作系统的进程切换函数,实现进程切换,指派另一个就绪进

18、程来占有处理器运行。 核心:每一次中断时,操作系统的一个模块程序被执行,然核心:每一次中断时,操作系统的一个模块程序被执行,然而这个执行过程依然从属于用户进程的执行过程。而这个执行过程依然从属于用户进程的执行过程。3.OS功能功能(函数函数)作为独立进程执行的模型作为独立进程执行的模型 OS功能(函数)作为进程执行的模型把操作系统组织成一组系把操作系统组织成一组系统进程,即操作系统功能是这些系统进程集合运行的结果,统进程,即操作系统功能是这些系统进程集合运行的结果,这些系统进程也称为服务器或服务器进程这些系统进程也称为服务器或服务器进程,于是与用户进程或其他服务器进程之间构成了客户/服务器关系。Windows 2000/ XP采用了这种结构。 微内核(进程切换函数)微内核(进程切换函数)P P1 1P P2 2P Pn nOSOS1 1OSOS2 2OSOSm mOS功能作为独立进程执行的模型功能作为独立

温馨提示

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

评论

0/150

提交评论