第 4 章 操作系统基础
DESCRIPTION
第 4 章 操作系统基础. 4.1 操作系统概述 一 . 基本概念 计算机系统 = 硬件 + 软件 硬件 : 构成计算机系统的物理部件和设备的总称。 软件 : 程序及文档资料的总称。核心是系统软件;系统软件的核心是 操作系统 。. ⒈ 操作系统的两大基本职能. ( 1 )面向机器 管理和控制计算机全部资源; 目的:提高系统效率。 ( 2 )面向用户 提供人机界面 目的:提供便捷的操作环境. 2. 操作系统的五大功能. 文件管理. 操作系统. 进程管理. 存储器管理. 作业管理. 设备管理. - PowerPoint PPT PresentationTRANSCRIPT
1/48
第 4 章 操作系统基础
4.1 操作系统概述 一 . 基本概念计算机系统 = 硬件 + 软件硬件 : 构成计算机系统的物理部件和设
备的总称。软件 : 程序及文档资料的总称。核心是
系统软件;系统软件的核心是操作系统。
2/48
⒈操作系统的两大基本职能
( 1 )面向机器 管理和控制计算机全部资源; 目的:提高系统效率。( 2 )面向用户 提供人机界面 目的:提供便捷的操作环境
3/48
2. 操作系统的五大功能
文件管理文件管理
进程管理进程管理
存储器管理存储器管理作业管理作业管理 设备管理设备管理
操作系统
4/48
3 。操作系统的发展
1 )早期阶段 无操作系统的裸机 2 ) 第 2 阶段 --- 第 1 代操作系统
– 程序员和操作员有了分工;– 摆脱手工操作方式,有批处理服务
3 ) 第 3 阶段 --- 第二代操作系统– 新技术的使用:多道程序,并行处理,通
道技术、缓冲技术、中断技术等 4 )第 4 阶段 ---- 第三代操作系统
– 综合资源管理
5/48
4. 常用的 OS
(1) MS-DOS 字符界面、 命令行方式(2) UNIX 中、小型机的 OS(3) WINDOWS 多任务、图形界面的 O
S (4) WINDOWS NT 网络操作系统
6/48
5. 操作系统的分类1 、按处理器特点• 分时 分配 CPU 时间片,为多个用户服务• 实时 在较短时间内响应用户要求2 、按适用面分 : 专用 OS 和通用 OS
3 、按用户数量分:单用户和多用户 4 、按任务处理方式分:交互式 和批处理 5 、按硬件环境和控制方式分:集中式和分布式
7/48
二 . CPU 及进程管理1 、程序的有关概念程序 为解决某个问题用程序设计语言 编写
的一系列指令的有序集合。程序的顺序执行 一个程序通常分为若干个具有一定独立
性的程序段,这些程序段是按逻辑步骤编排的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段。
8/48
程序顺序执行举例一
设有一个程序有三个程序段,分别执行 I (输入)、 C (计算)和 P (输出)操作。执行顺序为: I C P
逻辑顺序不能随意改变。
结果 数据
9/48
程序顺序执行举例二
假设有 n 个作业,每个作业都由三个程序段:输入段 Ii 、计算段 Ci 、输出段 Pi 。
在早期单道程序系统中,作业执行流为:
作业 1 I1 C1 P1
作业 2 I2 C2 P2
作业 n In Cn Pn
作业执行顺序
10/48
( 1 )单道程序处理
一次只处理一个程序,该程序独享系统资源。 特性
– 1 、顺序性 按规定的顺序执行。– 2 、封闭性 程序在执行过程中独享系统
资源,不受外界因素的干扰和影响。– 3 、可再现性 只要初始条件相同,无论以
何种方式、速度、重复执行多少次,结果是相同的。
11/48
( 2 )多道程序处理 同时将多个程序装入内存并同时处理。 特点 : 并发性 设有三个程序,它们的执行步骤和顺序相同,
都是输入 Ii 、计算 Ci 、输出 Pi 。 1 )当第 1 个程序的输入操作 I1 执行完、执
行 C1 时,输入空闲,这时可执行第 2 个程序的输入 I2 ;时间上,操作 C1 和 I2 重叠。
2 )当 C1 执行完、执行 P1 时,处理机空闲,若这时 I2 已完成,就可以执行 C2 ,与此同时,输入机又空闲,可以执行第 3 个程序的 I3 。这样, P1 、 C2 和 I3 重叠。
12/48
程序并发执行举例
程序 1 : I1 C1 P1
程序 2 : I2 C2 P2
程序 3 : I3 C3 P3
图中, C1 和 I2 、 P1 、 C2 和 I3 、 P2 和 C3在时间上都是重叠的。
Tt1 t3t2
13/48
单道和多道程序处理的区别
单道:各逻辑步骤之间的关系是确定的、不受外界影响。
多道:并发处理存在直接或间接的相互依赖和相互制约的关系,从而使被处理的多道程序失去了程序固有的特性:封闭性、可再现性。
14/48
2 、进程的概念
处理机管理 主要完成作业调度,进程调度和进程控制,实质是进程管理。
进程的几种不同定义 进程是程序的一次执行; 进程是一个程序在给定活动空间和初始环境下,
在一个处理机上的执行过程; 进程是程序在一个数据集合上运行的过程。
进程的生命周期– 由“创建”而产生,由“调度”而执行,因得
不到资源而“暂停”执行,最后由“撤消”而消亡
15/48
进程的性质1 )动态性 描述程序在执行过程中的全部活动;2 )并发性 同时接受和处理多个进程;3 )异步性 不同进程在逻辑上相互独立,有各
自的运行“轨迹”;4 )制约性 由于计算机资源是有限的,不同进
程共享 CPU 和 I/O 通道及设备,因此相互制约
16/48
进程的状态 1 )三种基本状态
– 就绪 已经获得投入运行所必需的一切资源,一旦分配到 CPU ,就可以立即执行。
– 运行 进程获得了 CPU 及其它一切所需资源,处在运行之中的状态。
– 等待 由于资源得不到满足,进程运行受阻,处于暂停状态,也称为阻塞状态。
2 )进程在生命周期中,不断在这三种状态之间进行转换。
17/48
进程状态转换示意图
运行状态运行状态
等待状态等待状态
就绪状态
进程调度
等待资源
时间用完
获得资源
进程调度 程序
来自作业 调度
交作业 管理
18/48
3 、进程管理
进程管理的核心是进程的控制和调度。 进程控制 对系统中全部进程实行有效的管理;
如创建新进程、撤消已结束进程。 进程调度 在就绪队列中选择哪个进程投入运行。
19/48
4 。进程控制块—— PCB
进程的组成 程序 + 数据集合 + PCB
PCB 系统为创建的新进程建立一个 PCB 进程的唯一标识记录该进程的运行变化过程 系统通过 PCB对进程进行控制和管理。PCB 的组成
1) 进程标识符 2) 进程现行状态、 3) 中断现场保护区 4) 进程使用资源表 5) 进程优先级 6) 进程家族信息
20/48
PCB 的组织形式PCB 是定长记录 , 在队列中采用两种组织方式。
(1) 线性表结构 1 、简单、易实现 2 、插入、删除操作费时
(2) 链表结构 1 、插入、删除操作简单 2 、需要额外的存储空间,实现较复杂
21/48
PCB 线性表结构
PCB1
PCB2
PCB3
PCB4•••
PCBi
PCBi+1
PCBi+2
就绪表
等待表
就绪表起始地址
等待表起始地址
22/48
PCB 链表结构
运行队列
就绪队列
等待队列
PCB
PCB PCB PCB
PCB PCB PCB
23/48
5. 进程调度的任务及功能 进程调度任务
– 按一定的算法,动态地将处理机分配给就绪队列中的某个进程,使之执行。
进程调度功能–记录系统中所有进程的状态、优先数和所
用资源的情况。– 当 CPU 空闲时,按一定的算法将 CPU 分
配给某一进程、并确定 CPU 时间片的长度。
– 动态地调度进程、修改进程的状态、以及修改相应的排队队列。
24/48
进程调度方式
剥夺方式 当“重要“或”系统“的进程出现时,暂停正在执行的进程,立即将 CPU分配给“重要”或”系统“的进程。非剥夺方式 让正在执行的进程继续执行,直
到该进程完成或发生其它事件,而改变为其它状态后,才移交 CPU 控制权。
25/48
进程调度算法
调度算法的原则 1 、较少 CPU 空闲时间 ,提高资源利用率; 2 、对一般作业采用较合理的平均响应时间; 3 、应避免有的作业长期得不到响应的情况。常用的算法 优先数法 , 时间片轮流法 , 分级调度法 .确定优先数的方法 静态优先和动态优先
26/48
静态与动态优先数法静态优先数法在系统创建进程时确定的,确定后在进程
运行期间不再改变。动态优先数法 进程优先数在进程运行中,随进程特性
的变化不断修改。DOS是单用户、单任务,进程独享系统
资源,不需要复杂的调度管理和算法。
27/48
UNIX 的进程管理 UNIX 是多用户、多任务的 OS 。它将进
程状态细分为六种。
运行状态 1运行状态 1
暂停状态暂停状态
运行状态 2运行状态 2
终止状态终止状态
睡眠状态高优先 低优先
等待
状态唤醒就绪
状态
选中
落选
撤消
挂起
置运行
跟踪
28/48
WINDOWS’98 的进程管理
1) 进程和线程相结合 : 每个进程至少包括一个线程,在执行时给每个线程分配时间片。
2) 多任务 OS ,采用抢占式的调度算法来实现多任务操作。
3) 两种调度程序 主调度程序 : 选择最高优先级的线程运行 时间片调度程序 依据线程的处理顺序及虚拟
机的当前状态,分配一个时间片给被选线程,并执行。
29/48
三、内存管理
内存地址空间 : 物理地址空间不同系统下的寻址能力 : 系统 地址线 寻址能力
8086/8088 20 220=1M 80286 24 16M 80386 及以后 32 4G
内存的分区; OS区和用户程序区。
30/48
1. 内存管理的主要功能
存储分配和释放 对用户程序区 存储空间的扩充 用于所需存储空间大于
可用主存容量, 采用自动覆盖和虚拟存储 地址变换 程序语言的符号地址空间 ( 逻辑地址 ) 到物理地址的转换 ,也称为重定位。
存储保护 多道程序系统中,系统进程和用户进程间、用户和用户进程间的存储空间的保护 , 依靠硬件实现。
31/48
存储管理方法
单一连续区分配法 多连续区分配法 页式管理 段式管理
32/48
2. 单一连续区分配法分配方式 1) 静态分配 在作业装入前,一次性将逻辑地
址全部转换为绝对地址 , 执行过程中不再改变。 特点 : 要求分配连续空间2) 动态分配 在执行过程中,动态实现。 通过硬件的地址变换机构实现
33/48
单一连续区分配法示意图
已分配空间已分配空间
OS区域
用户区域
自由空间
特点:
定位容易,使用简单
但在多道程序处理 情况下,主存资源 利用率低
34/48
单一连续区分配法示意图
基地址 =2000
CPUCPU ++
操作系统
自由空间
用户区域
主存空间定位寄存器
逻辑地址 =1500
2000
3500绝对地址
绝对地址 = 基地址 +逻辑地址
35/48
3. 多连续区分配法概念 把主存空间划分为若干个连续的区域 ,
每个区域运行一个程序。硬件支持 增加边界寄存器 LOW 、 UP ,确定
分块的上、下边界。方法 固定分区和变长分区
36/48
固定分区(多连续分区)
1) 主存划分为几个固定大小的连续区域; 2) 建立分配表,记录每个分区的大小、区号、起始地址、及占用标志等信息。
3) 作业调度时,根据作业表来确定程序的重定位地址。
37/48
固定分区示意图
区号 长度 起址 状态1 8K 20K 已分
2 14K 30K 已分3 28K 50K 已分
4 76K 80K 未分
分 区 表操作系统作业 A
作业 B
作业 C
第 1 分区第 2 分区第 3 分区
未分区
20K
30K
50k
80K
主存“碎片”
38/48
固定分区法特点
优点: 管理调度简单、分区策略适合于工作负荷比较确定的系统。
缺点: 主存”碎片”太多。
39/48
变长分区(多连续分区))概念 根据要装入作业的实际大小划分区域,且分区个数也可以调整;用两张表管理主存:已分配分区表 P 和未分配分区表F 。
优点:主存“碎片”较小;缺点: 1) 选择剩下的空白区较小,无法使用; 2) 寻找一个较大的空白区费时 3) 需归并主存“碎片” ,移动信息
40/48
多连续区分配法示意图
已分配分区表 P
未分配分区表 F
区号 长度 起始地址 状态 1 8K 20K 已分 2 16K 28K 已分 3 ——- —— 空表目
4 124K 108K 已分
区号 长度 起始地址 状态 1 64K 44K 可用 2 24K 232K 可用 3 ——- —— 空表目 4 •••• ••
5 •••• ••
操作系统 作业 1
作业 2
20K
28K
5 •••• •• 44K 可用分区 1
108K
操作系统
可用分区 1
作业 3
可用分区 2232K
41/48
4. 分页管理
–页 作业地址空间划分的等长单位–块 主存空间划分的等长的单位–页表 地址重定位表 , 记录页号与该页
在主存中的块号的对应关系。– 分页管理 作业中的逻辑地址通过动态地址转换机制 转换为物理地址:
页号,页内地址 → 块号,块内地址 特点 : 可以将作业分配在不连续的物理
空间。
42/48
分页管理法示意图
作业号 页表长 页表起址 状态
2 3 1032 已分 1 3 1024 已分
3 2 1040 已分 4 —— —— 空表目
作业表 JT 作业 A 作业 B
作业 C
页号 块号 页号 块号
页号 块号
0 4
1 5 2 6
0 71 10
0 2 1 3 2 8
43/48
动态地址变换示意图
控制寄存器
作业地址空间 作业页表1 2 3 4
LOAD 1 , 2500
页表长度 页表始址有效地址
2 452
页号 块号0 4
1 6
2 8 8 452
页号
逻辑地址 =2×1024+452 =2500
1
100
1K
2K
2500
3K
物理地址 = 8×1024+452=8644
块大小 =1024
页大小 =1024
44/48
5. 分段管理段 将程序划分为相互独立、具有一定逻辑功能的模块、且分别按名单独存放,这些模块称为段。
段内地址 (逻辑地址 ) 由段号和段内偏移量确定段表 系统为每个作业建立的表格 , 一个表项由
段号、段长度、段起始地址组成。
45/48
分段管理示意图
66
0
1K
0100
500
0
300
0200
LOAD 1 , 1|100
Y : 12345
C :
0 段
1 段
2 段
3 段
段号长度 起始地址 0 1K 6K
1 500 8K 2 300 4K
3 200 9200
分段地址空间
分段表
OS
DATA
LOAD1 , 1| 100 主程序
SUB
WORK
12345
主存空间
46/48
分段管理特点优点: 便于模块化处理 便于动态连接 便于分段共享缺点: 硬件成本高 地址转换花费时间兼有段式和页式优点可形成段页式
存储管理
47/48
6. 常用 OS 的内存管理
(1) DOS采用单一连续分区的方法,但却
综合运用了多连续分区的管理技术。
(2) UNIX采用分段管理方法,存储分配采
用优先适应算法
48/48
(3) Windows 98 存储器管理 1) 支持常规内存、扩展内存和扩充内存和虚拟内存管理( VM )。
2) VM 是是通过硬盘来完成与物理内存相关的功能;
3) 寻址 4GB 空间; 4) 虚拟内存管理的实现 :
换页进程 : 物理内存和硬盘之间移动数据 地址转换进程,将物理地址翻译成虚拟内
存地址或映射文件