操作系统第五章4虚拟存储器管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答:物理块数为3:FIFO:缺页次数为9;LRU:缺页次数为10 物理块数为4:FIFO:缺页次数为10;LRU:缺页次数为8 结果说明:1. FIFO可能发生Belady现象(存储块增大, 缺页率反而增大); 2.LRU并不总优于FIFO算法。
6.3 页面置换算法
例2:在一个请求分页系统中,假如一个作业的 页面走向为4 3 2 1 4 3 5 4 3 2 1 5,计算当分配给该作业的物理块数分别为3和4时, 使用FIFO和LRU页面置换算法的缺页次数。结果 说明什么?
一、页表机制
页号 物理块号 状态位P 访问字段A 修改位M 外存地址
状态位P:表示对应的页当前是否在主存中,如果状
态位为1,表示该页在主存中;
访问字段A:用于记录本页在一段时间内被访问的次
数,或最近已有多长时间未被访问,提供给置换算法 选择换出页面时参考;
修改位M:表示该页在调入内存是否被修改过。
该页被修改否? 是 将该页写回外存
页在内存? 是 修改Hale Waihona Puke Baidu表
OS命令CPU从外存读缺页
修改访问位和修改位 形成物理地址 地址变换结束
启动I/O硬件 将一页从外存换入内存
修改页表
6.2 请求分页存储管理方式
三、内存分配
1. 最小物理块数
是指能保证进程正常运行所需的最小物理块数。 当系统为进程分配的物理块数少于此值时,进程将 无法运行。
For(j=0;j<=99;j++) A[i][j]=0 ;
程序B: For(j=0;j<=99;j++)
For(i=0;i<=99;i++) A[i][j]=0 ;
分别就程序A和B的执行过程计算缺页次数。
6.3 页面置换算法
答:程序A的执行过程中发生50次缺页;
程序B的执行过程中发生50*100次缺页;

采用FIFO算法产生的缺页中断为6次。
6.3 页面置换算法
答: 3.采用LRU算法的情况如下:
0 块号0 块号1 淘汰页号 缺页中断 0 0 0 1 1 0 1 1 0 0 0 1 3 3 0 1 1 1 3 0 2 2 1 3 2 2 1 4 4 2 1 4 4 2 3 3 4 2
2.以特殊的栈组织内存中的页面: 进程访问某页面时,将该页面的页面号 从栈中移出,压入栈顶,栈底则是最近最久未 使用页面;
链头
单链表中删除 插入链 尾
6.3 页面置换算法
二、最近最久未使用(LRU)页面置换算法
即:访问页面
页面在内存:
将该页面从单链表中删除,插入链尾;
页面不在内存:
请求调入,调入时:
页面置换算法:选择换出页面的算法;
抖动:如果页面置换算法选择不当,一个进程
在运行中,将把大部分时间花费在完成页面置换 的工作上。我们称该进程发生了抖动(thrashing);
一个好的页面置换算法,应具有较低的页面更
换频率。理论上讲,应将那些以后不再会访问的 页面换出。
6.3 页面置换算法
一、FIFO页面置换算法
6.3 页面置换算法
例3:考虑一仅460个字节的程序的下述内存访问 序列(该序列的下标均从0开始):10,11,104, 170,73,309,185,245,246,434,458,364。 且页面大小为100字节,则: 1.写出页面的访问序列。 2.假设内存中仅有200字节可供程序使用且 采用FIFO算法,那么共发生多少次缺页中断?
2. 物理块的分配策略
1) 固定分配局部置换 2) 可变分配全局置换 3) 可变分配局部置换
三、内存分配
3. 物理块分配算法 1) 平均分配算法
这是将系统中所有可供分配的物理块,平均 分配给各个进程。
2) 按比例分配算法
这是根据进程的大小按比例分配物理块的算法。
3) 考虑优先权的分配算法
6.3 页面置换算法
6.2 请求分页存储管理方式
程序请求访问一页
二、地址变换机构
开始 页号>页表长度? 否 是 越界中断
缺页中断处理 保留CPU现场
从外存中找到缺页
CPU检索快表 否 是
请 求 分 页 中 的 地 址 变 换 过 程 图
内存满否? 是 选择一页换出 否
页表项在快表中? 否 访问页表 产生缺页中 断请求调页
采用LRU算法产生的缺页中断为7次。
6.3 页面置换算法
例4:int A[100][100];按先行后列次序存储。 在一个虚存系统中,采用LRU淘汰算法。一个进 程有3页内存空间,每页可以存放200个整数。其 中第一页存放程序,且假定程序已经在内存。 程序A: For(i=0;i<=99;i++)
3.假设内存中仅有200字节可供程序使用且 采用LRU算法,则又会发生多少次缺页中断?
6.3 页面置换算法
答: 1.页面访问顺序(页面踪迹)如下:
10 0 11 0
104 170 73 309 185 245 246 434 458 364
1
1
0
3
1
2
2
4
4
3
2.采用FIFO算法的情况如下:
块号0 块号1 淘汰页号 缺页中断 0 0 0 0 1 1 0 1 1 0 0 1 0 3 3 1 0 1 3 1 2 2 3 1 2 2 3 4 4 2 3 4 4 2 3 3 4 2
1.选择最先进入内存的页换出。即选择在内 存中驻留时间最久的页面予以淘汰。
2.以队列组织内存中的页面: 页面进入内存时,若有可用空间,则页 面调入内存,在队尾进行排队; 若无可用空间,则应“选择一个页面换出” --应将队头元素换出;
6.3 页面置换算法
二、最近最久未使用(LRU)页面置换算法
1.选择离当前时间最久未使用的页面淘汰。
内存有可用空间:插入链尾 内存无可用空间: 删除链头元素, 将该页插入链尾
6.3 页面置换算法
例1:在一个请求分页系统中,假如一个作业的 页面走向为1 2 3 4 1 2 5 1 2 3 4 5 ,计算当分配给该作业的物理块数分别为3和4 时,使用FIFO和LRU页面置换算法的缺页次数和 缺页率。结果说明什么?
答:FIFO算法,M=3时,缺页次数=9;M=4时,缺页次数=10; LRU算法,M=3时,缺页次数=10;M=4时,缺页次数=8; 说明:
1、FIFO有Belady奇异现象,即不满足存储块增大,缺页 次数减小的规律; 2、m=3时,LRU的缺页次数比FIFO多,所以LRU算法并不 总优于FIFO,还要看当前访问串的特点。
6.1 虚拟存储器的基本概念
四、虚拟存储器的特征
1.离散性
2.多次性
3.对换性
4.虚拟性
虚拟存储器最基本的特征是离散性,在此基础上 又形成了多次性和对换性的特征。其表现出来的最重要 特征是虚拟性。
6.1 虚拟存储器的基本概念
五、虚拟存储器的实现方式
1.分页请求系统
2.请求分段系统
6.2 请求分页存储管理方式
第六章 虚拟存储器
6.1 虚拟存储器的基本概念 6.2 请求分页存储管理方式
6.3 页面置换算法
6.1 虚拟存储器的基本概念
一、引入
1.有的作业很大,其所要求的内存空间超过了内存
总容量,不能全部被装入。 2.有大量作业要求运行,但内存容量不足以容纳所 有作业。 解决上述问题,两种方法:
一是在物理上增加内存容量;
二是从逻辑上增加内存容量。 ——这就是虚拟存储技术要解决的问题。
6.1 虚拟存储器的基本概念
二、虚拟存储器的基本思想
虚拟存储器管理通过把主、辅存统一起来管理, 使用户看到的内存容量远大于实际的内存容量。 在页式、段式或段页式存储管理的基础上,仅把
作业的一部分页或段放在内存中。页表项或段表项中 注明对应的页或段是在主存还是在辅存,程序执行时, 当访问的页或段不在主存时,根据页表项或段表项的 指引,从辅存将其调入主存,如果这时已无可用的物 理空间,则从主存淘汰若干页或段。
相关文档
最新文档