页面调度实验报告

上传人:大米 文档编号:563790015 上传时间:2024-01-24 格式:DOCX 页数:7 大小:166.81KB
返回 下载 相关 举报
页面调度实验报告_第1页
第1页 / 共7页
页面调度实验报告_第2页
第2页 / 共7页
页面调度实验报告_第3页
第3页 / 共7页
页面调度实验报告_第4页
第4页 / 共7页
页面调度实验报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《页面调度实验报告》由会员分享,可在线阅读,更多相关《页面调度实验报告(7页珍藏版)》请在金锄头文库上搜索。

1、操作系统实验报告专业网络工程班级08102学号姓名课程名称操作系统学年 20102011学期下课程类别 专业必修限选任选实践口 实验时间2011年12月23日=实验名称实验四:页面置换调度实验目的和要求1、了解内存分页管理策略,掌握3种调度页面的算法2、分别采用3种页面调度方式实现调度,显示调度结果并计算缺页次数与缺页率3、编写程序完成实验内容及实验报告实验软硬件要求Pentium Ill 450 以上 CPU 64MB 以上内存WINDOWS XPVisual C+6.0实验内容、方法和步骤(可附页)1、设计结构体存放页面调度顺序串及内存块2、分别模拟FIFO置换调度算法、LRU置换调度算法

2、以及OPT置换调度算法进行页面调度3、分别打印输出3种置换算法调度后的内存块状态结果,在缺页的列对应输出缺页标志,计算缺页次数及缺 页率实验结果(可附页)见截图小结这次的页面调度实验让我对页面调度的3种常用置换算法及其性能的优劣比较有了更为深刻的认识,同时也进 一步提升了自己的编程能力。这次我用的一个一维结构体数组来存放页面调度序列串,用一个二维结构体数组模拟内存块,每个结构体有页 面号和标记两个变量。整个程序的基本实现没有太大的问题,但是页面调度的序列串不能动态输入而是在数组定义 是直接赋值,这样使得程序在交互性上很欠缺,经过老师的指导后我认识到了这个问题,课后通过不断地改进也取 得了一定的

3、效果,十分感谢梅老师,我以后一定在这方面更加注意。评定成绩:批阅教师:一、问题概述置换算法在内存中没有空闲页面时被调用,其目的是选出一个被淘汰的页面,把内存和外存统一管理 的真正目的是把那些被访问概率非常高的页面放在内存,因此,页面置换算法应该置换那些被访问的概率 最低的页面,并将它们移除内存。常用的置换算法有FIFO先进先出算法、LRU最近最久未使用算法、OPT理想型淘汰算法三种:FIFO 算法认为先调入内存的页面不再被访问的概率比较大,所以每次都选出最早进入内存的页面块调出内存; LRU 算法认为某页面被访问了,则它很可能马上还要被访问,所以每次都是选出最近的那个最久没有被访 问过的页调出

4、内存;OPT算法淘汰在访问串中将来最久才会被访问的页。二、设计流程图主要流程:图 1 主流程图FIFO 置换调度算法流程图:图 2 FIFO 置换调度算法流程图LRU置换调度算法流程图:图 3 LRU 置换算法流程图图 4 OPT 置换调度算法流程图三、数据定义#define BlockSize 4#define PageSize 20struct blockint num;/页面号int time;/标记;block BBlockSizePageSize; 模拟内存块block APageSize; /存放页面访问序列串四、源程序1、初始化函数void chushihua()for(int

5、i=0;iBlockSize;i+)for(int j=0;jPageSize;j+)Bij.num=-1;Bij.time=0;for(int k=0;kPageSize;k+)if(kBlockSize) Ak.time=1;else Ak.time=0; B00.num=B01.num=B02.num=B03.num=A0.num; B11.num=B12.num=B13.num=A1.num;B22.num=B23.num=A2.num;B33.num=A3.num; B03.time=4;B13.time=3;B23.time=2;B33.time=1;2、FIFO 置换调度算法vo

6、id FIFO()int exist,position;int qy=0; 缺页次数for(int list=4;listPageSize;list+)for(int row=0;rowBlockSize;row+) Browlist.num=Browlist-1.num;Browlist.time=Browlist-1.time+1; exist=findExist(list);if(exist=-1) /缺页 position=findReplace(list);Bpositionlist.num=Alist.num; Bpositionlist.time=1;Alist.time=1;q

7、y+;disp(1,qy);3、LRU 置换调度算法void LRU()int exist,position;int qy=0;缺页次数for(int list=4;listPageSize;list+)for(int row=0;rowBlockSize;row+) Browlist.num=Browlist-1.num;Browlist.time=Browlist-1.time+1; exist=findExist(list);if(exist!=-l)Bexistlist.time=l; 不缺页else缺页 position=findReplace(list);Bpositionlist

8、.num=Alist.num; Bpositionlist.time=l;Alist.time=l;qy+; disp(2,qy);4、OPT 置换调度算法void OPT()int exist,position;int qy=O;缺页次数for(int list=4;listPageSize;list+)for(int row=0;rowBlockSize;row+) Browlist.num=Browlist-l.num;Browlist.time=Browlist-l.time+l; exist=findExist(list);if(exist= = -l) /缺页 opt(list);

9、position=findReplace(list);Bpositionlist.num=Alist.num; Bpositionlist.time=l;Alist.time=l; qy+;disp(3,qy);五、运行结果页面访问序列串为7,0,1,2,0,3,0,4,2,3,0,321,2,0丄7,0,1,根据FIFO置换、LRU置换及OPT置换三种算 法,其分别对应的调度顺序为1、 FIFO 置换调度:70120304230321201701777222244400000007770000333222221111100111100033333222221*缺页次数:15缺页率:15/20

10、=75%2、LRU 置换调度:70120304230321201701777222244400011111110000000033332222777111333222223300000*缺页次数:12缺页率:12/20=60%3、OPT置换调度:7012030423032_12 017 017 2 2 20 0 0 01113* * *2 20 43 3*2 2 20 0 0333*222200001111*7 7 70 0 01 1 1*缺页次数:9缺页率:9/20=45%分析如下截图可知,实验所得结果完全正确.I: uC:Wocurrents and !_页面庫疟1巩哼爭2 T测醫蛙3 O

11、FT算法贝面号访冋顺序:7,0,1,2,0,3,0,4,2,3,8,3,2,1,2,0,1,7,0,1请选择涮度方式:1FIFO页西置换算法二701203042307772-10 0 0;恣数:i青选择调度方式,222244400 53332222来* 芙 *跋页率 s75.000600kLHUJI面置换算注:701203042307772222444C50B-106B0B0BB3333-1-111133322222* 丟*缺页次数M2缺页率:确.BS3800X111330222H*1110 3027 7饋选择调度方式;3TT页面置换算祛:70120 3S12 01707772-10 0 0-1-111 眉吴数為* 怙选择调度方式:272込硏込1332 2 込 03 3*2 2 込 01 1*27771111图5运行截图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号