没有合适的资源?快使用搜索试试~ 我知道了~
(完整word版)操作系统课程设计-页面置换算法C语言.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 100 浏览量
2022-07-07
23:42:28
上传
评论 2
收藏 987KB PDF 举报
温馨提示
试读
21页
(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf(完整word版)操作系统课程设计-页面置换算法C语言.pdf
资源推荐
资源详情
资源评论
(完整 word 版)操作系统课程设计-页面置换算法 C 语言
页面置换算法
一.题目要求:
通过实现页面置换算法的 FIFO 和 LRU 两种算法,理解进程运行时系统是怎样选择换出页面的,对于两种
不同的算法各自的优缺点是哪些。
要求设计主界面以灵活选择某算法,且以下算法都要实现
1) 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再被访问的页面换出.
2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。
3) 最近最久未使用算法(LRU):淘汰最近最久未被使用的页面.
4) 最不经常使用算法(LFU)
二.实验目的:
1、用 C 语言编写 OPT、FIFO、LRU,LFU 四种置换算法。
2、熟悉内存分页管理策略。
3、了解页面置换的算法.
4、掌握一般常用的调度算法。
5、根据方案使算法得以模拟实现.
6、锻炼知识的运用能力和实践能力。
三、设计要求
1、编写算法,实现页面置换算法 FIFO、LRU;
2、针对内存地址引用串,运行页面置换算法进行页面置换;
3、算法所需的各种参数由输入产生(手工输入或者随机数产生);
4、输出内存驻留的页面集合,页错误次数以及页错误率;
四.相关知识:
1.虚拟存储器的引入:
局部性原理:程序在执行时在一较短时间内仅限于某个部分;相应的,它所访问的存储空间也局限于某
- 1 -
(完整 word 版)操作系统课程设计-页面置换算法 C 语言
个区域,它主要表现在以下两个方面:时间局限性和空间局限性.
2.虚拟存储器的定义:
虚拟存储器是只具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
3.虚拟存储器的实现方式:
分页请求系统,它是在分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页面形式虚拟
存储系统。
请求分段系统,它是在分段系统的基础上,增加了请求调段及分段置换功能后 ,所形成的段式虚拟存储系
统。
4.页面分配:
平均分配算法,是将系统中所有可供分配的物理块,平均分配给各个进程。
按比例分配算法,根据进程的大小按比例分配物理块.
考虑优先的分配算法,把内存中可供分配的所有物理块分成两部分:一部分按比例地分配给各进程;另
一部分则根据个进程的优先权,适当的增加其相应份额后,分配给各进程。
5.页面置换算法:
常用的页面置换算法有 OPT、FIFO、LRU、Clock、LFU、PBA 等.
五、设计说明
1、采用数组页面的页号
2、FIFO 算法,选择在内存中驻留时间最久的页面予以淘汰;
分配 n 个物理块给进程,运行时先把前 n 个不同页面一起装入内存,然后再从后面逐一比较,输出页面及
页错误数和页错误率。
3、LRU 算法,根据页面调入内存后的使用情况进行决策;
同样分配 n 个物理块给进程,前 n 个不同页面一起装入内存,后面步骤与前一算法类似。
选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:
六.设计思想:
OPT 基本思想:
是用一维数组 page[pSIZE]存储页面号序列, memery[mSIZE]是存储装入物理块中的页面。数组
- 2 -
(完整 word 版)操作系统课程设计-页面置换算法 C 语言
next[mSIZE]记录物理块中对应页面的最后访问时间.每当发生缺页时,就从物理块中找出最后访问时间最
大的页面,调出该页,换入所缺的页面。
FIFO 基本思想:
是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从
队头删除一页,而从队尾加入缺页。或者借助辅助数组 time[mSIZE]记录物理块中对应页面的进入时间,
每次需要置换时换出进入时间最小的页面.
LRU 基本思想:
是用一维数组 page[pSIZE]存储页面号序列 ,memery[mSIZE]是存储装入物理块中的页面。数组
flag[10]标记页面的访问时间。每当使用页面时,刷新访问时间。发生缺页时,就从物理块中页面标记最小的
一页,调出该页,换入所缺的页面。
七.流程图:
如下页所示
- 3 -
(完整 word 版)操作系统课程设计-页面置换算法 C 语言
开始
载入页号序列,从第 0 个得到页号
将页号放入物理块中,编号加 1
否
引用串编号大
于物理块数?
是
页号在物理块中?
否
是
根据选择的置换算法完成置换
页号序列载完?
否
是
结束
六.运行结果:
1。 按任意键进行初始化:
- 4 -
(完整 word 版)操作系统课程设计-页面置换算法 C 语言
2。 载入数据:
3。 进入置换算法选择界面:
4。运算中延迟操作:
- 5 -
剩余20页未读,继续阅读
资源评论
- m0_749343932023-06-18超赞的资源,感谢资源主分享,大家一起进步!
- m0_616792802023-06-23这个资源总结的也太全面了吧,内容详实,对我帮助很大。
- kfxiaoning2023-01-02资源是宝藏资源,实用也是真的实用,感谢大佬分享~
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功