操作系统课程设计--请求页式存储管理内容摘要:

1 2 3 4 Y N 提示出错,重新输入 操作系统课程设计 7 操作系统课程设计 8 等等。 8. 实验源程序 includeiostream include using namespace std。 const int MaxNum=320。 //指令数 const int M=5。 //内存容量 int PageOrder[MaxNum]。 //页面请求 int Simulate[MaxNum][M]。 //页面访问过程 int PageCount[M],LackNum。 //PageCount 用来记录 LRU 算法中最久未使用时间 ,LackNum 记录缺页数 float PageRate。 //命中率 int PageCount1[32]。 bool IsExit(int i)//FIFO 算法中判断新的页面请求是否在内存中 { bool f=false。 for(int j=0。 jM。 j++) { 操作系统课程设计 9 if(Simulate[i1][j]==PageOrder[i])//在前一次页面请求过程中寻找是否存在新的页面请求 { f=true。 } } return f。 } int IsExitLRU(int i)//LRU 算法中判断新的页面请求是否在内存中 { int f=1。 for(int j=0。 jM。 j++) { if(Simulate[i1][j]==PageOrder[i]) { f=j。 } } return f。 } int Compare()//LRU 算法找出内存中需要置换出来的页面 { int p,q。 p=PageCount[0]。 q=0。 for(int i=1。 iM。 i++) { 操作系统课程设计 10 if(pPageCount[i]) { p=PageCount[i]。 q=i。 } } return q。 } void Init() //初始化页框 { for(int k=0。 kMaxNum。 k++) { int n=rand()%320。 //随机数产生 320 次指令 PageOrder[k]=n/10。 //根据指令产生 320 次页面请求 } for(int i=0。 iMaxNum。 i++)//初始化页面访问过程 { for(int j=0。 jM。 j++) { Simulate[i][j]=1。 } } for(int q=0。 qM。 q++)//初始化最久未使用数组 { PageCount[q]=0。 } 操作系统课程设计 11 } void OutPut()//输出 { int i,j。 cout页面访问序列 :endl。 for(j=0。 jMaxNum。 j++) { coutPageOrder[j]。 } coutendl。 cout页面访问过程 (只显示前 10 个 ):endl。 for(i=0。 i10。 i++)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。