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