4资源管理技术 主要內容:操作系统概述、并发程序开发技术、存储空间的组织、几种常见的操作系统 重点:同步、互斥、死锁、进程、重定位概念理解,并发程序设计技术 难点:进程间的通信 41概念 1操作系统的定义 操作系统是计算机系统中直接控制和管理(手段)各种软硬件资源对象),以方便用户充分而有效地利用 这些资源(目标)的程序的集合(实体) 2操作系统的目标 1)方便性:提供给用户易用统一的手段 2)有效性: 有效地控制各种软硬件资源,使之得到充分利用(保持忙碌和有序占用) 合理组织系统工作流程,改善系统性能(提高系统效率) 为用户方便的使用计算机提供良好的环境(提高用户使用效率) 3)可扩充性:模块化,易添加和修改 4)开放性例:网络时代的操作系统 对应用程序最大可能的提供开放统一的环境 应用程序能方便地移植和互操作。 3操作系统的作用 是用户和计算机系统之间的接口 接口位置:位于用户与计算机硬件系统之间 接口作用 从用户角度:用户可以通过各种接口,获得访问、使用系统资源的能力 从系统角度:系统在有序管理计算机硬件系统前提下,向用户提供调用接口 操作系统是系统资源管理者 系统资源:处理机(CPU)、存储器、LO设备及信息(软件——一程序和数据)。 处理机管理:纪录处理机状态,按策略分配处理机 存储器管理:纪录存储器使用情况,按策略分配,保护信息不受破坏 I/O管理:按要求和策略分配设备,优化设备调度,提高设备使用效率。 信息管理:以文件方式组织信息。方便的查询和保护 412操作系统的发展历史 ■1.3操作系统的发展历史 1从人工操作到机器自动处理 人工操作缓慢 机器按照事先编辑好的过程完成任务的转换 减少两个作业之间的人工干预,由系统自动调度作业逐个投入运行 从联机ⅣO到脱机IO CPU速度迅速提高而IO设备依然缓慢,CPU化大量时间等待设备 输入输出在外围机控制下进行 3.从单道程序处理到多道程序同时处理
4 资源管理技术 主要内容:操作系统概述、并发程序开发技术、存储空间的组织、几种常见的操作系统 重点:同步、互斥、死锁、进程、重定位概念理解,并发程序设计技术 难点:进程间的通信 4.1 概念 1 操作系统的定义 操作系统是计算机系统中直接控制和管理(手段)各种软硬件资源(对象),以方便用户充分而有效地利用 这些资源(目标)的程序的集合(实体). 2 操作系统的目标 1)方便性:提供给用户易用统一的手段 2)有效性: 有效地控制各种软硬件资源,使之得到充分利用(保持忙碌和有序占用) 合理组织系统工作流程,改善系统性能(提高系统效率) 为用户方便的使用计算机提供良好的环境(提高用户使用效率) 3) 可扩充性: 模块化,易添加和修改 4)开放性例:网络时代的操作系统 对应用程序最大可能的提供开放统一的环境, 应用程序能方便地移植和互操作。 3 操作系统的作用 ◼ 是用户和计算机系统之间的接口 接口位置:位于用户与计算机硬件系统之间。 接口作用: 从用户角度:用户可以通过各种接口,获得访问、使用系统资源的能力。 从系统角度:系统在有序管理计算机硬件系统前提下,向用户提供调用接口 ◼ 操作系统是系统资源管理者 系统资源:处理机(CPU)、存储器、I/O 设备及信息(软件——程序和数据)。 处理机管理:纪录处理机状态,按策略分配处理机。 存储器管理:纪录存储器使用情况,按策略分配,保护信息不受破坏。 I/O 管理:按要求和策略分配设备,优化设备调度,提高设备使用效率。 信息管理:以文件方式组织信息。方便的查询和保护。 4.1.2 操作系统的发展历史 ◼ 1.3 操作系统的发展历史 1.从人工操作 到 机器自动处理 人工操作缓慢 机器按照事先编辑好的过程完成任务的转换 减少两个作业之间的人工干预,由系统自动调度作业逐个投入运行 2. 从联机 I/O 到 脱机 I/O CPU 速度迅速提高而 I/O 设备依然缓慢, CPU 化大量时间等待设备 输入输出在外围机控制下进行 3. 从单道程序处理 到 多道程序同时处理
413操作系统的分类 单道批处理系统 作业成批进入系统后备队列 按照一定的策略调度一个作业在系统中运行 背景: 系统资源十分昂贵 输入速度与CPU的速度不匹配 联机单道批处理没有解决IO与CPU速度不匹配问题 脱机单道批处理可以使CPU与IO并行工作,提高效率 单道批处理 单道批处理 用户程序一O中断请求 监督程序中断处理 其它 O操作VO启动o完成 食统方 作业 单道程序系统 单道批处理系统特点 输出井其它 ◆内存中只保持一道作业运行 单道批处理系统 ◆作业完成顺序与其进入内存的顺序直接相关 2多道批处理系统 作业成批进入系统后备队列 按照一定的策略调度多个作业在系统中运行 进一步提高系统吞吐量和利用率 O中断请求 多道批处理 用户程序 监督程序 E批进入 O操作 O完成 单道程序系统 输出井其它 程序A和B 程序A 单蚍处统 都得到了 推进并发 程序B 作业 成批进入 多道并发执行 OS调度 VO A VO B 目输入 输出井其它 多道程序系统 多批处系能 多道批处理对资源利用率的提高: 提高CPU,内存,1O设备的利用率 多道批处理系统的特点 多道性 无序性:作业进入内存的顺序与作业完成的顺序不直接相关。 需要进行两级调度 高级调度:选取多个作业进入内存
4.1.3 操作系统的分类 1 单道批处理系统 作业成批进入系统后备队列 按照一定的策略调度一个作业在系统中运行 背景: 系统资源十分昂贵 输入速度与 CPU 的速度不匹配 联机单道批处理没有解决 I/O 与 CPU 速度不匹配问题 脱机单道批处理可以使 CPU 与 I/O 并行工作,提高效率 单道批处理 其它 作业 成批进入 输入井 输出井 其它 传统方式 单道批处理系统 低速 高速 ◼ 单道批处理系统特点: ◆内存中只保持一道作业运行 ◆作业完成顺序与其进入内存的顺序直接相关 单道批处理 单道程序系统 用户程序 监督程序 I/O操作 I/O中断请求 I/O完成 t1 t2 中断处理 I/O启动 2 多道批处理系统 作业成批进入系统后备队列 按照一定的策略调度多个作业在系统中运行 进一步提高系统吞吐量和利用率 单道程序系统 用户程序 监督程序 I/O操作 I/O中断请求 I/O完成 多道程序系统 程序A 程序B OS调度 I/O A I/O B t1 t1 t2 t2 程序A和B 都得到了 推进,并发 并行 多道批处理 其它 作业 成批进入 输入井 输出井 单道批处理系统 高速 其它 作业 成批进入 输出井 多道批处理系统 多道并发执行 输入井 多道批处理对资源利用率的提高: 提高 CPU, 内存, I/O 设备的利用率 多道批处理系统的特点: 多道性: 无序性: 作业进入内存的顺序与作业完成的顺序不直接相关。 需要进行两级调度 高级调度: 选取多个作业进入内存
低级调度:在内存中的多个作业之间完成处理机使用权的切换 小结:批处理系统的特点: 资源利用率高,吞吐量大:能根据作业对系统资源的需求和系统当前状态,充分调度资源。 无交互能力:作业进入系统后,系统自动调度,管理员或用户不干预系统的调度情况 ■分时系统解决人机交互,进行及时响应,共享主机 分时系统实现:按时间片轮转:时间片:作业使用CPU的时间;时间片中断处理 将时间片划分很小,从一个较长时间看,每一个用户都似乎独享主机 例:电影胶片每秒播放25帧图象。即每幅图象占用0.04秒 若将帧速率提高一倍,就可以在屏幕的上下两方同时播放两部电影 时间片的选择:几十到几百毫秒之间 太大:及时交互性效果不明显 太小:作业频繁切换,增加系统开销 ■实时系统 分时系统的响应往往要等待一个循环周期。 实时系统必须在规定的时间内对用户请求或外部事件及时响应 实时控制:实时采集现场数据,完成自动化控制例:导弹导航 特点:响应速度足够快可靠性高 实时信息査询:根据用户要求进行信息检索和处理例:远程订票系统 特点:强大的文件系统或数据库;操作简便、安全、查询快速 15操作系统的特征 并发性、共享性、虚拟性和异步性 1.5.1程序执行的并发性:可以大大提高资源利用率 并行:在某一时刻同时发生 并发:在一段时间内同时发生 1.52资源的共享性 系统中的资源可供多个并发执行的程序共同使用 互斥共享 某些资源只能互斥访问,如打印机。 系统在一段时间内让多个程序分别访问了互斥资源是为共享 时访问 某些资源允许多个程序同时访问,如屏幕 系统并发调度多个程序共享资源 ■共享性与并发性的关系—互为条件 (共享)对资源进行有效的管理,使得一个作业在访问I/O设备而不使用CPU时,其他作业 可以使用CPU—一并发执行 (并发)程序并发执行,系统资源在一段时间内为多个程序共同访问,资源得到了共享—资 源的共享 1.5.3对象的虚拟性 虚拟:把一个物理实体通过一定的技术变成若干个逻辑上的对应物 1.54、程序执行的异步性(不确定性) 程序之间是以异步的方式推进的 异步、不确定
低级调度: 在内存中的多个作业之间完成处理机使用权的切换 小结:批处理系统的特点: 资源利用率高,吞吐量大: 能根据作业对系统资源的需求和系统当前状态,充分调度资源。 无交互能力: 作业进入系统后,系统自动调度,管理员或用户不干预系统的调度情况 ◼ 分时系统:解决人机交互,进行及时响应,共享主机 分时系统实现:按时间片轮转: 时间片:作业使用 CPU 的时间; 时间片中断处理 将时间片划分很小,从一个较长时间看,每一个用户都似乎独享主机 例:电影胶片每秒播放 25 帧图象。即每幅图象占用 0.04 秒 若将帧速率提高一倍,就可以在屏幕的上下两方同时播放两部电影 时间片的选择:几十到几百毫秒之间。 太大:及时交互性效果不明显 太小:作业频繁切换,增加系统开销 ◼ 实时系统 分时系统的响应往往要等待一个循环周期。 实时系统必须在规定的时间内对用户请求或外部事件及时响应 实时控制: 实时采集现场数据,完成自动化控制 例:导弹导航 特点: 响应速度足够快 可靠性高 实时信息查询: 根据用户要求进行信息检索和处理 例:远程订票系统 特点: 强大的文件系统或数据库; 操作简便、安全、查询快速 1.5 操作系统的特征 并发性、共享性、虚拟性和异步性 1.5.1 程序执行的并发性: 可以大大提高资源利用率 并行:在某一时刻同时发生 并发:在一段时间内同时发生 1.5.2 资源的共享性 系统中的资源可供多个并发执行的程序共同使用 互斥共享: 某些资源只能互斥访问,如打印机。 系统在一段时间内让多个程序分别访问了互斥资源是为共享 同时访问: 某些资源允许多个程序同时访问,如屏幕。 系统并发调度多个程序共享资源 ◼ 共享性与并发性的关系——互为条件 (共享)对资源进行有效的管理,使得一个作业在访问 I/O 设备而不使用 CPU 时,其他作业 可以使用 CPU——并发执行 (并发)程序并发执行,系统资源在一段时间内为多个程序共同访问,资源得到了共享——资 源的共享 1.5.3 对象的虚拟性 虚拟:把一个物理实体通过一定的技术变成若干个逻辑上的对应物。 1.5.4、程序执行的异步性(不确定性) 程序之间是以异步的方式推进的。 异步、不确定
可能程序完成的顺序与程序进入内存(系统)的顺序不同 不可预知:程序何时执行、何时暂停、推进进度、完成时间等 422进程 2.22进程的特征 动态性:生命期 并发性:进程执行时间的重叠(宏观) 独立性:资源分配与调度时相对独立 异步性:“走走停停”,不可预知 结构性:进程的结构——进程的“映像 .3进程的状态与转换 (1)三种基本的进程状态 犹绪态:进程已获得除CPU以外的其他资源 执行态:进程获得CPU正在运行的状态 阻塞态:进程因等待某事件而暂时不能运行的状态 进程的状态转换 进程状态转换 新进程)接纳中断或成(结東 进程状态转换 时间片用完 ◆进程在状态转换的过程中推进完毕 动官 万事具备 获得cPU 只欠“东风 执行 正在运行断新状态一就绪 接纳 进入就绪队列 就绪一执行进程调度 分配cPU 进程调度 执行一轴東完成 释放资源 O完成或 O请求或 享件发生 等待某事件 执行一就绪时间片到时系统剥夺cPU 欠缺某些条件 执行一阻塞 O请求 进程放弃cPU 等待某事件进入阻塞等特队列 状态转换原因图 阻塞—就绪阻塞事件释放进程进入就绪队 (3)挂起状态 什么是挂起状态: 将进程置于静止状态 正在执行的进程暂停执行 就绪的进程暂不接受调度 阻塞的进程即使阻塞事件释放也不能继续执行 引入挂起状态的原因 人为:观察的需要 系统:检测的需要,调节系统负荷
可能程序完成的顺序与程序进入内存(系统)的顺序不同 不可预知:程序何时执行、何时暂停、推进进度、完成时间等 4.2.2 进程 2.2.2 进程的特征 动态性:生命期 并发性:进程执行时间的重叠(宏观) 独立性:资源分配与调度时相对独立 异步性:“走走停停”,不可预知 结构性:进程的结构——进程的“映像” 2.2.3 进程的状态与转换 (1)三种基本的进程状态 就绪态:进程已获得除 CPU 以外的其他资源。 执行态:进程获得 CPU 正在运行的状态 阻塞态:进程因等待某事件而暂时不能运行的状态 21 进程的状态转换 新进程 就绪 执行 结束 阻塞 接纳 进程调度 中断或 时间片用完 完成 I/O请求或 等待某事件 I/O完成或 事件发生 状态转换原因图 万事具备, 只欠“东风” CPU 获得CPU 正在运行 欠缺某些条件 23 进程状态转换 ◼ 进程状态转换 ◆进程在状态转换的过程中推进完毕 新状态 就绪 事件 动作 接纳 进入就绪队列 就绪 执行 进程调度 分配CPU 执行 结束 完成 释放资源 执行 阻塞 时间片到时 高优先中断 系统剥夺CPU 执行 就绪 I/O请求 等待某事件 进程放弃CPU 进入阻塞等待队列 阻塞 就绪 阻塞事件释放 进程进入就绪队列 (3)挂起状态 什么是挂起状态: 将进程置于静止状态 正在执行的进程暂停执行 就绪的进程暂不接受调度 阻塞的进程即使阻塞事件释放也不能继续执行 引入挂起状态的原因 人为:观察的需要 系统:检测的需要,调节系统负荷
进程的挂起状态 ■两种挂起状态 ◆静止就绪与静止阻塞 ◆一般情况下,挂起状态的进程将从内存移到外存 引入挂起状态后的系统状态转换 23进程的控制 2.3.1进程控制块( Process Control block) 系统为了管理进程设置的一个专门的数据结构进程控制块,用它来记录进程的外部特征,描述进程的 运动变化过程 234进程与程序 1、静与动 程序是指令的集合,是静态概念 进程是程序的执行过程,是动态概念 2、记录与过程 程序可作为软件资源长期保存 进程只是一次短暂活动或过程 3、对应关系 个程序可对应多个进程 个进程可包含多段程序 所以,不能以进程执行的程序来识别进程。识别进程,控制进程的关键是掌握PCB 24、线程的基本概念 24l、引入线程的原因 系统在调度一个进程的同时还涉及资源的分配与状态转换等一系列动作 如果在调度一个线程时不涉及资源的管理,调度过程会大大加快 242线程 线程是进程内的一个可调度实体、是一个执行单元、轻量进程 一个进程可建立多个线程,这些线程共享进程拥有的全部资源 多个线程之间并发执行,切换时快速简便 线程具有进程的四个特征:动态性、并发性、(运行)独立性、异步性 如:在 Windows系统中,各进程独立使用各自的4GB容量的内存空间,而同一进程的多个线程则共享 个4GB空间。 例:进程1需要访问1000号单元的内容,进程2也需要访问1000号单元的内容,他们访问的并不是同 个单元。而进程1的两个线程访问1000号单元,则是同一个单元 243线程与进程的比较
25 进程的挂起状态 ◼ 两种挂起状态 ◆静止就绪与静止阻塞 ◆一般情况下,挂起状态的进程将从内存移到外存 ◼ 引入挂起状态后的系统状态转换 就绪 执行 阻塞 静止 阻塞 静止 就绪 2.3 进程的控制 2.3.1 进程控制块(Process Control Block) 系统为了管理进程设置的一个专门的数据结构进程控制块,用它来记录进程的外部特征,描述进程的 运动变化过程。 2.3.4 进程与程序 1、静与动 程序是指令的集合,是静态概念 进程是程序的执行过程,是动态概念 2、记录与过程 程序可作为软件资源长期保存 进程只是一次短暂活动或过程 3、对应关系 一个程序可对应多个进程 一个进程可包含多段程序 所以,不能以进程执行的程序来识别进程。识别进程,控制进程的关键是掌握 PCB 2.4、线程的基本概念 2.4.1、引入线程的原因 系统在调度一个进程的同时还涉及资源的分配与状态转换等一系列动作 如果在调度一个线程时不涉及资源的管理,调度过程会大大加快。 2.4.2 线程 线程是进程内的一个可调度实体、是一个执行单元、轻量进程。 一个进程可建立多个线程,这些线程共享进程拥有的全部资源 多个线程之间并发执行,切换时快速简便。 线程具有进程的四个特征:动态性、并发性、(运行)独立性、异步性 如:在 Windows 系统中,各进程独立使用各自的 4GB 容量的内存空间,而同一进程的多个线程则共享一 个 4GB 空间。 例:进程 1 需要访问 1000 号单元的内容,进程 2 也需要访问 1000 号单元的内容,他们访问的并不是同一 个单元。而进程 1 的两个线程访问 1000 号单元,则是同一个单元。 2.4.3 线程与进程的比较