重庆大学操作系统实验4报告书

重庆大学操作系统实验4报告书

ID:30880885

大小:288.46 KB

页数:9页

时间:2019-01-04

重庆大学操作系统实验4报告书_第1页
重庆大学操作系统实验4报告书_第2页
重庆大学操作系统实验4报告书_第3页
重庆大学操作系统实验4报告书_第4页
重庆大学操作系统实验4报告书_第5页
资源描述:

《重庆大学操作系统实验4报告书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《操作系统》实验报告年级、专业、班级姓名实验题目内存管理实验时间实验地点实验成绩实验性质□验证性□设计性■综合性教师评价:□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范;其他:评价教师签名:一、实验目的理解操作系统关于内存管理的一些方法。熟悉常用的页面置换策略的基本原理。通过模拟实验分析不同置换策略的性能差异。二、实验项目内容在linux坏境下用C语言编写程序,模拟进程在执行时内存中的页框置换过程。读取文件中给定进程访问的逻辑页号序列,其中单号学号同学做workload1~6,双号学号同学

2、做workload7〜12。设置内存页框大小为N(N分别取值为100,500,1000,2000,5000)。采用3种不同的页面置换算法:FIFO,CLOCK,LRUo画图比较不同页面置换算法对应的缺页率并分析原因(固定页框大小为1000)o画图比较不同内存页框大小对应的缺页率并分析原因(固定置换算法为LRU)O分析不同workload平均缺页率存在差异产生的原因。报告创建时间:三、实验过程或算法(源程序)详细代码见代码附件,以下为程序基本思路FIFO.c:采用数组intpage[N]模拟虚拟页框,读取文件中的虚拟地址做整除N即可得出虚拟页框号,若命中则h

3、itTime卄,否则根据先后顺序分别放入虚拟页框中,此时missTime++;当虚拟页框满后需要进行替换操作,替换intpage[N]中最靠前的一项(即先进入的页框),替换项用模拟的指针ptr代表LRUc,方式同FIFO.c,不同点在于虚拟页框满后将最先进入的或者最近未使用的一项换出,方法体现在若命中过,则将被命中的页框排到intpage[N]的末尾,其他项依次前移,下次的被替换项依旧是数组中的第一号元素CLOCK.c:用一个结构体定义了带使用位的元素,当虚拟页框为空时依次填入元素并将使用位置1,当命中后也将使用位置1,用一个模拟指针ptr代表当前指针指向

4、的位置,当需要替换页框时从指针指向位置向后查找使用位为0的第一个元素,在此过程中遇到使用位为1的元素将使用位置0,替换后指针继续指向当前元素位置不变四、实验结果及分析和(或)源程序调试过程代码:CLOCK.C:#include//CLOCK#defineN1000structframe{intnum;intuseFlag;};structframepage[NJ;intmain(){charfileName[][15]={nworkload7n/fworkload8H/workload9tworkload10,7rworkload11

5、Tworkloadl2”};intfileNum;for(fileNum=0;fileNum<6:fileNum++){FILE*fp;intmissTime=0;inthitTime=0;intcount=0;intptr=O;if((fp=fopen(fileName[fileNum]/rn))=NULL)printf(nThefilecannotbeoppenH);return-1;}while(!feof(fp)){inttemp;intflag=0;fscanf(fp,'*%d",&temp);temp/=N;inti;for(i=0;i

6、;i++){if(page[i].num=temp){page[i].useFlag=l;ptr++;hitTime++;flag=l;break;}}if(flag==l)//hit{count++;continue;}clsc//miss{missTime++;iRmissTimevN){page[count%N].num=temp;page[count%N].useFlag=1;ptr++;}else{while(page[ptr%N].useFlag!=O){page[ptr%N].useFlag=O;ptr++;}pagc[ptr%N].num=

7、temp;}}count++;}fclose(fp);floatrate;rate=missTime/(float)count;printf("%s:'filcNamc[filcNuiTi]);printf(MPagefaulttime:%dn,missTime);printf(MPagehittime:%dfhitTime);printf(nTotal:%d",count);printf(MRateoffault=%ffrate);}return0;}FIFO.C:#include//FIFO#defineN1

8、000intpage[N]={0};intmain(){/vor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。