Anda di halaman 1dari 54

第 3章 操作 系统

1
3.1 概论
计算机 硬件—裸机
计算机 软件—系统 软件、应
用软件
Operating System OS 操作系统
系统软 件—管理、 维护、控
制、运 行
应用软 件—解决某 一特定问
题的程 序
2
3.1.1 操作系统的 基本概念
计算机系统 的四个层次 :
应用软 件和应用
系统
系 统
软 件

作系统

裸机 3
操作系 统的描述:
1 虚拟机的观 点
从上 向下,把系 统的低
级操作上升
为高 级操作,硬 件隐藏
,给用户提
供一 个友好的, 易于操
作的界面
》系统功能 扩展
》数量上的 扩展 4
2 资源管理的观点
操作系统的主要 观点, 从
底向上
资源是计算机系 统的物 质
基础
操作系统管理计 算机资 源
,并提 供
一个有序的和可 控的分 配
,使各 种资
源得到充分的使 用和方 便 5
用户
3.1.2 操作系统的 特征和功能
1 操作系 统的特征
》并发性
并发:两个 或多个事件
在同一时间间
隔内发

并行:物理 上的同时性
,同时工作
6
进程 :系统中能 独立运
行和作为资
源分配的
基本单位
》共享性
多道 必然带来共 享,操
作系统追求
的主 要目标之一 。
需要 解决:资源 分配、
资源共用、 7
》多道程序技术
- 多用户 作业共享 CPU 和输入 / 输
出设
备(同 步、互斥、 死锁

- 大容量的储 存器
- 高效、可靠 、方便的文 件系统

我们见到的系统 :
DOS , WINDOWS 8
2 操作系统的功能
》处理机管理
》储存器管理
》设备管理
》文件管理
》作业管理
》网络管理

9
3.1.3 操作系统的 发展
单道批 处理、交互 式环

网络系 统、分布式 系统
3.1.4 操作系统的 分类
》批处理系统
》分时系统
多路性、独 占性、及
时性、 交互性
10
》实时 操作系统
主要用于过 程控制和
信息系 统
》网络 操作系统
网络资源共 享
网络通信
作业迁移
》分布 式操作系统

11
3.2 处理机管理
处理机 是系统 中最 重要的 资源 ,处
理机的 管理被 归结 为进程 管理 ,是操 作系
统中最 重要且 最复 杂的管 理。
进程是 操作系 统分 配软件 资源 和硬
件资源 的基本 单位 。多个 进程 并发, 强占
资源。
进程管 理的任 务是 :协调 各进 程之
间的运 行活动 ,为 各进程 合理 分配资 源,
为进程 提供各 种系 统服务 ,使 所有进 程都
能正确 有效的 运行
12
3.2.1 进程与 线程
进程( Process )是现代 操作系 统中
最重要 的概念 之一 ,已成 为构 造操作 系统 的
有力工 具。
1 单道 程序与 多道 程序
单道程 序:独 占资 源、效 率
很低、 可再现 ;
多道程 序:资 源共 享、效 率
提高、 不封闭 ;
应该 注意: 快速 设备与 慢速 设备的
效率
控制权 的13
单道 程序与 多道 程序示 意图

时间 T1 T2 T3 T4 T5 T6 T7
A1 输 A1 计 A1 计 A1 输 A2 输 A2 计 A2 输
单道 入 算 算 出 入 算 出
A1 输 A1 计 A1 计 A1 输 A4 输 A4 计
入 算 算 出 入 算
A2 输 A2 计 A2 输
多道 入 算 出
A3 输 A3 输 A3 计 A3 计 A3 输
入 入 算 算 出

14
2 进程 ( Process )是系 统进行 资源 分配、
调度
和管理 的最小 独立 单位。
进程的 其他 定义
进程是 程序的 一次 执行;
进程是 一次可 并发 的计算 ;
进程是 一个程 序在 其数据 集
上的一 次执行 。
进程是一个 具有独 立功 能的程 序
关于某 个数
据集合 的一次 执行 ,是操 作
系统进 行资源
分配的 单位。 进程 不同于 程 15

3 进程 的基本 特征
* 动态性:最基 本特征
创建 产生、 调度 执行
、撤消 消亡
* 并发性:多进 程同一 时间 段运行
重要 特征, 提高 了系
统资源 利用率
* 独立性:进程 是能独 立运 行、调 度、
分配
资源 的基本 单位
* 异步性:竞争 资源、 相互 制约、 不可
预知
* 结构特征 : PCB ( Process Control
Block ) 16
4 进程 的实体
进程的 实体用 来表 示一个 进程 存
在。
一个描 述进程 的实 体由程 序、 数
据集合 、进
程控制 块 PCB 及其相 应表格
组成;
程序是进程 执行所 对应 的执行 代
码;
数据集 合是进 程运 行中必 须的 数
据和工 作区;
17
PCB 中保 存进程 有关 的重要 信息 ,是进
PCB 的主要 内容:
进程标 识符:唯一 标识一 个进 程;
进程状 态:指 明进程 的当 前状态 ,作 为进

调度 和切 换时的 依据 ;
进程的 优先级 :描 述进程 使用 处理机 的优
先级
别的 一个 整数, 优先 级高的 先
获得处 理机
资源清 单:列 出除处 理机 以外的 进程 所需
的全
部资 源及 已经分 配给 该进程 的
资源的 清单 18
5 线程
进程作 为资源 分配 的对象 的实 体

线程( Thread )是处 理机调 度的
独立单 位;
线程是 进程中 可独 立执行 的
子程序 ,表示
进程中 的一个 控制 点,执 行一 系
列的指 令;
一个进 程可以 有多 个线程 ;
各线程 可以访 问整 个进程 的 19
所有资 源;
6 进程 与线程 的关 系:进 程与 线程密 切相

根本区 别在于 :
* 进程 是系统 作为 资源分 配的 单位;
* 线程 是处理 机进 行调度 和执 行的单 位

* 每一 个进程 都有 自己的 内存 空间;
* 同一 进程的 各线 程共享 进程 的内存 空
间;
* 进程 中的所 有线 程对进 程的 整个内 存
空间
具有存 取权限 ;
* 进程 间的通 信必 须使用 操作 系统的 机
20

3.2.2 进程的 状态和 转换
进程的 三态:
进程在 其存在 过程 中,由 于系 统中各
进程并 发
执行 及相互 制约 ,使得 进程 的当前 行为 不
断发生
变化 ,进程 执行 是间隙 的, 所以进 程的 生
命周期 至少有 如下 三个状 态: 就绪、 执行 、阻

1 就绪 状态 ( Ready )
进程已 经获得 除 CPU 以外的 所有
运行必 要资
源,得到 处理 机就可 以执 行
21
的状态 。
2 执行状态 ( Running )
进程已经 获得 处理机 ,且 正在处
理机上 运行
此时 称进程 处于 执行状 态。
3 阻塞 状态( Blocked )
在进程执 行过 程中因 发生 某时间
而暂停 执行的
状态 也就是 进程 执行受 到阻
碍,称 为阻塞 状
态, 也称等 待状 态。
多个进程 同时 处于阻 塞状 态时产
生阻塞 队列, 22
4 就绪状 态、 执行状 态和 阻塞状 态关 系
进程的就 绪、 执行和 阻塞 三种基 本
状态是 可以
相互 转化的 。执 行态进 程是 物
理运行 ,就绪
态和 阻塞态 是逻 辑运行 。随 着
自身的 推进和
就绪
外界 条件的 变化时间片完
而变化 。如 下
得到资源
图 进程调度
阻塞 执行
资源请求

23
3.2.3 进程的 控制和 调度
进程控 制也称 进程 管理,就是 对进程
的整个 生命周 期中 各种状 态间 的转换 进行 有效
的控制 和管理 。
1 进程 控制
进程控 制的基本功 能就是 为作 业创建
进程( 分配必 要的 资源) 、撤 消进程 (回 收其
占用的 资源) 以及 控制进 程在 运行过 程中 的状
态转换 。
实现进 程控制 的操 作是由 一系 列原语
完成的 ;
原语是机器 指令的 延伸 ,一条 原语 是
由若干 条机器 指令 组成, 用于 完成某 一特 定的
功能的 一段程 序, 有时也 称为 软指令 。 24
为保证 操作的 正确 性和完 整性 ,大多
数原语 的执行 必须 是连续 的, 不允许 被中 断,
大部分 原语通 过系 统调用 的方 式使用 。
实现进 程控制 的原 语有;
* 创建原 语
* 挂起原 语
* 激活原 语
* 撤消原 语
* 阻塞原 语
* 唤醒原 语

25
2 进程调 度
进程调 度是决 定就绪 队列 中哪个 进程
先获得 处理机 ,然 后再由 分派 程序执 行将 处理
机分配 给进程 操作 。进程 多于 处理机 就需 要进
程调度 。
进程调 度发生 的情 况
* 当运行 的进程 缺乏 资源进 入阻 塞状态 ;
* 当运行 的进程 分配 的时间 片到 回到就 绪
状态;
* 当运行 的进程 因外 部中断 而暂 停时;
* 当运行 的进程 提前 结束时 ;
进程 调度程 序运 行频率 很高 ,重新 分配 处
理机。
26
进程调度的问题 :
( 1 )进程占 用 CPU 的时 间
* 剥夺 式调度 (抢 占式调 度)
系统根据 某种 原则剥 夺给 进程
的处理 机
剥夺原 则
优先权 原则;
短进程 优先原 则

时间片 原则。

27
* 非剥夺 调度
调度 程序 把处理 机分 配给某 进
程,除 非
它自 愿,否 则可 以一直 执
行下去 ,直
到进 程完成 或发 生某事 件
而阻塞 。
优点是 :
简单,系 统开 销小;
缺点是 :
系统性能 恶化 ,紧要 进
程不能 马上执 行 28
( 2 )就绪队 列选择 进程
系统根 据某种 原则 给进程 分配
处理机
常见的 调度算 法
* 先进 先出算 法;
* 短执 行进程 优先 算法;
* 优先 级调度 算法
静态 优先级 :进 程
类型、 资源要 求、

用户 的优 先级
动态 优先级 :调 度
灵活、 改善性 能 29
* 时间片 轮转法
分时 系统 采用的 算法 ,
公平的 原则, 先
进先 出的就 绪队 列
,平均 分配时 间。
关键 问题 是:时 间片 长
度设置 。
* 多级反 馈队列
基本 思想 :
》设 置优 先级队 列
》每 级设 置时间 片
》最 低级 是时间 片轮 转
法调度 30
》其它级 依照 优先级 高低 先
进先出 调度
》系 统每次 调度 级别较
高的队 列的进 程
》中 断进程 的方 式:
时间 片中断 :现 进
程进入 下一级 队列
有进 程进入 更高 级
就绪队 列:使 用剥
夺调度 方式 ,
现进程 进入本 队列 的
31
末尾。
3.2.4 进程的协调 与通信
1. 若干概 念
同处于 一个系 统中 的进程 之间 不
可避免 地会有 某种 联系或 通信 ,为使 并
发执行 的进程 能有 条不紊 地运 行,系 统
必须对 它们进 行进程协 调;
在相互 合作的 进程 之间, 需要 交
换一定 的信息 ,这 种信息 交换 称为进程
通信。

32
2. 进程之 间的制约关 系 :
互斥:资源 一次为 一个 进程使 用,
要求共 享
又称 间接制 约关 系
,异步 运行解 决
同步:源于 进程合 作, 一个进 程在
没有获 得
合作 进程提 供的 必
要信息 前不能 超越
某个 执行点 或无 法
继续工 作,又 称直
接制 约关系 ,必 须 33
3. 临界资 源和临界区 :
一次只 能为一 个进 程使用 资源
称为临界资
源,许多 物理 设备都 是
临界资 源。
进程对 临界资 源的 访问必 须是
互斥的 。
我们把 每一个 进程 访问临 界资
源的那 段程
序称为临界区 。
保证各 进程互 斥地 进入自 己的34
临界区的调用 原则
* 有空则 进:当 无进 程处于 临界 区时
,允
许一 个请求 进入 临界区
的进程 进入自 己
的临 界区;
* 无空等 待:如 果有 进程在 临界 区时
,其
他欲 进入临 界区 的进程
必须等 待;互 斥
* 有限等 待:对 要求 访问临 界资 源的
进程
35
应能 在有限 的时 间内进
4. 同步 机构
实现进 程互斥 的锁机制
锁变量 : S (S=0 开锁可 以使用
, S=1 加锁 )
加锁原 语( LOCK )
S=0 ? 是 : S=1
否: 继
续测试
开锁原 语( UNLOCK )
S=0
可以解 决互斥 情况 但效率 不高
荷兰科 学家 Dijkstra 提出用 信号量
的方法 可以同 时解 决互斥 和同 步问题 ,复
杂不再 说明 36
5. 进程 的通信
为提高 计算机 系统 资源利 用率
和作业 的处理 速度 ,通常 把一 个作业 分成
若干个 可以并 发执 行的进 程;
由于这 些进程 各自 以自己 的速
度执行 ,但它 们是 完成同 一个 作业的 ,所
以相互 间需要 经常 的交换 信息 ,以便 一致
完成指 定的任 务;
交换的 信息量 可以 很多, 也可
以很少 ,根据 量的 不同, 进程 间的信 息交
换的方 式分为 低级 进程通 信和 高级进 程通
信。
37
低级进 程通信 :进 程间少 量交 换数
据。
交换的方 式是 通过“ 变量 ”和
“数组 ”
高级进 程通信 :进 程间大 量的 交换
数据。
也称为消息通 信。常 用的有 消
息缓冲 、
信箱通信 、管 道通信 等方 式。
消息:所谓 消息, 是指 一组带 有 38
( 1 )消息缓 冲方式 也称 为直接 通信
方式
通信 过程: 发送 进程向 系统 申请
缓冲区
发送 进
程把消 息放入 缓冲 区
发送 通
知给接 收进程
接收 进
程从缓 冲区取 出消 息
释放 缓
冲区
要求 :双方 都是存 在的 ,实时 通 39
( 2 )信箱通 信方式 也称 为间接 通信 方式
通信 需要通 过中 间实体 即信箱完成
通信 过程: 发送 进程 向实体 即信 箱
送入消 息
中间 实体
保存消 息
接收 进程
从中间 实体中 取出 消息
要求 :中间 实体暂 存消 息,不 用实
时通信
( 3 )管道通 信方式 (使 用 PIPE ,文件
系统)
通信 需要通 过管 道连接 完成
40
通信 过程: 在发 送进 程和接 收进 程
3.2.5 死锁
由于进 程申请 的资 源远远 大于 系统的
有限资 源,如 果管 理和分 配不 当会产 生矛 盾
,矛盾 严重到 下列 情况时 ,会 形成死 锁。
管理和 分配不 当造 成各进 程之 间相互
等待资 源而无 法继 续执行 ,从 而也不 能释 放
资源, 这中等 待永 远不能 结束 的情况 称为 死
锁。
死锁最 终可能 导致 整个系 统处 于瘫痪
状态。
死锁问 题包括 产生 、预防 、避 免、检41
测和解 除
1. 死锁的 产生
死锁出 现与资 源分 配策略 和并 发进程
的执行 速度有 关。
产生死 锁的主 要原 因有:
* 竞争 资源 而引起 死锁
* 进程 推进 不当引 起死 锁
产生死 锁的 四个条 件:
互斥条 件 请
求和保 持条件
不剥夺 条件 循环
等待条 件

42
2. 死锁的 解除和预防
( 1 )预防 死锁
设置限 制使上 述四 个条
件不能 同时满 足
( 2 )回避 死锁
提高 系统资 源利 用率, 动
态分配 中防止 系
统进 入不 安全状 态
( 3 )检测 死锁
允许系 统发生 死锁 ,及
时检测 出死锁
( 4 )解除 死锁
与检测 配套, 采用 撤消
或挂起 一些进 程、 43
3.3 储存管理
存储器 是系统的重 要组成部 分
3.3.1 储存管理的 概念和功能
1 系统存储器的配 置
内存、外存
物理内存、 逻辑内存
系统区、用 户区

44
2 存储空间的地址
高级语言的 名空间与
地址无关
源程序 — 目标 / 程序
— 执行程序
名空间 地址空间
存储空间
名空间 虚拟地址空 间
物理地址空间

45
辑地址 物理地址
3 地址重定位
逻辑地址向物 理地址
的转换
静态重 定位 动
态重定位
4 存储器管理 的功能
两个基 本目的
用户透明
提高内存利用 率
46
存储器 管理的功能
》内存分配
》地址映射
》存储扩充
》存储共享和保 护

47
5 内存扩充技术
扩充方 法:物理扩 充和
逻辑扩充
逻辑扩 充:覆盖技 术和
交换技术
覆盖技 术:同一内 存区
被不同程序

段重复使用 (覆盖区)
交换技 术:内、外 存之 48
间交换程序
3.3.2 分区式管理
把内存划分 为若干连续 区域
(分区 )
每个分区装 入一个运行 作业
1 固定分区(静态 )
分区分 配表
PDT
2 可变分区(动态 )
装入时 分配,碎
片,拼 接 49
可变分 区的记录和 管理
方法:
表格法、位图法 、
链表法
分配策 略:
最先适应法 FF
最佳适应法 BF
最坏适应法 WF
没有最 好的方法, 只有 50
具体适 应
3.3.3 分页式管理 ( P , D )
分页式 管理采用页 和页桢的
概念
页: 用户作业 空间大小
相等的块
页桢: 内存空间与 页大小相
同的块
1 简单页式管理( 静态)
分页用页表 PMT 51
》先进先出法( FIFO )
》最近最少使用 法
( LRU )
3.3.4 分段式管理 ( S , D )
段是相 对逻辑独立 的程
序或数 据集
1 简单段式管理( SMT )
段长、 内存起始
地址、 状态标志
等组成 ,必要时 52
段保护措施
》建立存储 控

》段地址越 界
保护措 施
2 段页式结合管理
分段: 方便用户
编程
分页: 方便内存
管理
53

( S , D )( P ,
段式管 理与页式管 理的不同
之处
》段 是信息的逻 辑单位
,面向使用
》页 是信息的物 理单位
,面向管理
》分 段地址空间 是二维

》分 页地址空间 是一维

54
》段 的长度不固 定,用

Anda mungkin juga menyukai