第5章存储管理(1)
操作系统原理第5章 存储管理

• ⑶最佳适应算法
• 最佳适应算法的空闲链是按空闲区从小到大顺序排 列。为进程选择分区时总是寻找其大小最接近进程 所要求的存储区域。所谓“最佳”是指每次为进程 分配内存时,总是把能满足要求、又是最小的空闲 分区分配给进程,避免“大材小用”。
• 因为每次分配后所切割下来的剩余部分总是最小的, 这样将加速碎片的形成。
• ①如果被回收空闲分区没有空闲伙伴分区,那么保留该分区为一 个独立的空闲分区,否则执行②;
• ②合并回收分区及其伙伴分区,从而得到一个尺寸(2I+1)更大的 回收空闲分区,转移到①;
一个伙伴系统内存分配与回收的例子
• 伙伴系统克服了固定分区和动态分区存储管理技术的缺陷。但是伙伴 系统存在一个问题,即内存空间需要不断地进行分裂和合并,频繁的 伙伴分区合并操作会浪费很多时间。
• ③内存分配原则,以页帧为单位来分配内存,将进程若干个逻辑上连续的 页面装入若干个离散的页帧中,由页表提供进程的页号到存储空间帧号的 映射。
5.2.4伙伴系统
• 其实现原理如下: • 一个伙伴系统内存的用户可用空间为2U。进程申请存储空间时,
系统总是为其分配大小为2I的一个空闲分区。其中S≤I≤U,2S是系 统允许的最小分区尺寸。在实际操作系统中,最小分区尺寸一般 为212。 • 如果进程申请的存储空间大小为K,且2I-1<K≤2I,则将整个2I大小的 分区分配给该进程;否则,该分区被分割成两个大小相等的伙伴 分区,大小为2I-1;再判断K是否满足条件:2I-2<K≤2I-1,若满足条件, 则将两个伙伴中的任何一个分配给该进程。否则,将其中一个伙 伴又分成两个大小相等的伙伴分区;此过程一直继续进行,直到 产生的分区满足条件I-J≥S并2I-J-1<K≤2I-J,将2I-J大小的分区分配给该 进程;当I-J-1<S时,系统不再分割成两个大小相等的伙伴分区,将 2S大小的分区分配给该进程。 • 当进程执行完毕,释放一个尺寸为2I的分区时,系统用下面的算法 回收该分区。
第5章 虚拟存储器 (1)

• (2)驻留性,是指作业被装入内存后,整个作业都一直驻留在内存中,其中 任何部分都不会被换出,直至作业运行结束。尽管运行中的进程被阻塞,而处于 长期等待状态,它们都仍将驻留在内存中,继续占用宝贵的内存资源。
虚拟存储ห้องสมุดไป่ตู้概述
虚拟存储器的定义和特征
虚拟存储器的特征
• (3)虚拟性。是指能够从逻辑上扩充内存容量,使用户所看到的内存容 量远大于实际内存容量。这样,就可以在小的内存中运行大的作业,或者 能提高多道程序度。它不仅能有效地改善内存的利用率,还可提高程序执 行的并发程度。
• 虚拟存储器目前已在大、中、小及微机上广泛采用。虚拟性是以多次 性和对换性为基础的,或者说,仅当系统允许将作业分多次调入内存,并 能将内存中暂时不运行的程序和数据换至盘上时,才能实现虚拟存储器。
虚拟存储器概述
5.1.3 虚拟存储器的实现方法 P167
• 在虚拟存储器中,允许将一个作业分多次调入内存。所以,虚拟存储器的 实现,都建立在离散分配存储管理方式的基础上。目前,所有的虚拟存储器都 是采用下述方式之一实现的。
• 1.分页请求系统
• 分页请求是在分页的基础上增加了请求调页功能和页面置换功能所形成的 页式虚拟存储系统。它允许用户程序只装入少数页面的程序(及数据)即可启 动运行。以后,再通过调页功能及页面置换功能陆续地把即将运行的页面调入 内存,同时把暂不运行的页面换出到外存上。置换时以页面为单位;为了能实 现请求调页和页面置换功能,系统必须提供硬件支持和请求分页的软件。
5.2 请求分页存储管理方式 P168
第 5 章 存储层次

2014-4-22
24
各级存储器的主要主要性能特性
存储器层次 通用寄存器 缓冲栈 存储周期 存储容量 价格$C/KB 访问方式 材料工艺 <10ns <512B 1200 <10ns <512B 80 Cache 主存储器 磁盘存储器 脱机存储器
10~60ns 60~300ns 10~30ms 2~20min 8KB~2MB 32MB~1GB 1GB~1TB 5GB~10TB 3.2 0.36 0.01 块访问 磁表面 0.0001 文件组 磁、光等
2014-4-22 7
• ⑷ 失效处理:程序切换 • 失效:在主存中没有找到要访问的程序 或数据。
• ⑸ 主存 — 辅存层次对应用程序员是完 全透明的,对系统程序员是部分透明的。
2014-4-22
8
• ⑹ 对辅存的访问是通过访问内存实现的 • 主存 — 辅存层次通过辅助软、硬件的支持, 把主存和辅存组织成存储体系。使得从整体 来看,存储体系的速度接近于主存的速度, 而容量和价格接近于辅存。 • 主存 — 辅存层次常被用于实现虚拟存储器, 以便向编程人员提供大量的程序空间。
1.命中率 H
• 命中(Hit):要访问的信息在Mi中可访问到。 • 失效(Miss):要访问的信息在Mi中不可访问 到。 • 在多级层次结构中,要访问的信息在Mi中可访 问到的概率称为Mi的命中率,记为Hi,即命中 的次数与总访问次数之比。 • 失效率(不命中率)1-Hi:失效访问的次数与 总访问次数之比。 • 通常Si越小,Hi越低。
2014-4-22 28
5.2.1
Cache基本工作原理和结构
• 1. Cache的基本结构 • ⑴ Cache存储阵列 • ⑵ 地址映像变换机构 • ⑶ 替换策略实现机构
计算机操作系统教程(张尧学(第三版)第五章

精品课程系列-计算机学院版权所有
关于动态地址重定位可以如下图所示的过程说明:
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
用户程序的虚地址空间 0 100 1KB 0 内存 基地址寄存器 操作系统 22628 22KB 22528
XXXXX
20KB 22KB 22KB+100 XXXXXX
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
精品课程系列-计算机学院版权所有
动态地址重定位
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
动态地址重定位是在程序执行过程中,在CPU访问 内存之前,将要访问的程序或数据地址转换成内存地 址。动态地址重定位依靠硬件地址变换机构完成。
硬件地址转换机构一般由一个“基地址寄存器” 和一个“虚地址寄存器”组成,用户程序不做任何修 改地装入分配给它的存储区域。当调度到用户程序运 行时,则转换成实际的物理地址。
精品课程系列-计算机学院版权所有
分区的分配与释放
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
分区的分配: 若采用的是一个队列的管理方案,则当一个分区被释放时, 需要在队列中选出一个作业运行,可以有以下几种方案: (1)选出第一个可容纳的作业。该方案虽然实现简单,选择 率高,但是可能会因为一个小作业进入而浪费掉该分区的大部分 存储空间,存储利用率不高。 (2)在队列中找出该分区能容纳的最大的作业。由于每个分 配出的分区产生出的内部碎片小,因此,此方案存储空间的利用 率高;缺点是对小作业不公平。
22kb10022kb300023kbd图51地址变换示意图郭平王在模何静媛其中程序a中的一条入口地址为3000的一条指令为call100其中程序a中的一条入口地址为3000的一条指令为call100在装入内存之后由于程序的起始地址不再为0故程序中的指令需要做相应的转换
新第五章存储-段式及段页式

段表
S段的页表 … p’ P’+d 物理地址
… …
页面 … 段页式地址变换
29
存储 管理
(注:在段页式系统中,为了获取一条指令或 数据,需三次访问内存。第一次访问,是访问 内存中的段表,从中取得页表始址,第二次访 问,是访问内存中的页表,从中取得物理块号, 并将该块号与页内地址一起形成指令或数据的 物理地址;第三次访问,才是真正从第二次访 问的地址中,取得指令和数据。)
13
存储 管理 信息共享
分页系统中共享editor的示意图
14
存储 管理
15
分段系统中共享editor的示意图
存储 管理
五.请求分段存储管理
(一).请求分段使用的表
扩充段表(每个作业一个) 现行分段表(整个系统一个) 现行调用表(整个系统一个)
16
存储 管理
1.扩充段表
段号 段长 段始址 存取控制 中断位 访问 位 改变位 扩充位 辅存地址
中断位:表示该页在不主存 访问位:表示该页最近是否被访问过 改变位:表示该页内容是否被修改 扩充位(固定长/可扩充 )
17
存储 管理
2.现行分段表
记录共享段的状态,包括:当前段 是否在主存,该段在主存的始址,共享的 作业数,每个作业名,作业号以及在该作 业中的段号、允许的存取方式等。每个允 许被共享的段,当其调入主存时,均在此 表上登记。当一共享作业退出系统后,则 应将共享本段作业数减1并将相应的表目 改为“可用”。若共享作业数为0,则请求 系统回收相应的存储空间。
(1) 页是信息的物理单位,段则是信息的逻辑单位
(2) 页的大小固定且由系统决定,而段的长度却不
固定 (3) 分页的作业地址空间是一维的,即单一的线性 地址空间,分段的作业地址空间则是二维的
计算机四级网络工程师-操作系统原理-第5章内存管理

计算机四级网络工程师-操作系统原理-第5章内存管理计算机四级网络工程师-操作系统原理-第5章内存管理单选题可变分区管理方案,看内存分配表各类适应算法下次适应算法最优适应算法最坏适应算法首次适应算法,系统中剩余的最大空闲分区静态重定位中,从哪个单元获取操作数各类置换算法各类置换算法看内存分配情况表——实战最近最少使用页面置换算法(LRU)先进先出页面置换算法(FIFO)最近最不常用页面置换算法(LFU)最近未使用页面置换算法(NRU)涉及计算【真题讲解】页式管理存储第66题快表命中率花费us计算简单页式存储管理问最大有多少个页面问最大有多少字节问页表长度(页表项个数)写保护中断各个置换算法的缺页率(建议放弃这一题分,比较容易搞混,需要理解各个置换算法并画图表)LRU页面置换算法OPT最佳页面置换算法八进制的计算(先八进制转换成二进制再计算)虚拟页式存储管理(求偏移量题目)题目直接给二进制,直接进行数位数偏移题目直接给16进制,转换为二进制后进行数位数偏移虚拟页式的有效位、修改位、访问位、保护位、禁止位单页存放整数变量个数和循环代码计算缺页次数一般情况通解:两个循环次数相乘,除单页个数答案有整数×整数形式使用快表和不使用快表相比较,求平均访问时间降低x%需要直接记忆单选多选题需要直接记忆多选单选题可变分区管理方案,看内存分配表下次适应算法最优适应算法最坏适应算法首次适应算法,系统中剩余的最大空闲分区这种题目一定要学习画图,画出变化趋势和具体数值静态重定位中,从哪个单元获取操作数第28题:在操作系统的存储系统中,程序装入时采用静态重定位方法。
已知:第18号单元外有一条加法指令,该指令要求处第066号单外取得操作数1234。
假设存储管理为程学分配的内存区域是众第800号开始,则加法指令将从哪一个单元获取操作数:答案——866置换算法策略先进先出页面置换算法(FIFO)将驻留在内存中时间最长的一页调出最先装入内存的一页调出最近最少使用页面置换算法(LRU)最长时间未被使用过的页面距离现在最长时间没有被访问的页面最近最不常用页面置换算法(LFU)一段时间单页面被使用的次数多少选择一段确定的周期T内,使用次数最少最近未使用页面置换算法(NRU)在最近的一个【时钟滴答】中尽量置换一个没有被访问的和没有被修改过的页面理想页面置换算法(OPT)以后不再需要的、或者在最长时间以后才会用到的页面第二次机会页面置换算法检查进入内存时间最久页面的R位,如果是0,则置换该页;如果是1,就将R位清0,并把该页面放到链表的尾端,修改其进入时间【重点就是会放到链表尾端,画图表时注意】各类置换算法各类置换算法看内存分配情况表——实战最近最少使用页面置换算法(LRU)先进先出页面置换算法(FIFO)最近最不常用页面置换算法(LFU)最近未使用页面置换算法(NRU)涉及计算【真题讲解】页式管理存储第60题:在分区管理方法中,假设程序A自60K处开始存放,到124K为止。
操作系统第二版第五章课后习题答案

第五章存储管理作业答案2、6、10、13、15、162、解释下列概念:物理地址、逻辑地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、紧缩、可重定位地址。
物理地址——内存中各存储单元的地址由统一的基地址顺序编址,这种地址称为物理地址。
逻辑地址——用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为逻辑地址。
逻辑地址空间——由程序中逻辑地址组成的地址范围叫做逻辑地址空间。
内存空间——由内存中的一系列存储单元所限定的地址范围称作内存空间。
重定位——把逻辑地址转变为内存物理地址的过程叫做重定位。
静态重定位——在目标程序装入内存时所进行的重定位。
动态重定位——在程序执行期间,每次访问内存之前进行的重定位。
碎片——在分区法中,内存出现许多容量太小、无法被利用的小分区称作“碎片”。
紧缩——移动某些已分配区的内容,使所有作业的分区紧挨在一起,而把空闲区留在另一端,这种技术称为紧缩。
可重定位地址——当含有它的程序被重定位时,将随之被调整的一种地址。
6、什么是虚拟存储器?它有哪些基本特征?参考答案:虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,在这种计算机系统中实现了用户逻辑存储器与物理存储器分离,它是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
虚拟存储器的基本特征是:虚拟扩充——不是物理上,而是逻辑上扩充了内存容量;部分装入——每个作业不是全部一次性地装入内存,而是只装入一部分;离散分配——不必占用连续的内存空间,而是“见缝插针”;多次对换——所需的全部程序和数据要分成多次调入内存。
10、某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。
假定某时刻一个用户页表已调入内存的页面页号和物理块号如表5-1所示。
则逻辑地址0A5C(H)所对应的物理地址为。
表5-1 页表中页号和物理块号对照表参考答案:0A5C(H)换成二进制:页号为2,查表,对应物理块号为4,与页内地址拼接成物理地址:再转换为十六进制,即125C(H)13、已知段表如表5-2所示。
操作系统学习资料-第五章 存储管理习题

第五章存储管理一. 选择最合适的答案1.分页存储管理的存储保护是通过( )完成的.A.页表(页表寄存器)B.快表C.存储键D.索引动态重定2.把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。
A、加载B、重定位C、物理化D、逻辑化3.在可变分区存储管理中的紧凑技术可以()。
A.集中空闲区B.增加主存容量C.缩短访问时间D.加速地址转换4.在存储管理中,采用覆盖与交换技术的目的是( )。
A.减少程序占用的主存空间B.物理上扩充主存容量C.提高CPU效率D.代码在主存中共享5.存储管理方法中,( )中用户可采用覆盖技术。
A.单一连续区 B. 可变分区存储管理C.段式存储管理 D. 段页式存储管理6.把逻辑地址转换成物理地址称为()。
A.地址分配B.地址映射C.地址保护D.地址越界7.在内存分配的“最佳适应法”中,空闲块是按()。
A.始地址从小到大排序B.始地址从大到小排序C.块的大小从小到大排序D.块的大小从大到小排序8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。
A.首次适应法B.最佳适应法C.最坏适应法D.循环首次适应法9.硬盘容量1G,内存容量为1024k,那么虚拟存储器最大实际容量可能是( ) 。
A.1024KB.1024MC.10GD.10G+1M10.用空白链记录内存空白块的主要缺点是()。
A.链指针占用了大量的空间B.分配空间时可能需要一定的拉链时间C.不好实现“首次适应法”D.不好实现“最佳适应法”11.一般而言计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。
A.分区管理中的块比分页管理中的页要小B.分页管理有地址映射而分区管理没有C.分页管理有存储保护而分区管理没有D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。
13.静态重定位的时机是()。
A.程序编译时B.程序链接时C.程序装入时D.程序运行时14.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损B.防止程序在内存丢失C.防止程序间相互越界访问D.防止程序被人偷看15.能够装入内存任何位置的代码程序必须是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1.3 用户程序的主要处理阶段
4.装入阶段 程序装入内存的方式有以下三种:
① 绝对装入方式。 ② 可重定位装入方式。 ③ 动态运行时装入方式。 5.运行阶段
装入方式 ①绝对装入方式
程序中所使用的绝对地址,可在编译或汇编时给 出, 也可由程序员直接赋予。 但在由程序员直接给 出绝对地址时, 不仅要求程序员熟悉内存的使用情 况,而且一旦程序或数据被修改后,可能要改变程序 中的所有地址。因此,通常是宁可在程序中采用符号 地址,然后在编译或汇编时,再将这些符号地址转换 为绝对地址。
2)存储共享:不仅能使多道程序动态地共 享主存,提高主存利用率,最好还能共 享主存中某个区域的信息。
存储管理的目的(续)
3) 存储保护:确保多道程序都在各自分配到存 储区域内操作,互不干扰,防止一道程序破 坏其它作业或系统文件的信息。
4) “扩充”主存容量:为用户提供比主存物理空 间大得多的地址空间,以至使用户感觉他的 作业是在这样一个大的存储器中运行。
存储器
5.1.3 用户程序的主要处理阶段
4.装入阶段 用户程序经编译之后的每个目标模块都以0
为基地址顺序编址,其余指令中的地址都 相对于首地址而编址。这种地址称为相对 地址或逻辑地址;内存中各物理存储单元 的地址是从统一的基地址开始顺序编址的, 这种地址称为绝对地址或物理地址。
物理地址空间 逻辑地址空间
1024 程序 JUMP 1424
绝
1424 DEC
对
加
LOAD 1, 2224
载
模
块
数据
2224 10
1024 存储器
装入方式 ③动态运行时装入方式
为使内存的利用率最大,装入内存的程序可 以换出到磁盘上,以后再换到内存中,对换前后 内存中的位置可能不同。
装入方式 ②可重定位装入方式
图 作业装入内存时的情况
模 块
L-1
A
L
链
调用 模
接 器
块 L+M B
返回 M-1
长度N N-1 L+M-1
L+M
长度M
模
块
目标模块
C
L+M+N-1
加载模块
5.1.3 用户程序的主要处理阶段
4.装入阶段
PCB
程序
程序
数据 目标代码
数据
栈 主存中的进程映像
库存储器 模块#1 模块#2
模块#n
x
链 接 器
加 载 模 块
加 载 器
第五章 存 储 管 理
第五章 存储管理
存储器的层次结构 程序的链接和装入 分区法 可重定位分区分配 对换技术 分页技术 分段技术 段页式技术
虚拟存储器 请求分页技术 页面置换算法
内存块的分配和抖动 问题
请求分段技术
第五章 存储管理
5.1 引言
5.1.1 存储器的层次结构
实现逻辑地址到物理地址的转换,以后不再转换 (一般在装入内存时由软件完成)作业i在执行前 一次变址,直到该作业完成退出内存为止。
1500
ห้องสมุดไป่ตู้
1. 重定位的类型
1)静态重定位:
优点:不需硬件支持,可以装入有限多道 程序(如MS DOS中的TSR)。
缺点:一个程序通常需要占用连续的内存 空间,程序装入内存后不能移动。不易实 现共享。
5.2.1 固定分区法
1. 基本思想
预先把可分配的主存储器空间分割成 若干个连续区域,每个区域是一个分 区。
内存中分区的个数固定不变,各个分 区的大小也固定不变,每个分区只可 装入一个进程。
5.2.1 固定分区法
2. 分区大小
等分方式 差分方式
Operating System
8M 8M
在现代计算机系统中,存储器是信息外理的 来源与归宿,占据重要位置。但是,在现有 技术条件下,任何一种存储装置,都无法同 时从速度与容量两方面,满足用户的需求。 实际上它们组成了一个速度由快到慢,容量 由小到大的存储装置层次。
5.1.1 存储器的层次结构
5.1.2 存储管理的目的
1)主存的分配和管理:当用户需要内存时, 系统为之分配相应的存储空间;不需要 时,及时回收,以供其它用户使用。
5.1.3 用户程序 的主要处理阶段
5.1.3 用户程序的主要处理阶段
1.编辑阶段 2.编译阶段 3.连接阶段
连接就是将编译或汇编后得到的一组目标 模块及它们所需的库函数装配成一个完 整的装入模块的过程。
相对 地址
模块A
模块B
0
0
调用B; 调用C;
返回
L-1 长度L
0
模块C 返回
相对 地址
0 调用L
1. 重定位的类型
2)动态重定位:在程序运行过程中要访问数据时
再进行地址变换。由地址变换机构进行的地址 变换,硬件上需要重定位寄存器的支持。
1. 重定位的类型
2)动态重定位:
优点:
OS可以将一个程序分散存放于不连续的内存空间, 可以移动程序。
有利用实现共享。
缺点:需要硬件支持, OS实现较复杂。它是虚 拟存储的基础。
5.1.4 重定位
把作业地址空间中使用的逻辑地址变换成内存空 间中的物理地址的过程。又称地址映射。
如下图,作业i经过重定位,把地址集合映射到以 1000为始址的内存中,作为作业i的存储空间。
1. 重定位的类型
静态重定位 动态重定位
1. 重定位的类型
1)静态重定位:当用户程序被装入内存时,一次性
第五章 存储器管理
5.2 分区法
5.2 分区法
把内存分为一些大小相等或不等的分区 (partition),每个进程占用一个分区。操作系统 占用其中一个分区。
特点:适用于多道程序系统和分时系统。
支持多个程序并发执行。 难以进行内存分区的共享。
分区分配是为支持多道程序运行而设计的一种最 简单的存储管理方式。
5.2.1 固定分区法
4.内存分配表
通过设置内存分配表,内存分配简单 缺点:内存利用率不高
图 固定分区使用表
5.2.1 固定分区法
优点:易于实现,开销小。 缺点:
分区总数固定,限制了并发执行的程序数 目。
小作业不能充分利用分区空间 内碎片造成浪费
5.2.2 动态分区法
基本思想:内存不是预先划分好的, 而是当进程装入时,根据进程的需求 和内存空间的使用情况来决定是否分 配。若有足够的空间,则按需要分割 一部分分区给该进程;否则令其等待 主存空间
8M 8M 8M
固定分区(大小相同)
Operating System 8M 2M 4M 6M 8M
8M
12 M
固定分区(多种大小)
5.2.1 固定分区法
3. 存储分配
对于分区等分方式,进程装入内存很 简单。
对于分区差分方式,为进程分配分区 的方法有两种。
多个输入队列法 单一输入队列法
图5-6 固定分区内存分配