实验1-进程调度

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

置换时采用一个指针,从当前指针位置开始按 地址先后检查各页,寻找user bit=0的页面作为被置换
页。
指针经过的user bit=1的页都修改为user bit=0, 最后指针停留在被置换页的下一个页。
Operating System
2017/3/6
Page 8
第5章
虚拟存储器
入口
查询指针前进一步, 指向下一个表目
块号
页号
访问位
指针
0 1 N 2
usebit=0
替换指针 4 0
页面访问位=0?
3 4 2 1
Y
选择该页面淘汰
返回

6 7 5 1 0 1
Operating System
2017/3/6
Page 9
第5章
虚拟存储器
3、实验内容
设计程序实现以上三种页面调度算法,要求:
① 可以选择页面调度算法类型;
② 可以为进程设置分到物理页的数目,设置进程的页面引用情况, 可以从键盘输入页面序列,也可从文件中读取;
初值为 0。每次时钟中断时,计数器加 R。发生缺页中 断时,选择计数器值最小的一页淘汰。可以对此算法 进行改进,当计数器在加 R前先右移一位,R位加到计 数器的最左端,这称为页面老化算法。
Operating System
2017/3/6
Page 7
第5章
虚拟存储器
(3) 最近未使用页面淘汰算法(Not Recently Used, NRU):也称轮转算法(clock),它是LRU和FIFO算法 的折衷。具体做法是: 每页有一个使用标志位(use bit),若该页被访问, 则置user bit=1。
第5章
虚拟存储器பைடு நூலகம்
实验三 页面置换算法的设计与实现
1、实验目的 页式虚拟存储器实现的一个难点是设计页面调度 (置换)算法,即将新页面调入内存时,如果内存中 所有的物理页都已经分配出去,就要按某种策略来废 弃某个页面,将其所占据的物理页释放出来,供新页
面使用。本实验的目的是通过编程实现几种常见的页
面调度(置换)算法,加深实验者对页面调度思想的 理解。
Operating System
2017/3/6
Page 12
第5章
虚拟存储器
课时安排
实验名称:面置换算法的设计与实现 计划课时:4课时 详细实验内容 1 先进先出页面置换算法 (First In First Out,FIFO) 2 最近最少使用页面淘汰算法 (LRU,Least Recently Used) 3 最近未使用页面淘汰算法 (Not Recently Used,NRU) 课时(周次) 2课时(第13周完成) (必选) 2课时(第14周完成) (可选) 2课时(第14周完成) (可选)
Operating System 2017/3/6 Page 3
第5章
虚拟存储器
• 一个特殊的栈 可利用一个特殊的栈来保存当前使用的各个页面的页面 号。每当进程访问某页面时,便将该页面的页面号从栈中移 出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编 号,而栈底则是最近最久未使用页面的页面号。假定现有一 进程所访问的页面的页面号序列为: 4,7,0,7,1,0,1,2,1,2,6 随着进程的访问,栈中页面号的变化情况如图4-30所示。 在访问页面6时发生了缺页,此时页面4是最近最久未被访问 的页,应将它置换出去。
2017/3/6
Page 5
第5章
虚拟存储器
• 每个页面设立移位寄存器:被访问时左边最高位置 1, 定期右移并且最高位补0,于是寄存器数值最小的就是 最久未使用页面。
Operating System
2017/3/6
Page 6
第5章
虚拟存储器
LRU的软件解决方案:淘汰访问次数最少的页面。
实现的办法是设置一个软件计数器,一个页一个,
Operating System 2017/3/6 Page 14
Operating System
2017/3/6
Page 1
第5章
虚拟存储器
2、实验原理:页面置换算法 (page replacement algorithm)
页面置换 (淘汰)算法决定在需要调入页面时,内
存中哪个物理页面被置换。页面置换算法的出发点是 把未来不再使用的或者短时期内较少使用的页面调出。
③ 随时计算当前的页面调度次数的缺页中断率;
④ 使用敲键盘或响应WM-TIMER的形式模仿时间的流逝; ⑤ 以直观的的形式将程序的执行情况显示在计算机屏幕上;
⑥ 存盘及读盘功能,可以随时将数据存入磁盘文件,供以后重复实
验时使用。
Operating System
2017/3/6
Page 10
第5章
虚拟存储器
设页面走向为P=4,3,2,1,4,3,5,4,3,2,1,5,主存
容量M=3,置换算法采用FIFO,则缺页中断次数和缺页率如表
5.2所示。
表5.2 FIFO的性能分析(M=3)
Operating System 2017/3/6 Page 11
第5章
虚拟存储器
设M=4,缺页中断次数和缺页率如表5.3所示。 表5.3 FIFO的性能分析(M=4)
虚拟存储器
(3) 最 近 最 少 使 用 页 面 淘 汰 算 法 (LRU , Least Recently Used): 置换内存中最久未使用的页面。这是局部性原理的合理 近似,其性能接近最佳算法。但由于需要记录页面使 用时间的先后关系,因此硬件开销太大。硬件机构可
以是:
一个特殊的栈:把被访问的页面移到栈顶,于 是栈底的就是最久未使用页面。 每个页面设立移位寄存器:被访问时左边最高 位置 1,定期右移并且最高位补 0,于是寄存器数值最 小的就是最久未使用页面。
Operating System
2017/3/6
Page 13
实验结束后,按以下实验报告内容上交书面实验报告。
实验题目与要求
第5章
虚拟存储器
总的设计思想,及环境语言、工具等
数据结构与模块说明(功能与框图) 源程序
• 运行结果与运行情况
• 你认为你完成的作业哪些地方做得比较好或比较出色。 • 差距与局限,什么地方做得不太好,或什么地方可以做 得更进一步的工作。 • 从本作业得到的收获。对编写与调试过程中经验教训的 总结。 • 完成本题的其他方法。
Operating System
2017/3/6
Page 4
第5章
虚拟存储器
4
7
0
7
1 1 7 0 4
0 0 1 7 4
1 1 0 7 4
4
7 4
0 7 4
7 0 4
2 2 1 0 7 4
1 1 2 0 7 4
2 2 1 0 7 4
6 6 2 1 0 7
图5-1
用栈保存当前使用页面时栈的变化情况
Operating System
页面置换常用的算法有以下几种:
(1) 最佳算法(optimal,OPT):置换“未来不再使 用的”或“在离当前最远位置上出现的”页面。 (2) 先进先出页面置换算法(First In First Out, FIFO):置换建立最早的页面。
Operating System
2017/3/6
Page 2
第5章
相关文档
最新文档