虚拟存储器(最近最久未使用算法)的模拟实现.doc

虚拟存储器(最近最久未使用算法)的模拟实现.doc

ID:55874643

大小:51.50 KB

页数:4页

时间:2020-06-12

虚拟存储器(最近最久未使用算法)的模拟实现.doc_第1页
虚拟存储器(最近最久未使用算法)的模拟实现.doc_第2页
虚拟存储器(最近最久未使用算法)的模拟实现.doc_第3页
虚拟存储器(最近最久未使用算法)的模拟实现.doc_第4页
资源描述:

《虚拟存储器(最近最久未使用算法)的模拟实现.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、太原工业学院计算机工程系操作系统实验报告(五)实验名称虚拟存储器(最近最久未使用算法)的模拟实现实验日期2016/12/3成绩姓名班级学号实验目的1.理解虚拟存储器概念。2.掌握分页式存储管理地址转换和缺页中断。实验环境window8.1+Visualstudio2010实验内容分页式存储管理和最近最久未使用页面调度算法原理。1.分页式存储管理原理在存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。  如果允许将一个进程直接分散地装入到许多不相邻的分区中,则无须再进行“紧凑”。基于这一思

2、想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式。在分页存储管理方式中,如果不具备页面对换功能,则称为基本分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。   请求式分页系统是建立在基本分页基础上的,为了能支持虚拟存储器功能,而增加了请求调页功能和页面置换功能。2.最近最久未使用页面调度算法原理优先淘汰最久未使用的页面。该算法是利用最近的过去作为最的将来的近似,最近最久未使用算法赋予每个页面一个访问字段,用来记录一个页面上次被访问的经历时间T。当需要淘汰一个页面时

3、,选择有页面中T值最大的予以淘汰。实验步骤实现核心算法代码;voidLRU(){printf("选择使用LRU算法进行页面置换");init();for(inti=1;i<=len;i++){intok=0,j;for(j=1;j<=block;j++){if(str[i]==que[j])ok=1;}if(que[block]==-1&&!ok)///内存中没有,并且内存未满{for(j=1;j<=block;j++){if(que[j]==-1){que[j]=str[i];break;}}}elseif(que[block]!=-1&&!ok)//

4、/内存中没有,但是内存已满需要置换{printf("产生缺页中断");for(j=2;j<=block;j++)que[j-1]=que[j];que[block]=str[i];}elseif(que[block]==-1&&ok)///内存中有,但是内存未满,只需要调换位置类型{intk;///记录与当前页面好匹配的页面号位置for(j=1;j<=block;j++){if(que[j]==str[i]){k=j;}}for(j=k+1;j<=block;j++){if(que[j]==-1)break;elseque[j-1]=que[j];}qu

5、e[j-1]=str[i];}elseif(que[block]!=-1&&ok)///内存中有,但是内存已满,只需要调换位置类型2{intk;///记录与当前页面好匹配的页面号位置for(j=1;j<=block;j++){if(que[j]==str[i]){k=j;}}for(j=k+1;j<=block;j++)que[j-1]=que[j];que[block]=str[i];}print(i);}puts("");printf("算法执行结束");}///判断页面是否已经被修改boolchange(){if((rand()%2+1)==1

6、){printf("该页面被修改!");returntrue;}elsereturnfalse;}模拟结果;总结该算法是依据以前各页的使用情况进行判断,与以后页面使用情况无必然联系。

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

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

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