欢迎来到天天文库
浏览记录
ID:56921896
大小:207.00 KB
页数:6页
时间:2020-07-24
《操作系统 页式虚拟存储管理程序模拟.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验3:页式虚拟存储管理程序模拟实验目的:编写程序来模拟计算机的两种调度方式:(1)先进先出算法(2)最近最少使用算法程序设计FIFO()LRU()Msize加1S=?用户内存空间msize=2Msize≤32是否用其他算法继续结束NY12YN提示出错,重新输入输入算法号S1≤S≤4开始生成地址流形成地址页号FIFO页面置换算法1在分配内存页面数(AP)小于进程页面数(PP)时,当然是最先运行的AP个页面放入内存。2这时有需要处理新的页面,则将原来内存中的AP个页面最先进入的调出(是以称为FIFO),然后将新页面放入。3以后如果再有新页面需要调入,则都按
2、2的规则进行。算法特点:所使用的内存页面构成一个队列。LRU页面置换算法1当分配内存页面数(AP)小于进程页面数(PP)时,当然是把最先执行的AP个页面放入内存。2当需要调页面进入内存,而当前分配的内存页面全部不空闲时,选择将其中最长时间没有用到的那个页面调出,以空出内存来放置新调入的页面(称为LRU)。算法特点:每个页面都有属性来表示有多长时间未被CPU使用的信息。结果分析#include#includeusingnamespacestd;constintMaxNum=320;//指令数constintM=5;//内
3、存容量intPageOrder[MaxNum];//页面请求intSimulate[MaxNum][M];//页面访问过程intPageCount[M],LackNum;//PageCount用来记录LRU算法中最久未使用时间,LackNum记录缺页数floatPageRate;//命中率intPageCount1[32];boolIsExit(inti)//FIFO算法中判断新的页面请求是否在内存中{boolf=false;for(intj=0;j4、程中寻找是否存在新的页面请求{f=true;}}returnf;}intIsExitLRU(inti)//LRU算法中判断新的页面请求是否在内存中{intf=-1;for(intj=0;j5、}voidInit()//初始化页框{for(intk=0;k6、or(j=0;j7、-----------------------------------------"<8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
4、程中寻找是否存在新的页面请求{f=true;}}returnf;}intIsExitLRU(inti)//LRU算法中判断新的页面请求是否在内存中{intf=-1;for(intj=0;j5、}voidInit()//初始化页框{for(intk=0;k6、or(j=0;j7、-----------------------------------------"<8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
5、}voidInit()//初始化页框{for(intk=0;k6、or(j=0;j7、-----------------------------------------"<8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
6、or(j=0;j7、-----------------------------------------"<8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
7、-----------------------------------------"<8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
8、)//先将前一次页面访问过程赋值给新的页面访问过程{Simulate[x][t]
此文档下载收益归作者所有