下载此文档

页面置换操作系统实验报告.docx


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
: .
实验二页面置换算法实现
一、实验目的
(1)了解内存分页管理策略
(2)掌握调页策略
(31,inti,intt,Prop[L])//记录当前内存块中页面离下次使用间隔长度{
Pro*page=newPro[M];
page=page1;
intcount=0;
for(intj=i;j<L;j++)
{
if(page[t].num==p[j].num)break;〃当前页面再次被访问时循环结束elsecount++;//否贝Ucount+1
}
returncount;//返回count的值}intmain()
intc;
intm=0,t=0;
floatn=0;
Prop[L];
m=Input(m,p);〃调用input函数,返回m值coutvv"请输入分配的物理块m(2〜6):";cout«endl«endl;
do{cin>>M;if(M>6||M<2){cout«endl;cout«"物理块m必须在2〜6之间"<<endl«endl;cout«"请重新输入m:";}elsebreak;
}while(1);
Pro*page=newPro[M];
do{for(inti=0;i<M;i++)〃初始化页面基本情况{page[i].num=0;page[i].time=m-1-i;}i=0;cout«endl;
cout«"1:FIFO页面置换2:LRU页面置换"<<endl;cout«"3:OPT页面置换4:退出"<<endl;
coutvv"请选择页面置换算法:"<<endl;cin>>c;if(c==l)//FIFO页面置换{n=0;
coutvv"FIFO算法页面置换情况如下:"<<endl;coutvvendl;
while(i<m){if(Search(p[i].num,page)>=0)//当前页面在内存中{cout<<p[i].num<<"";//输出当前页p[i].numcoutvv"不缺页"<<endl;i++;//i加1}else//当前页不在内存中{if(t==M)t=0;else{n++;〃缺页次数加1
page[t].num=p[i].num;//把当前页面放入内存中cout«p[i].num<<"";
print(page);〃打印当前页面
t++;//下一个内存块i++;//指向下一个页面}}}cout«endl;cout«"缺页次数:"<<*<"缺页率:"<<n/m«endl«endl;}if(c==2)//LRU页面置换{n=0;coutvv"LRU算法页面置换情况如下:"vvendl;cout«endl;while(i<m){inta;t=Search(p[i].num,page);if(t>=0)//如果已在内存块中{page[t].time=0;//把与它相同的内存块的时间置0for(a=0;a<M;a++)
if(a!=t)page[a].time++;//其它的时间加1cout<<p[i].num<<"";
coutvv"不缺页"<<endl;}else//如果不在内存块中{
n++;〃缺

页面置换操作系统实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mazhuangzi1
  • 文件大小176 KB
  • 时间2022-05-20