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 生产者——消费者问题 有多个生产者在生产消息,有多个消费者在消费消息,消费者消费的是生产者生产的消息
2读者—写者问题( Reader and writer) 问题描述 ◎一个数据纪录,有多个进程进行读操作,另一些进程进行修改操作 Reader 令( Writer) 读写策略 允许多个进程同时进行读操作—读不互斥 不允许多于一个进程进行写操作—写互斥 不允许读写操作同时进行—一读写互斥 4.12进程的通信 ◆进程之间的信息交换 低级通信 ◆进程的同步,简单的信号交换 ◆如:锁、信号量 高级通信一一进程通信 高效、大量数据传递 进程通信类型 1)共享存贮器 ◆共享数据 ◆共享存贮区 通过数据、数据区的共享,写入与读出达到通信的目的 2)直接通信方式——消息缓冲 采用进程的消息缓冲队列 消息发送者将消息直接放在接收者的消息缓冲队列 3)间接通信方式 利用中间者——信箱、邮局来传递信件 ◎发送进程将消息发送到信箱中,接收进程从信箱中取出消息 4)管道通信 用以连接读、写进程的共享文件 作业 1进程同步的主要关系有哪些? 2.进程同步的原则是什么,请分别解释 3请用信号量描述计算进程向缓冲区写数据,打印进程从缓冲区取出数据并打印的过程 4进程间高级通信有哪些方式? 4.13进程调度 处理机调度的主要目的:分配处理机 调度影响的因素: 1响应的及时性 进程是否能在限定时间内获得处理机,对用户进行响应 2周转时间(等待时间+使用CPU时间) 进程是否等待时间太长
2 读者——写者问题(Reader and Writer ) ◆ 问题描述 一个数据纪录,有多个进程进行读操作,另一些进程进行修改操作 ❖ (Reader) ❖ (Writer) 读写策略 ❖ 允许多个进程同时进行读操作——读不互斥 ❖ 不允许多于一个进程进行写操作——写互斥 ❖ 不允许读写操作同时进行——读写互斥 4.12 进程的通信 ◆ 进程之间的信息交换 低级通信 ❖ 进程的同步,简单的信号交换 ❖ 如:锁、信号量 高级通信--进程通信 ❖ 高效、大量数据传递 进程通信类型 1)共享存贮器 ❖ 共享数据 ❖ 共享存贮区 通过数据、数据区的共享,写入与读出达到通信的目的 2)直接通信方式——消息缓冲 采用进程的消息缓冲队列 消息发送者将消息直接放在接收者的消息缓冲队列 3)间接通信方式 利用中间者——信箱、邮局来传递信件。 发送进程将消息发送到信箱中,接收进程从信箱中取出消息 4)管道通信 用以连接读、写进程的共享文件 作业 1.进程同步的主要关系有哪些? 2.进程同步的原则是什么,请分别解释 3 请用信号量描述计算进程向缓冲区写数据,打印进程从缓冲区取出数据并打印的过程 4.进程间高级通信有哪些方式? 4.13 进程调度 处理机调度的主要目的:分配处理机 调度影响的因素: 1.响应的及时性 进程是否能在限定时间内获得处理机,对用户进行响应 2.周转时间(等待时间+使用 CPU 时间) 进程是否等待时间太长
3.系统吞吐量(进程时间+系统开销) CPU是否总是用在刀刃上 进程调度的方式 1)非抢占式(非剥夺式) 现运行进程的CPU使用权不能被中途强行剥夺 除非进程主动放弃 2)抢占式(剥夺式) ◎系统按照某种原则剥夺现行进程的CPU使用权 将CPU使用权分配给其他进程 抢占原则 优先权原则时间片原则短进程优先原则 3)等时间片轮转 ◆保证人机交互的及时性 (1)按照FCFS顺序从就绪队列选取进程 (2)每个进程分配给相同的CPU时间片 (3)时间片到后将进程排到就绪队列尾 公平性的保证 响应及时性的保证 4)多级反馈队列调度:综合各种算法长处 设计思想:设置多个就绪队列;各队列优先级不一样, 分配的时间片也不一样,高优先权队列进程的时间片较小 多级反馈队列的性能 (1)短进程 在第一级队列的时间片中完成 满足及时响应和短进程的周转要求 (2)动态变化的优先权 使优先权低的进程也得到执行的机会 (3)动态变化的时间片 长进程在长时间等待后获得长时间片,可减少周转时间和系统开销
3.系统吞吐量(进程时间+系统开销) CPU 是否总是用在刀刃上 进程调度的方式 1) 非抢占式(非剥夺式) 现运行进程的 CPU 使用权不能被中途强行剥夺 除非进程主动放弃 2) 抢占式(剥夺式) 系统按照某种原则剥夺现行进程的 CPU 使用权 将 CPU 使用权分配给其他进程 抢占原则 ❖ 优先权原则;时间片原则;短进程优先原则 3)等时间片轮转 ◆ 保证人机交互的及时性 (1)按照 FCFS 顺序从就绪队列选取进程 (2)每个进程分配给相同的 CPU 时间片 (3)时间片到后将进程排到就绪队列尾 ◆ 公平性的保证 ◆ 响应及时性的保证 4) 多级反馈队列调度: 综合各种算法长处 设计思想: 设置多个就绪队列; 各队列优先级不一样, 分配的时间片也不一样,高优先权队列进程的时间片较小 多级反馈队列的性能 (1)短进程 在第一级队列的时间片中完成, 满足及时响应和短进程的周转要求 (2)动态变化的优先权 使优先权低的进程也得到执行的机会 (3)动态变化的时间片 长进程在长时间等待后获得长时间片,可减少周转时间和系统开销
43存贮空间的组织 存储管理的任务 (1)内存空间的管理、分配与回收 (2)存储共享与存储保护 防止地址越界(每个进程都有自己独立的进程空间) 防止操作越权(即读写保护) (3)内存扩充(虚拟存储技术) (4)地址转换(地址重定位、地址映射):CPU执行指令时,是按物理地址进行的 逻辑空间和物理空间 重定位和地址映射 逻辑地址空闻 BR蓄址寄存器物理地址空间 源程序 逻地址空间 物理地址空间 OADA ad A datal 00 Load A 200 地址映射 datal 3456 静态地址转换 动态地址转换 分区存储管理 系统把内存用户区划分为若干分区,分区大小可以相等,也可以不等。一个进程占据一个分区 固定分区 可变分区 预先把可分配的内存空间分割成若干个连续区域,每一区域称为分区 每个分区的大小可以相同也可以不同,分区大小固定不变,每个分区装一个且只能装一个作业 多个等特队列 固定分区管理 分区4 分区4 单个等待队列 量■ 分区3 口分区1 分区1 操 作系统 操作系统 内刚用享不 可变分区管理:作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配 若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间 用于多道程序系统
4.3 存贮空间的组织 1. 存储管理的任务 (1)内存空间的管理、分配与回收 (2)存储共享与存储保护 防止地址越界(每个进程都有自己独立的进程空间) 防止操作越权(即读写保护) (3)内存扩充(虚拟存储技术) (4)地址转换(地址重定位、地址映射) : CPU 执行指令时,是按物理地址进行的 地址映射 Load A 200 3456 。 。 1200 物理地址空间 Load A data1 data1 3456 源程序 Load A 200 3456 0 100 200 编译 连接 逻辑地址空间 BA=1000 基址 逻辑空间和物理空间 0 3456 . . . . . . LOAD A 200 . . . . . . 0 100 200 300 . . . . . . . . . LOAD A 200 3456 逻辑地址空间 1100 1200 1300 物理地址空间 200 VR + 1000 BR基址寄存器 ◼静态地址转换 ◼动态地址转换 重定位和地址映射 分区存储管理 系统把内存用户区划分为若干分区,分区大小可以相等,也可以不等。一个进程占据一个分区 固定分区 可变分区 预先把可分配的内存空间分割成若干个连续区域,每一区域称为分区 每个分区的大小可以相同也可以不同,分区大小固定不变,每个分区装一个且只能装一个作业 分区4 分区3 分区2 分区1 操作系统 多个等待队列 单个等待队列 分区4 分区3 分区2 分区1 操作系统 内存利用率不高 固定分区管理 可变分区管理: 作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配 若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间 ➢ 用于多道程序系统
空闹区表址长度标 可变分区管理 48K20K分配 团已分区表 J1 110K 分页管理一页的大小为2的整数次幂 把用户程序按逻辑页划分成大小相等的部分,称为页。从0开始编制页号,页内地址是相对于0编址 优点:解决了碎片问题,便于管理 缺点:不易实现共享,不便于动态连接 分段管理: 按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从0开 始,每一段也从0开始编址,段内地址是连续的 分段管理 分段管理基本思想 理段号 长度段地址 操作系统 11612345 子程序段 LCALLIYIF 段衰 CALLIAI116 子程序段Y 工作区段B 主程序段M 作业1的地址空间 以段为单位分配内 主存 优点:便于动态申请内存,管理和使用统一化,便于共享,便于动态链接 缺点:产生碎片 段页式分段管理 1、产生背景:结合页式段式优点,克服二者的缺点 2、基本思想 用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分:对系统讲,按页划分每一段) 段号 段内地址 页号 页内地址
0K 15K 38K 48K 68K 80K 110K 120K 空闲区表 已分配区表 空 空 98K 12K 未分配 48K 20K 未分配 15K 23K 未分配 始址 长度 标志 80K 5K J5 110K 10K J4 85K 13K J6 68K 12K J3 38K 10K J2 0K 15K J1 始址 长度 标志 85K 98K “碎片”问题 可变分区管理 分页管理: 一页的大小为 2 的整数次幂 把用户程序按逻辑页划分成大小相等的部分,称为页。从 0 开始编制页号,页内地址是相对于 0 编址 优点:解决了碎片问题, 便于管理 缺点:不易实现共享, 不便于动态连接 分段管理: 按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从 0 开 始,每一段也从 0 开始编址,段内地址是连续的 . . . 0 S 工作区段[B] 主程序段[M] . . . . . . 0 E P 子程序段[X] 0 K . . . CALL [X] [E] . . . . . . . . . CALL [Y] [F] CALL [A] 116 . . . . . . 0 F L 子程序段[Y] 0 116 N 数组[A] 12345 . . . 分段管理 操作系统 . . . . . B 0 S A 0 N Y 0 L X 0 P M 0 K 逻辑段号 0 1 2 3 4 作业1的地址空间 1000 3200 5000 6000 8000 P K S L N 主存 K 3200 P 1500 L 6000 N 8000 S 5000 长度 段地址 0 1 2 3 4 操作系统 分段管理基本思想 以段为单位分配内存 段表 优点:便于动态申请内存, 管理和使用统一化, 便于共享, 便于动态链接 缺点:产生碎片 段页式分段管理 1、产生背景: 结合页式段式优点,克服二者的缺点 2、基本思想 用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段) 段号 段内地址 页号 页内地址
逻辑地址 内存划分:按页式存储管理方案 内存分配:以页为单位进行分配 虚拟存储管理 ■1)原有存储管理中存在的问题 当作业很大,超过内存剩余时,无法装入 装入的作业对内存利用率不高 c99%空间内的指令在短时间内都不会得到执行 ■2)解决问题的动机 解决装入作业受限 提高内存利用率 提高系统吞吐 ■3)问题产生的原因 ◆作业装入的“一次性” 作业装入后的“驻留性 ■4)解决方法的探索 不需一次全部装入作业 装入内存的程序可在不需要访问时暂时退出内存 ■5)解决方案可行性 ◆程序执行的局部性规律 (1)顺序执行规律 (2)跳转的局部性 程序的跳转和调用范围不大 (3)数据访问的局部性 局部性 时间的局部性在短时间内多次被访问 空间的局部性在较短程序范围内多次访问 虚拟存储器的定义 2虚拟存储器的定义 ◆虚拟存储指仅把作业的一部分装入内存便可运行的 存储管理系统,通过作业各部分的动态调入和置 换,用户所感党的存储空间比实际空间大,称之为 程序部分装 分页 0|入后开0 猛对换区 始执行 2 虚存的特征 离散性 虚拟存储建立在离散内存管理基础上
逻辑地址: 内存划分:按页式存储管理方案 内存分配:以页为单位进行分配 虚拟存储管理 ◼ 1)原有存储管理中存在的问题 ◆ 当作业很大,超过内存剩余时,无法装入 ◆ 装入的作业对内存利用率不高 99%空间内的指令在短时间内都不会得到执行 ◼ 2)解决问题的动机 ◆ 解决装入作业受限 ◆ 提高内存利用率 ◆ 提高系统吞吐量 ◼ 3)问题产生的原因 ◆ 作业装入的“一次性” ◆ 作业装入后的“驻留性” ◼ 4)解决方法的探索 ◆ 不需一次全部装入作业 ◆ 装入内存的程序可在不需要访问时暂时退出内存 ◼ 5)解决方案可行性 ◆ 程序执行的局部性规律 (1)顺序执行规律 (2)跳转的局部性 ◼ 程序的跳转和调用范围不大 (3)数据访问的局部性 ◆ 局部性 时间的局部性 在短时间内多次被访问 空间的局部性 在较短程序范围内多次访问 虚拟存储器的定义 ◼2. 虚拟存储器的定义 ◆虚拟存储指仅把作业的一部分装入内存便可运行的 存储管理系统,通过作业各部分的动态调入和置 换,用户所感觉的存储空间比实际空间大,称之为 虚空间。 内存 程序 分页 0 磁盘对换区 1 2 3 0 1 2 3 将暂时不 用的第0页 置换出去 部分装 入后开 始执行 将暂时不 用的第1页 置换出去 产生给用 户感觉比 实际空间 大的虚拟 空间 0 1 2 3 3. 虚存的特征 ◆ 离散性 虚拟存储建立在离散内存管理基础上