第3章 操作系统结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
3.1.7 保护系统
保护是控制程序、进程或用户访问由计算机系 统定义的资源的机制。 这种保护机制必须能够:
区分已授权的和未授权的使用 提供一定的方法以规定所有要进行的控制 提供提供加强控制的方法
10
3.1.8 命令解释系统
许多命令通过控制语句交给操作系统
进程创建和管理 I/O处理 二级存储管理 内存管理 文件系统访问 保护 联网
15
MS-DOS执行状态
16
运行多个程序的UNIX
17
通信模型
18
3.4 系统程序
系统程序提供了一个方便的环境,以开发程序和执行 程序。它们可分为以下几类:
文件管理 状态信息 文件修改 程序语言支持 程序装入和执行 通信 应用程序
绝大多数用户所看到的操作系统是由系统程序而不是 实际系统调用定义的。
25
一种操作系统层次结构图
26
OS/2层次结构
27
微内核系统结构
这种方法将所有非基本部分从内核中移走,并将它们 当做系统级程序和用户级程序来实现,用这种方法来 构建操作系统 用户模块之间采用消息传递的方式进行通信 优点
微内核易于扩展 易于提升OS至一个新的体系结构 更可靠(内核模式中运行的代码更少) 更安全
34
系统模型
35
虚拟机的优缺点
通过完全保护系统资源,虚拟机提供了一个坚 实的安全层 虚拟机允许进行系统开发而不必中断正常的系 统操作 但虚拟机概念很难提供真实的硬件效果
36
Java虚拟机
编译后的Java程序是可以被Java虚拟机(JVM) 执行的与平台无关的字节码。 JVM包括
类装载器 类校验器 运行时解释器
OS负责以下有关文件管理的活动:
创建和删除文件 创建和删除目录 提供操作文件和目录的原语 将文件映射到二级存储器(辅存)上 在稳定(非易失的)存储媒介上备份文件
6
3.1.4 I/O系统管理
操作系统的目标之一是为用户隐藏特定硬件设 备的特质。只有设备驱动程序才知道被指定的 设备的特质。 I/O I/O系统由如下部分组成:
空闲空间管理 存储空间分配 硬盘调度
8
3.1.6 联网(分布式系统)
分布式系统是一组不共享内存、外设和时钟的 处理器的集合。
这些处理器都有各自的内存和时钟
系统中的处理器通过通信网络相连 通信双方需采用相同的协议 分布式系统使得用户能够访问多个系统资源 对共享资源的访问可以使计算加速、功能加强、 提供数据可用性以及增强可靠性
5
3.1.3 文件管理
为了便于使用计算机系统,操作系统提供了统一的逻 辑信息存储观点。操作系统对存储设备的物理属性进 行了抽象,定义了逻辑存储单元即文件。操作系统将 文件映射到物理媒介上,并通过对这些存储设备访问 这些文件。 文件是由其创建者定义的一组相关信息的集合。
通常,文件表示程序(源程序和目标程序)和数据
向操作系统传递参数通常用三种方法
通过寄存器来传递参数 参数数量可能会比寄存器多 将参数存放在内存的块或表中,并将块的地址作为参数 传递给寄存器 指针 将参数放在堆栈中,并通过操作系统弹出堆栈 不限制所传递参数的数量或长度
13
参数作为表传递
14
系统调用的类型
进程控制:结束,中止,装入,执行,创建、 终止进程等 文件管理:创建文件,删除文件,打开,关闭 文件等 设备管理:请求设备,释放设备,读、写、重 定位设备等 信息维护:读取时间或日期、设置时间或日期 等 通信:创建、删除通信连接,发送、接收消息, 传递状态信息等
用来接收与解释控制语句的程序有不同的名称
命令行解释器 外壳(Shell, in UNIX)
11
3.2 操作系统服务
程序执行 I/O操作 文件系统操作 通信 错误检测 资源分配 统计 保护
12
3.3 系统调用
系统调用提供了进程与操作系统之间的接口
这些调用通常以汇编语言指令的形式提供 有些语言(如C, C++和Perl)已经取代了汇编语言而直 接用于系统编程
32
3.6 虚拟机
虚拟机采用了分层的方法。它将物理硬件和 OS内核统一看作为硬件 虚拟机提供了与基本硬件相同的接口 通过利用CPU调度和虚拟内存技术,操作系统 能创建一种幻觉,以至于进程认为有自己的处 理器和自己的(虚拟)内存。
33
物理计算机共享资源以创建虚拟机
CPU调度能共享出CPU造成一种每个用户都有 自己的处理器的感觉 假脱机和文件系统能提供虚拟读卡机和虚拟行 式打印机 一个普通的用户分时终端提供虚拟机操作员终 端的功能
44
系统实现
传统地,操作系统是用汇编语言来编写的,不过,操 作系统现在都是用高级语言如C或C++来编写的。
MULTICS用PL/1编写(MIT) Primos用Fortran来编写 UNIX、OS/2、WindowsNT主要用C来编写
高级语言编写代码
编写更快速 更紧凑 更易理解与调试
用高级语言编写的操作系统更易快速移植到那它硬件 平台上。
46
内核
包括系统调用接口之下和物理 硬件之上的所有部分 内核通过系统调用提供文件系统、CPU调度、内存管 CPU 理和其他操作系统功能。
系统程序
23
UNIX系统结构图
24
分层方法
操作系统分成若干层,每层建立在较低层之上。 最底层(层0)是硬件,最高层(层N)是用户 接口 分层法的主要优点是模块化。选择了分层,这 样每层只能利用较低层的功能(或操作)和服 务。 分层法的主要困难涉及到对层的仔细认真的定 义 分层法与其他方法相比其效率稍差。
3.1 系统组成
进程管理 内存管理 文件管理 输入/输出系统管理 二级存储管理 联网 保护系统 命令解释系统
3
3.1.1 进程管理
进程指的是运行着的程序
进程需要一定的资源来完成任务,包括CPU时 间,内存,文件和I/O设备
OS OS负责以下与进程管理有关的活动
创建和删除用户进程和系统进程 悬挂(暂停)和继续进程 提供进程同步机制 提供进程通信机制 提供死锁处理机制
包括缓冲器、高速缓存和脱机打印的内存管理 部分 一个通用设备驱动程序的接口 用于特定硬件设备的驱动程序
7
3.1.5 二级存储管理
由于内存太小而不能容纳所有数据和程序,再 加上掉电后它会失去所拥有的数据,计算机系 统必须提供二级存储器,以备份内存。 许多现代计算机系统采用磁盘作为主要在线 在线存 在线 储媒介来存储程序和数据。 OS负责下列有关硬盘管理的活动
45
3.8 系统生成
OS被设计成能运行在一类计算机上,这些计 算机位于不同的场所,并具有不同的外设配置。 对于某个特定的计算机场所,必须要配置和生 成系统,这一过程有时称为系统生成 系统生成。 系统生成 系统生成程序须获取到硬件系统的特定配置信 息 引导 - 通过装载内核来启动计算机 引导程序 - 保存在ROM中的,用来定位内核、 装载内核、启动内核的程序代码
19
3.5 系统结构
简单结构
DOS UNIX
分层方法 微内核
20
MS-DБайду номын сангаасS系统结构
MS-DOS - 利用最小的空间提供最多的功能
没有被划分成模块 尽管MS-DOS拥有一些结构,但它的接口和功 能层次并没有很好的分离开来。
21
MS-DOS层次结构
22
UNIX系统结构
UNIX - 最初受到硬件功能的限制,它由两个 独立的部分组成
缺点
用户空间与内核空间的通信代价较高
28
Mac OS X 结构
29
Windows NT客户-服务器结构
30
模块
许多现代操作系统实现内核模式
用面向对象的方法 内核的组成部分相互分离 任务之间的交互通过已知的接口来实现 每个模块在内核中是按照需要可装载的
总之,模块类似与分层,但模块更具灵活性
31
Solaris模拟化方法
43
机制与策略
机制决定事情如何来做,而策略决定做什么内 容。 策略和机制的区分对于灵活性来说很重要,每 次策略的改变都可能需要底层机制的改变。 例如
对于一个计算机系统,策略用来决定是I/O密集 型程序应该比CPU密集型程序有更高的优先级, 还是相反?而机制则用来决定如何定义程序的 优先级、如何利用优先级进行调度。
操作系统概念
第三章:操作系统结构
本章主要内容
本章将从用户角度 程序员角度 操作系统设计人员 用户角度、程序员角度 用户角度 程序员角度和操作系统设计人员 角度来分别研究操作系统的三个方面。 系统组成 操作系统服务 系统调用 系统程序 系统结构 虚拟机 系统设计与实现 系统生成
2
1. 2. 3. 4. 5. 6. 7. 8.
JIT(Just-In-Time)编译器能够提高Java运行 的效率
37
Java 虚拟机示意图
38
Java平台
39
跨平台的Java 类文件
40
Java开发环境
41
3.7 系统设计与实现
设计目标 机制与策略 实现
42
系统设计目标
用户目标 - OS应该便于使用,易于学习,可 靠,安全与快速 系统目标 - OS应该易设计,实现和维护,同 时应该灵活,可靠,没有错误且高效。
4
3.1.2 内存管理
内存是一字节或字的一个大的阵列,每个字或字节都 有自己的地址。
内存是可以被CPU和I/O设备所共同快速访问的数据的仓 库
内存是易失性的存储设备。在系统失败的情况下,内 存将会丢失其内容。 OS负责以下与内存管理相关的活动
记录内存的哪部分正在被使用及被谁使用 当内存空间可用时,决定哪些进程可以装入内存 根据需要分配和释放内存空间