




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第页共NUMPAGES10页 操作系统七次实验报告常用页面置换算法模拟实验页面置换实验报告 操作系统课程第七次实验报告姓名学号系计算机任课教师指导教师评阅教师实验地点综合楼B102实验时间20__-9-26实验课表现出勤和个人表现Q1(15+15(组长评分)=30分)得分: 实验总分(Q1+Q2+Q3+Q4)实验完成情况Q2(45分(组长与教师评分的加权平均))得分: 实验编号与实验名称: 实验七、常用页面置换算法模拟实验实验目的: 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 实验内容及要求(详见实验讲义与实验指导书): 要求: 1)要求用你熟悉的程序设计语言编写和调试一个页面置换模拟程序;要求在主函数中测试。 2)实验报告中必须包括:设计思想、数据定义(包括详细说明)、处理流程(详细算法描述和算法流程图)、源代码、运行结果、体会等部分。 3)必须模拟本实验内容中提到的算法中的至少2种页面置换算法。 4)比较不同页面置换算法的效率内容:编写一个程序,使用以下页面置换算法中的某2种分别模拟一个分页系统,并统计同一个页面访问序列情况下不同页面置换算法引发的缺页中断次数。 1、第二次机会算法(SecondChance)2、最近最少使用算法(LeastRecentlyUsed,LRU)3、最不常用算法(NotFrequentlyUsed,NFU)4、最近未使用算法(NotRecentlyUsed,NRU)5、时钟页面置换算法6、老化算法(aging)页框的数量固定为4,虚拟页面数为8。实验输入为访问页面序列,比如0,1,3,2,7,1实验用到的软件(:)DevC++,Visio实验内容及关键步骤(代码)Q3(15分)得分: 流程图:输入页面访问序列取访问的页号查页表是否缺页?是置缺页标志flag为’_’按算法不同淘汰一页面调入所访问的页面否FIFO算法流程图LRU算法流程图: 函数关系解释图: 实现结果: 图1图2代码: #include<stdio.h>#include<stdlib.h>#defineMEMORY_SIZE4/_物理块数_/#definePROESS_SIZE8/_页面号引用串个数_/#include<stdio.h>#include<stdlib.h>/_全局变量_/intmSIZE=4;intpSIZE=8;staticintmemery[4]={0};/_物理块中的页号_/staticintpage[8]={0};/_页面号引用串_/staticinttemp[8][4]={0};/_辅助数组_//_置换算法函数_/voidFIFO;voidLRU;voidOPT;voiddesignBy;/_辅助函数_/voidprint(unsignedintt);/_主函数_/intmain{inti,k,code;designBy;system(“color0A“);puts(“请依次输入页面号(8个):“);for(i=0;i<pSIZE;i++)scanf(“%1d“,&;page[i]);system(“cls“);system(“color0E“);do{puts(“输入的页面号引用串为:“);for(k=0;k<=(pSIZE-1)/20;k++){for(i=20_k;(i<pSIZE)&;&;(i<20_(k+1));i++){if(((i+1)%20==0)||(((i+1)%20)&;&;(i==pSIZE-1)))printf(“%d\n“,page[i]);elseprintf(“%d“,page[i]);}}printf(“_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n“);printf(“_ 请选择页面置换算法:\t\t\t_\n“);printf(“_ -----------------------------------------_\n“);printf(“_ 1.先进先出(FIFO)2.最近最久未使用(LRU)_\n“);printf(“_ 3.退出_\n“);printf(“_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n“);printf(“请选择操作:[]\b\b“);scanf(“%d“,&;code);switch(code){case1:FIFO;break;case2:LRU;break;case3:system(“cls“);system(“color0A“);e_it(0);default:printf(“输入错误,请重新输入:“);}prin

王子****青蛙
实名认证
内容提供者


最近下载