4资源管理技术 主要內容:操作系统概述、并发程序开发技术、存储空间的组织、几种常见的操作系统 重点:同步、互斥、死锁、进程、重定位概念理解,并发程序设计技术 难点:进程间的通信 41概念 1操作系统的定义 操作系统是计算机系统中直接控制和管理(手段)各种软硬件资源对象),以方便用户充分而有效地利用 这些资源(目标)的程序的集合(实体) 2操作系统的目标 1)方便性:提供给用户易用统一的手段 2)有效性: 有效地控制各种软硬件资源,使之得到充分利用(保持忙碌和有序占用) 合理组织系统工作流程,改善系统性能(提高系统效率) 为用户方便的使用计算机提供良好的环境(提高用户使用效率) 3)可扩充性:模块化,易添加和修改 4)开放性例:网络时代的操作系统 对应用程序最大可能的提供开放统一的环境 应用程序能方便地移植和互操作。 3操作系统的作用 是用户和计算机系统之间的接口 接口位置:位于用户与计算机硬件系统之间 接口作用 从用户角度:用户可以通过各种接口,获得访问、使用系统资源的能力 从系统角度:系统在有序管理计算机硬件系统前提下,向用户提供调用接口 操作系统是系统资源管理者 系统资源:处理机(CPU)、存储器、LO设备及信息(软件——一程序和数据)。 处理机管理:纪录处理机状态,按策略分配处理机 存储器管理:纪录存储器使用情况,按策略分配,保护信息不受破坏 I/O管理:按要求和策略分配设备,优化设备调度,提高设备使用效率。 信息管理:以文件方式组织信息。方便的查询和保护 42操作系统的发展历史 1.从人工操作到机器自动处理 人工操作缓慢 机器按照事先编辑好的过程完成任务的转换 减少两个作业之间的人工干预,由系统自动调度作业逐个投入运行 2.从联机ⅣO到脱机IO CPU速度迅速提高而IO设备依然缓慢,CPU化大量时间等待设备 输入输出在外围机控制下进行 3从单道程序处理到多道程序同时处理
4 资源管理技术 主要内容:操作系统概述、并发程序开发技术、存储空间的组织、几种常见的操作系统 重点:同步、互斥、死锁、进程、重定位概念理解,并发程序设计技术 难点:进程间的通信 4.1 概念 1 操作系统的定义 操作系统是计算机系统中直接控制和管理(手段)各种软硬件资源(对象),以方便用户充分而有效地利用 这些资源(目标)的程序的集合(实体). 2 操作系统的目标 1)方便性:提供给用户易用统一的手段 2)有效性: 有效地控制各种软硬件资源,使之得到充分利用(保持忙碌和有序占用) 合理组织系统工作流程,改善系统性能(提高系统效率) 为用户方便的使用计算机提供良好的环境(提高用户使用效率) 3) 可扩充性: 模块化,易添加和修改 4)开放性例:网络时代的操作系统 对应用程序最大可能的提供开放统一的环境, 应用程序能方便地移植和互操作。 3 操作系统的作用 ◼ 是用户和计算机系统之间的接口 接口位置:位于用户与计算机硬件系统之间。 接口作用: 从用户角度:用户可以通过各种接口,获得访问、使用系统资源的能力。 从系统角度:系统在有序管理计算机硬件系统前提下,向用户提供调用接口 ◼ 操作系统是系统资源管理者 系统资源:处理机(CPU)、存储器、I/O 设备及信息(软件——程序和数据)。 处理机管理:纪录处理机状态,按策略分配处理机。 存储器管理:纪录存储器使用情况,按策略分配,保护信息不受破坏。 I/O 管理:按要求和策略分配设备,优化设备调度,提高设备使用效率。 信息管理:以文件方式组织信息。方便的查询和保护。 4.2 操作系统的发展历史 1.从人工操作 到 机器自动处理 人工操作缓慢 机器按照事先编辑好的过程完成任务的转换 减少两个作业之间的人工干预,由系统自动调度作业逐个投入运行 2. 从联机 I/O 到 脱机 I/O CPU 速度迅速提高而 I/O 设备依然缓慢, CPU 化大量时间等待设备 输入输出在外围机控制下进行 3 从单道程序处理 到 多道程序同时处理
43操作系统的分类 1单道批处理系统 作业成批进入系统后备队列 按照一定的策略调度一个作业在系统中运行 背景:系统资源十分昂贵 输入速度与CPU的速度不匹配 联机单道批处理没有解决IO与CPU速度不匹配问题 脱机单道批处理可以使CPU与IO并行工作,提高效率 2多道批处理系统 作业成批进入系统后备队列,按照一定的策略调度多个作业在系统中运行,进一步提高系统吞吐量和 利用率。多道批处理对资源利用率的提高:提高CPU,内存,IO设备的利用率 多道批处理系统的特点 多道性:多个程序或作业 无序性:作业进入内存的顺序与作业完成的顺序不直接相关。 需要进行两级调度 高级调度:选取多个作业进入内存 低级调度:在内存中的多个作业之间完成处理机使用权的切换。 小结:批处理系统的特点: 资源利用率高,吞吐量大:能根据作业对系统资源的需求和系统当前状态,充分调度资源。 无交互能力:作业进入系统后,系统自动调度,管理员或用户不干预系统的调度情况。 3分时系统:解决人机交互,进行及时响应,共享主机 分时系统实现:按时间片轮转:时间片:作业使用CPU的时间;时间片中断处理 将时间片划分很小,从一个较长时间看,每一个用户都似乎独享主机 例:电影胶片每秒播放25帧图象。即每幅图象占用0.04秒 若将帧速率提高一倍,就可以在屏幕的上下两方同时播放两部电影 时间片的选择:几十到几百毫秒之间。 太大:及时交互性效果不明显 太小:作业频繁切换,增加系统开销 实时系统 分时系统的响应往往要等待一个循环周期。 实时系统必须在规定的时间内对用户请求或外部事件及时响应 实时控制:实时采集现场数据,完成自动化控制例:导弹导航 特点:响应速度足够快可靠性高 实时信息查询:根据用户要求进行信息检索和处理例:远程订票系统 特点:强大的文件系统或数据库;操作简便、安全、查询快速 44操作系统的特征 并发性、共享性、虚拟性和异步性 1程序执行的并发性:可以大大提高资源利用率 并行:在某一时刻同时发生 并发:在一段时间内同时发生
4.3 操作系统的分类 1 单道批处理系统 作业成批进入系统后备队列 按照一定的策略调度一个作业在系统中运行 背景:系统资源十分昂贵 输入速度与 CPU 的速度不匹配 联机单道批处理没有解决 I/O 与 CPU 速度不匹配问题 脱机单道批处理可以使 CPU 与 I/O 并行工作,提高效率 2 多道批处理系统 作业成批进入系统后备队列,按照一定的策略调度多个作业在系统中运行,进一步提高系统吞吐量和 利用率。多道批处理对资源利用率的提高:提高 CPU, 内存, I/O 设备的利用率 多道批处理系统的特点: 多道性: 多个程序或作业 无序性: 作业进入内存的顺序与作业完成的顺序不直接相关。 需要进行两级调度 高级调度: 选取多个作业进入内存 低级调度: 在内存中的多个作业之间完成处理机使用权的切换。 小结:批处理系统的特点: 资源利用率高,吞吐量大: 能根据作业对系统资源的需求和系统当前状态,充分调度资源。 无交互能力: 作业进入系统后,系统自动调度,管理员或用户不干预系统的调度情况。 3 分时系统:解决人机交互,进行及时响应,共享主机 分时系统实现:按时间片轮转: 时间片:作业使用 CPU 的时间; 时间片中断处理 将时间片划分很小,从一个较长时间看,每一个用户都似乎独享主机 例:电影胶片每秒播放 25 帧图象。即每幅图象占用 0.04 秒 若将帧速率提高一倍,就可以在屏幕的上下两方同时播放两部电影 时间片的选择:几十到几百毫秒之间。 太大:及时交互性效果不明显 太小:作业频繁切换,增加系统开销 4 实时系统 分时系统的响应往往要等待一个循环周期。 实时系统必须在规定的时间内对用户请求或外部事件及时响应 实时控制: 实时采集现场数据,完成自动化控制 例:导弹导航 特点: 响应速度足够快 可靠性高 实时信息查询: 根据用户要求进行信息检索和处理 例:远程订票系统 特点: 强大的文件系统或数据库; 操作简便、安全、查询快速 4.4 操作系统的特征 并发性、共享性、虚拟性和异步性 1 程序执行的并发性: 可以大大提高资源利用率 并行:在某一时刻同时发生 并发:在一段时间内同时发生
2资源的共享性 系统中的资源可供多个并发执行的程序共同使用 互斥共享 某些资源只能互斥访问,如打印机。 系统在一段时间内让多个程序分别访问了互斥资源是为共享 同时访问: 某些资源允许多个程序同时访问,如屏幕 系统并发调度多个程序共享资源 共享性与并发性的关系—互为条件 (共享)对资源进行有效的管理,使得一个作业在访问I/O设备而不使用CPU时,其他作业 可以使用CPU—一并发执行 并发)程序并发执行,系统资源在一段时间内为多个程序共同访问,资源得到了共享——资 源的共享 3对象的虚拟性 虚拟:把一个物理实体通过一定的技术变成若干个逻辑上的对应物 4程序执行的异步性(不确定性 程序之间是以异步的方式推进的 异步、不确定 可能程序完成的顺序与程序进入内存(系统)的顺序不同 不可预知:程序何时执行、何时暂停、推进进度、完成时间等 45进程的特征 动态性:生命期 并发性:进程执行时间的重叠(宏观) 独立性:资源分配与调度时相对独立 异步性:“走走停停”,不可预知 结构性:进程的结构——一进程的“映像” 46进程的状态与转换 )三种基本的进程状态 就绪态:进程已获得除CPU以外的其他资源。 执行态:进程获得CPU正在运行的状态 阻塞态:进程因等待某事件而暂时不能运行的状态 (2)进程的控制 进程控制块( Process Control block) 系统为了管理进程设置的一个专门的数据结构进程控制块,用它来记录进程的外部特征,描述进程的 运动变化过程 47进程与程序 静与动 程序是指令的集合,是静态概念 进程是程序的执行过程,是动态概念 2、记录与过程 程序可作为软件资源长期保存 进程只是一次短暂活动或过程
2 资源的共享性 系统中的资源可供多个并发执行的程序共同使用 互斥共享: 某些资源只能互斥访问,如打印机。 系统在一段时间内让多个程序分别访问了互斥资源是为共享 同时访问: 某些资源允许多个程序同时访问,如屏幕。 系统并发调度多个程序共享资源 ◼ 共享性与并发性的关系——互为条件 (共享)对资源进行有效的管理,使得一个作业在访问 I/O 设备而不使用 CPU 时,其他作业 可以使用 CPU——并发执行 (并发)程序并发执行,系统资源在一段时间内为多个程序共同访问,资源得到了共享——资 源的共享 3 对象的虚拟性 虚拟:把一个物理实体通过一定的技术变成若干个逻辑上的对应物。 4 程序执行的异步性(不确定性) 程序之间是以异步的方式推进的。 异步、不确定 可能程序完成的顺序与程序进入内存(系统)的顺序不同 不可预知:程序何时执行、何时暂停、推进进度、完成时间等 4.5 进程的特征 动态性:生命期 并发性:进程执行时间的重叠(宏观) 独立性:资源分配与调度时相对独立 异步性:“走走停停”,不可预知 结构性:进程的结构——进程的“映像” 4.6 进程的状态与转换 (1)三种基本的进程状态 就绪态:进程已获得除 CPU 以外的其他资源。 执行态:进程获得 CPU 正在运行的状态 阻塞态:进程因等待某事件而暂时不能运行的状态 (2) 进程的控制 进程控制块(Process Control Block) 系统为了管理进程设置的一个专门的数据结构进程控制块,用它来记录进程的外部特征,描述进程的 运动变化过程。 4.7 进程与程序 1、静与动 程序是指令的集合,是静态概念 进程是程序的执行过程,是动态概念 2、记录与过程 程序可作为软件资源长期保存 进程只是一次短暂活动或过程
3、对应关系 个程序可对应多个进程 个进程可包含多段程序 所以,不能以进程执行的程序来识别进程。识别进程,控制进程的关键是掌握PCB 48、线程的基本概念 1引入线程的原因 系统在调度一个进程的同时还涉及资源的分配与状态转换等一系列动作 如果在调度一个线程时不涉及资源的管理,调度过程会大大加快。 2线程 线程是进程内的一个可调度实体、是一个执行单元、轻量进程。 个进程可建立多个线程,这些线程共享进程拥有的全部资源 多个线程之间并发执行,切换时快速简便。 线程具有进程的四个特征:动态性、并发性、(运行)独立性、异步性 如:在 Windows系统中,各进程独立使用各自的4GB容量的内存空间,而同一进程的多个线程则共享 个4GB空间。 例:进程1需要访问1000号单元的内容,进程2也需要访问1000号单元的内容,他们访问的并不是同 个单元。而进程1的两个线程访问1000号单元,则是同一个单元。 49线程与进程的比较 (1)调度 同一进程的多线程间调度时,不引起进程的切换 不同进程的线程间调度,需要进程切换 (2)并发性 一个进程的多个线程之间可并发执行 (3)资源的拥有 线程不拥有系统资源,不拥有代码段、数据段。 (4)系统开销 线程:系统仅为其保存少量寄存器内容 进程:整个当前CPU环境,资源清单等 4.10死锁 当两个或两个以上进程因竞争资源而无休止地处于相互等待状态 死锁将使进程已占用的资源的不到利用 严重情况下,死锁“蔓延”开,会导致“死机 死锁产生的必要条件 死锁和“资源”密切相关 1)资源访问的互斥条件 2)请求和保持条件 进程在需要时才申请资源—进程对资源的申请是分步的 进程在申请新资源时,对旧资源仍然保持占用 ◆3)不剥夺条件 资源一旦获得后在Ⅴ(s)之前不放弃
3、对应关系 一个程序可对应多个进程 一个进程可包含多段程序 所以,不能以进程执行的程序来识别进程。识别进程,控制进程的关键是掌握 PCB 4.8、线程的基本概念 1 引入线程的原因 系统在调度一个进程的同时还涉及资源的分配与状态转换等一系列动作 如果在调度一个线程时不涉及资源的管理,调度过程会大大加快。 2 线程 线程是进程内的一个可调度实体、是一个执行单元、轻量进程。 一个进程可建立多个线程,这些线程共享进程拥有的全部资源 多个线程之间并发执行,切换时快速简便。 线程具有进程的四个特征:动态性、并发性、(运行)独立性、异步性 如:在 Windows 系统中,各进程独立使用各自的 4GB 容量的内存空间,而同一进程的多个线程则共享一 个 4GB 空间。 例:进程 1 需要访问 1000 号单元的内容,进程 2 也需要访问 1000 号单元的内容,他们访问的并不是同一 个单元。而进程 1 的两个线程访问 1000 号单元,则是同一个单元。 4.9 线程与进程的比较 (1)调度 同一进程的多线程间调度时,不引起进程的切换 不同进程的线程间调度,需要进程切换 (2)并发性 一个进程的多个线程之间可并发执行 (3)资源的拥有 线程不拥有系统资源,不拥有代码段、数据段。。。 (4)系统开销 线程:系统仅为其保存少量寄存器内容 进程:整个当前 CPU 环境,资源清单等 4.10 死锁: 当两个或两个以上进程因竞争资源而无休止地处于相互等待状态 死锁将使进程已占用的资源的不到利用 严重情况下,死锁“蔓延”开,会导致“死机” 死锁产生的必要条件 ◆ 死锁和“资源”密切相关 ◆ 1)资源访问的互斥条件 ◆ 2)请求和保持条件 进程在需要时才申请资源——进程对资源的申请是分步的 进程在申请新资源时,对旧资源仍然保持占用 ◆ 3)不剥夺条件 资源一旦获得后在 V(s)之前不放弃
◆4)环路等待条件 411进程之间的通信 进程同步问题的提出:进程异步推进可能造成混乱,混乱可能导致不可再现 进程同步目标:维持进程并发性以提高系统效率 进程间相互合作,资源有效共享(结果可再现) 1.进程间的两种主要关系 进程间的关系与进程间的独立性 进程间的关系是在进程间相对独立的前提下发展的 独立获得资源,独立调度 进程间的同步关系 相互合作:司机与售票员,计算者与打印者, 竞争资源:计算者与打印者,多个打印者 临界资源与临界区 (1)临界资源 次只允许一个进程访问的资源 资源状态为临界:0或1 (2)临界区 每个进程用于访问临界资源的那段程序 4同步机制应遵循的原则 (1)空闲让进:当资源空闲时,应当允许访问资源的进程进入临界区 (2)忙则等待:当资源被占用时,应使申请访问该资源的进程等待,等待使用者归还资源 (3)让权等待:在进程等待资源时,从执行态转为阻塞态,应当让出CPU的使用权。系统将把CPU分 配给其它进程使用,以提高系统效率 (4)有限等待:系统应保证等待的进程能在有限的时间内获得资源,继续执行,以防止无限等待浪费该 进程已占用的资源 5临界资源锁机制(靠锁实现资源的共享管理) 例:商场的试衣间(是互斥资源,是临界资源,是共享资源) 每个顾客必须遵循以下过程使用试衣间: 观察锁状态→关锁→使用试衣间→开锁 锁操作的一般模型(Pi:进程i;C(i):Pi的临界区) PP unlock( L) lock(L) CJ unlock( L) 经典进程同步问题 生产者—消费者问题 读者—写者问题 哲学家进餐问题 1生产者——消费者问题 有多个生产者在生产消息,有多个消费者在消费消息,消费者消费的是生产者生产的消息
◆ 4)环路等待条件 4.11 进程之间的通信 进程同步问题的提出:进程异步推进可能造成混乱,混乱可能导致不可再现 进程同步目标: 维持进程并发性以提高系统效率 进程间相互合作, 资源有效共享(结果可再现) 1. 进程间的两种主要关系 进程间的关系与进程间的独立性 进程间的关系是在进程间相对独立的前提下发展的 独立获得资源, 独立调度 2. 进程间的同步关系 相互合作: 司机与售票员, 计算者与打印者, 竞争资源: 计算者与打印者, 多个打印者 3. 临界资源与临界区 (1)临界资源 一次只允许一个进程访问的资源 资源状态为临界:0 或 1 (2)临界区 每个进程用于访问临界资源的那段程序 4 同步机制应遵循的原则 (1) 空闲让进:当资源空闲时,应当允许访问资源的进程进入临界区 (2) 忙则等待:当资源被占用时,应使申请访问该资源的进程等待,等待使用者归还资源 (3) 让权等待:在进程等待资源时,从执行态转为阻塞态,应当让出 CPU 的使用权。系统将把 CPU 分 配给其它进程使用,以提高系统效率. (4) 有限等待:系统应保证等待的进程能在有限的时间内获得资源,继续执行,以防止无限等待浪费该 进程已占用的资源. 5 临界资源锁机制 (靠锁实现资源的共享管理) 例:商场的试衣间( 是互斥资源, 是临界资源, 是共享资源) 每个顾客必须遵循以下过程使用试衣间: 观察锁状态→关锁→使用试衣间→开锁 .. 锁操作的一般模型 (Pi: 进程 i ; C( i ): Pi 的临界区) Pi:...... lock( L ) → C( i ) → unlock( L ) ......... Pj:...... lock( L ) → C( j ) → unlock( L ) ......... 经典进程同步问题 生产者——消费者问题 读者——写者问题 哲学家进餐问题 1 生产者——消费者问题 有多个生产者在生产消息,有多个消费者在消费消息,消费者消费的是生产者生产的消息