操作系统结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 一个用来调用被请求服务例程的主程 序。
(2) 一套执行系统调用的服务例程。 (3) 一套支持服务例程的实用过程。
模块接口结构缺点。
没有一个清晰的结构 系统正确性难以保证 系统维护不便利
9.3.2 层次式结构
Hale Waihona Puke Baidu
层次结构可以有全序和半序之分。如果各层之 间是单向依赖的,并且每层中的诸模块(或进 程)之间也保持独立,没有联系,则这种层次 结构被称为是全序的,如图9-5(a)所示。如 果各层之间是单向依赖的,但在某些层内允许 有相互调用或通信的关系,则这种层次结构为 半序的,如图9-6(b)的第二层所示。
(4) 内核可以使用特权指令,现代计算机都提供常态和 特态等多种机器工作状态,有一类指令称特权指令,只 允许在特态下使用,例如,输入输出、状态修改、存储 管理等。规定这类指令只允许内核使用,可防止系统出
现混乱。
内核和裸机组成了一台虚拟机,具有以 下特性:
(1) 虚拟机没有中断,因而进程或模块的设计 者不再需要有硬件中断的概念,进程或模块执 行中无需处理中断。
9.2.4 管程
9.2.5 类程
9.3 操作系统结构概述
9.3.1 整体式结构 整个操作系统是一堆过程的集合,每个
过程都可以调用任意其他过程。使用这 种技术时,系统中的每一过程都有一个 定义完好的接口,即它的入口参数和返 回值,而且相互间的调用不受约束。
这种组织方式提出了操作系统的一种基本 结构:
(2) 短程调度 主要职能是分配处理器。当发生 了一个事件之后,可能一个进程要让出处理器, 而另一个进程又要获得处理器。短程调度按照 一定策略管理处理器的转让,以及完成保护和 恢复现场的工作。
(3) 原语管理 原语是内核中一个完整的 过程。为了协调进程并发工作和共享资 源,同步原语是必不可少的,此外还有 其它原语,如启动外围设备工作的启动 原语,若启动不成功则请求启动者应等 待,显然,这个启动过程应该是完整的, 否则在成为等待状态时,可能外围设备 已经空闲。
内核的执行有以下属性:
(1) 内核是由中断驱动的。只有当发生中断事件后由硬 件交换PSW才引出操作系统的内核进程中断处理,且 在处理完中断事件后内核自行退出。如图所示。
(2) 内核的执行是连续的,在内核运行期间不能插入内 核以外的程序执行,因而,能保证在一个连续的时间间 隔内完成任务。
(3) 内核在屏蔽中断状态下执行,在处理某个中断时, 为避免中断的嵌套可能引起的错误,必须屏蔽该级中断。 有时为处理简单,把其它一些中断也暂时屏蔽了。
(2) 虚拟机为每个进程提供了一台虚拟处理器, 每个进程就好象在各自的私有处理器上顺序地 进行,实现了多个进程的并发执行。
(3) 虚拟机为进程或模块提供了功能较强的指 令系统,即它们能够使用机器非特权指令,广 义指令和原语所组成的新的指令系统。
9.2.2进程
进程是并发程序设计的一个工具,并发程序设 计支撑了多道程序设计,由于进程能确切、动 态地刻划计算机系统内部的并发性,更好地解 决系统资源的共享性。
进程、内容、控制台和I/O设备等环节。 系统操作员进程位于第五层。
对层次结构的分析
层次结构的最大优点是把整体问题局部化。由 于把复杂的操作系统依照一定的原则分解成若 干单向依赖的层次,因此整个系统中的接口量 相比前两种结构要少且简单,整个系统的正确 必可通过各层的正确性来保证,从而使系统的 正确性大大提高。
可移植性:随着各种各样的硬件平台的出 现,可移植性称为操作系统的一个有吸引 力的特性。在微内核结构中,所有与特定 CPU有关的代码均在内核中,因而把系统 移植到一个新CPU上所作修改较小。
可靠性:对大型软件产品,较困难的是确保它 的可靠性,虽然模块化设计对可靠性有益,但 从微内核结构中可以得到更多的好处。销的微 内核化代码容易进行测试,小的API接口的使 用提高了给内核之外的操作系统服务生成高质 量代码的机会。
分层的原则
(1) 应该把与机器硬件有关的程序模块放 在最底层,以便起到把其它层与硬件隔 离开的作用。在操作系统中,中断处理、 设备启动、时钟等反映了机器的特征, 因此都应该放在离硬件尽可能近的这层 之中,这样安排也有利于操作系统的移 植,因为只需把这层的内容按新机器硬 件的特性加以改变后,其它层内容都可 以基本不动。
CMS上的程序执行一条系统调用时,该系 统调用陷入其自己的虚拟机的操作系统, 而不是VM/370,这就像在真正的计算机上 一样。CMS然后发出正常的硬件I/O指令来 执行该系统调用。这些I/O指令被VM/370 捕获,随后VM/370执行这些指令,作为对 真实硬件模拟的一部分。通过将多道程序
功能和提供虚拟机分开,它们各自都更简 单、更灵活和易于维护。
举例来说,为了获取某项服务,比如读 文件中的一块,用户进程(现称客户进 程,client process)将此请求发送给文件 服务器进程(server process),服务器进 程随后完成此操作并将回答信息送回。
微内核结构的优点主要有:
一致性接口:微内核结构对进程的请求提供了 一致性接口(uniform interface),进程不必区 别内核级服务或用户级服务,因为所有这些服 务均借助消息传送机制提供。
9.7客户/服务器结构(微内核
结构)
微内核结构概述
微内核基本思想是:内核中仅存放那些最基本的 核心操作系统功能。其它服务和应用则建立在 微内核之外,在用户模式下运行。
尽管那些功能应该放在内核内实现,那些服务应 该放在内核外实现,在不同的操作系统设计中 未必一样,但事实上过去在操作系统内和中的 许多服务,现在已经成为了与内核交互或相互 之间交互的外部子系统,这些服务主要包括: 设备驱动程序、文件系统、虚存管理器、窗口 系统和安全服务。
适用性:与可扩充性相关的是适用性,采 用微内核技术时,不仅可以把新特性加入 操作系统,而且可以把已有的特性能被抽 象成一个较小的、更有效的实现。微内核 操作系统并不是一个小的系统,事实上这 种结构允许它扩充广泛的特性。并不是每 一种特性都是需要的,如高安全性保障或 分布式计算。如果实质的功能可以被任选, 基本产品将能适合于广泛的用户。
(2) 对于用户来讲,可能需要不同的 操作方式,譬如可以选取批处理方式, 联机作业控制方式,或实时控制方式。 为了能使一个操作系统从一种操作方 式改变或扩充到另一种操作方式,在 分层时就应把反映系统外特性的软件 放在最外层,这样改变或扩充时,只 涉及到对外层的修改。
(3) 应该尽量按照实现操作系统命令时模 块间的调用次序或按进程间单向发送信息 的顺序来分层。这样,最上层接受来自用 户的操作系统命令,随之根据功能需要逐 层往下调用(或传递消息),自然而有序。 譬如,文件管理时要调用到设备管理,因 此文件管理诸模块(或进程)应该放在设 备管理诸模块(或进程)的外层;作业调 度程序控制用户程序执行时,要调用文件 管理中的功能,因此作业调度模块(或进 程)应该放在文件管理模块(或进程)的 外层。
该系统的核心称作虚拟机监控程序,它 在裸机上运行并具备多道程序功能。它 向 上 层 提 供 了 若 干 台 虚 拟 机 , 如 图 9-7 所示。与其他操作系统不同的是:这些 虚拟机不是那种具有文件等良好特征的 扩展计算机,而仅仅是裸机硬件的精确 复制。它包含有:核心态/用户态,I/O 功能,中断,以及真实硬件具有的全部 内容。
采用进程概念使得操作系统结构变得清晰,主 要表现在:一是一个进程到另一个进程的控制 转移由进程调度机构统一管理,不能杂乱无章, 随意进行;二是进程之间的信号发送、消息传 递和同步互斥由通信及同步机制完成,从而进 程无法有意或无意破坏它进程的数据。因此, 每个进程相对独立,相互隔离,提高了系统的 安全性和可靠性;三是进程结构较好刻画了系 统的并发性,动态地描述出系统的执行过程, 因而,具有进程结构的操作系统,结构清晰、
内核提供以下三方面功能:
(1) 中断处理 当中断事件产生时,先由内核的 中断处理例行程序接受并进行原则处理。它分 析中断事件的类型和性质,进行必要的状态修 改,然后交给进程或模块去处理。例如,产生 外围设备结束中断事件时,内核首先分析是否 正常结束,如果是正常结束,那么,就应释放 等待该外围传输的进程。又如当操作员请求从 控制台输入命令时,内核将把这一任务转交给 命令管理进程或模块去处理。
支持分布式系统:微内核提供了对分布式系统 的支撑,包括通过分布操作提供的cluster控制。 当消息从一个客户机发送给服务器进程时,消 息必须包含一个请求服务的标识,如果配置了 一个分布式系统(即一个cluster),所有进程 和服务均有唯一标识,并且在微内核级存在一 个单一的系统映象。进程可以传送一个消息, 而不必知道目标服务进程驻留在那台机器上。
9.2.3线程
在一个多线程环境中,进程是系统进行保 护和资源分配的单位,而线程则是进程中 一条执行路径,每个进程中允许有多个并 行执行的路径,而线程才是系统进行调度 的单位。
在一个进程中包含有多个可并发执行的控 制流,而不是把多个控制流一一分散在多 个进程中,这是并发多线程程序设计与并 发多进程程序设计的主要不同之处。
层在次它结上构面是添如加此一构层造软起件来,的使,机从器裸的机功A能0得开始以,扩 充,形成了一台功能比原来机器要强的虚拟机 A把加1A—。1—又 改扩从造充A成1—功出—能发再更,添强在加的它”虚上拟,面机由添A底加2向一。上层就地新这的增样软设“件软添, 件层,每一层都在原来虚拟机的基础上扩充了 原有的功能,于是最后实现一台具有所需操作 系统各项功能的虚拟机。
CH9 操作系统结构
9.1 操作系统设计目标
1、正确性 2、高效性 3、可扩充性 4、可移植性 5、可靠性 6、可伸缩性 7、分布计算 8、认证的安全性 9、POSIX承诺
9.2 操作系统的构件
9.2.1 内核 操作系统的内核是对硬件处理器及有关资
源进行首次改造,以便给进程的执行提 供良好的环境的哪部分软件。
(4) 为进程的正常运行创造环境和提供条 件的内核(CPU调度、进程控制和通信 机构等)应该尽可能放在底层,以保证 它们运行时的高效率。
THE操作系统的结构
第一层进行内存管理, 第二层软件处理进程与操作员控制台之间的通
信 第三层软件管理I/O设备和相关的信息流缓冲 第四层是用户程序层,用户程序在此不必考虑
可扩充性:任何操作系统都要增加目前设计中 没有的特性,如开发的新硬件设备和新软件技 术。微内核结构具有可扩充性,它允许增加新 服务:以及在相同功能范围中提供多种可选服 务,例如,对磁盘上的多种文件组织方法,每 一种可以作为一个用户级进程来实现,而并不 是在内核中实现多种文件服务。因而,用户可 以从多种文件服务中选出一种最适合其需要的 服务。每次修改时,新的或修改过的服务的影 响被限制在系统的子集内。修改并不需要建立 一个新的内核。
分层结构操作系统的内核很大,互相之间调用 关系复杂。
微内核结构则把大量的操作系统功能放到内核 外实现,这些外部的操作系统构件是作为服务 过程来实现的,它们之间的信息相互均借助微 内核提供的消息传送机制实现。这样,微内核 起消息交换功能,它验证消息,在构件之间传 送消息,并授权存取硬件。
例如,当一个应用程序要打开一个文件,它就 传送一个消息给文件系统服务器;当它希望建 立一个进程或线程,就送一个消息给进程服务 器;每个服务器都可以传送消息给另外的服务 器,或者调用在内核中的原语功能。这是一种 可以运行在单计算机中的C/S结构。
层次结构展现在人们面前显得井井有序,清晰 明朗。这种结构有利于系统的维护和扩充,也 便于移植。然而,层次结构是分层单向依赖的, 因此系统花费在通信上的开销较大,且效率不 高。
9.6 虚拟机系统
VM/370 ( Seawright and MacKinnon , 1979)。它基于如下的思想:一个分时 系统应该提供以下特性:(1) 多道程序, (2) 一个具有比裸机更方便、界面扩展的 计算机。VM/370的主旨在于将此二者彻 底地隔离开来。
相关文档
最新文档