操作系统的结构设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.4 操作系统结构和运行模型
主要内容:
操作系统的构件和结构 整体式结构的操作系统 层次式结构的操作系统
操作系统的运行模型 Windows 2003的客户/服务器结构
操作系统的结构设计概述(1)
1.操作系统结构设计概况 操作系统设计呈现出以下特征:
一是复杂程度高, 二是生成周期长, 三是正确性难保证 。 例如,CTSS约有32000行程序;IBM OS/360超过百万条 机器指令,共有4000个模块组成,花费5000人年;Multics 达 到千万条机器指令;Windows 2000 超过3200万行语句,有 2500个主要开发人员参与开发。 一个操作系统即使开发完成,仍然是无生命的,必须开 发该系统下运行的大量的应用程序;待应用程序开发问世后, 用户还必须通过文件、培训及实践去学会操作和使用。这意 味着用户拥有并使用的是10年或20年前的操作系统技术。而 计算机硬件却在不断地更新换代,刚刚开发完成的操作系统 又需要升级。
Linux是单内核操作系统,Mach是微内核操作系统。
① 单内核:内核的内部可以化分为层次或者模块,单运行的 时候是一个大二进制映象,模块之间的交互是通过直接调 用其他模块中的函数来实现。
Unix/Linux是单内核操作系统,操作系统的整体式结构又 叫模块组合法,是基于结构化程序设计的一种软件结构设 计方法。早期操作系统(如IBM操作系统)采用这种结构设计 方法。
单内核操作系统有两种基本结构:整体式结构和层次式结构。
二、整体式结构的操作系统 (1)
(a)整体式结构
操作系统的整体式结构又叫模块组合法,是基于结构化程序设 计的一种软件结构设计方法。早期操作系统(如IBM操作系统) 采用这种结构设计方法。
1.主要设计思想和步骤
把模块作为操作系统的基本单位,按照功能需要而不是根据程 序和数据的特性把整个系统分解为若干模块(还可再分成子模 块),每个模块具有一定独立功能,若干个关联模块协作完成 某个功能。明确各个模块之间的接口关系,各个模块间可以不 加控制,自由调用;然后,分别设计、编码、调试各个模块。 最后,把所有模块连结成一个完整的系统。
(2)内核的分类 可分为微内核和单内核两种类型。 微内核:内核很小,仅具有极少的必须功能,其它 功能都在核外实现。通过微内核提供的消息传递机 制完成其余功能模块间的联系。内核和核外服务程 序的开发是分离的。
单内核:内核具有较多的功能,运行时是一个大的 二进制映像,模块间的联系通过函数或过程调用实现。
➢ 对分布式系统提供有力支撑。
微内核结构的缺点:
➢ 运行效率低,因为进程之间必须通过内核的通信 机制才能进行通信。
操作系统的一个基本问题是内核的功能和结构设 计,总体的趋势是:内核应当运行在具有特权的 核心态,常驻内存,尽可能地小,仅确保操作系 统正确、有效运转所必备的功能。
➢ 内核很小,可以被精心分析和设计成准确按意 图执行的软件,称为可信软件。
➢ 用户进程和服务器进程之间采用消息传递机制进行通 信,形成客户——服务器关系。
Leabharlann Baidu内核结构的优点:
➢ 对进程的请求提供一致性接口,不必区分内核级 服务和用户级服务,所有服务均借助消息传递机 制提供;
➢ 具有较好的可扩充性和易修改性,增加新服务或 者替换老功能只需要更换服务器(进程);
➢ 可移植性好,与特定CPU有关的代码均在微内核 中,把系统移植到新平台所做的修改较小;
一、操作系统的构件
操作系统的构件-----通常把组成操作系统程序的基本单位称 作操作系统的构件。
操作系统的构件主要有:内核、进程、线程、类程、管程等。
1.内核
(1)概念
内核是一组程序模块,作为可信软件来支持进程并发执 行的基本功能和基本操作,通常驻留在内核空间,运行于核 心态,具有访问硬件设备和所有主存空间的权限,是仅有的 能执行特权指令的程序。
二、整体式结构的操作系统 (2)
2.主要优点和缺点 主要优点:结构紧密、组合方便,对不同环境和用户的不同需 求,可以组合不同模块来满足,灵活性大;针对某个功能可用 最有效的算法和任意调用其他模块中的过程来实现,系统效率 较高;设计及编码可齐头并进,加快操作系统研制过程。 主要缺点:模块独立性差,模块之间牵连甚多,形成复杂的调 用关系,甚至循环调用,造成系统结构不清晰,正确性难保证, 系统功能的增、删、改十分困难。
操作系统的结构设计概述(2)
2.操作系统结构设计有三层含义 一是研究操作系统的整体结构,由程序的构成成分组成
操作系统程序的构造过程和方法; 二是研究操作系统程序的局部结构,包括数据结构和控
制结构。 三是操作系统运行时的组织,如系统是组织成进程还是
线程,在系统空间还是用户空间运行等。
•采用不同的构件和构造方法可组成不同结构的操作系统。
Linux仍然使用整体式结构。
(b)层次式结构
•层次式结构是把操作系统划分为内核和若干模块(或进程), 这些模块(或进程)按功能的调用次序排列成若干层次,各层 之间只能是单向依赖或单向调用关系,即低层为高层服务,高 层可以调用低层的功能,反之则不能。这样不但系统结构清晰, 而且不构成循环调用。
层次结构的优缺点分析 •层次结构的优点:
➢整体问题局部化,整个系统中的接口比较少; ➢系统的正确性可通过各层正确性来保证; ➢增加、修改或替换层次不影响其他层次,有利于系统的 维护和扩充。 •层次结构的缺点:层次结构是分层单向依赖的,必须要建立 模块(进程)间的通信机制,系统花费在通信上的开销较大, 系统的效率也就会降低。
2 微内核
操作系统仅将所有应用必需的核心功能放入内核,其他功 能都在内核之外,由处在用户态运行的服务进程实现,通 过微内核提供的消息处理机制完成进程之间的通信。
P38, 图1.10
微内核的实现思想:
➢ 操作系统分为两部分,一是运行在核心态的内核,它 提供系统的基本功能;二是运行在用户态并以客户- 服务器方式运行的进程层。
➢ 操作系统内核之外的其他部分由相对独立的若干进程 来实现,每一个进程完成一组服务,故称服务器进程。
➢ 服务器进程和用户进程都运行在进程层
相关文档
最新文档