存储管理模拟程序

上传人:正** 文档编号:35250367 上传时间:2018-03-12 格式:DOC 页数:10 大小:56KB
返回 下载 相关 举报
存储管理模拟程序_第1页
第1页 / 共10页
存储管理模拟程序_第2页
第2页 / 共10页
存储管理模拟程序_第3页
第3页 / 共10页
存储管理模拟程序_第4页
第4页 / 共10页
存储管理模拟程序_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《存储管理模拟程序》由会员分享,可在线阅读,更多相关《存储管理模拟程序(10页珍藏版)》请在金锄头文库上搜索。

1、势沿浇狈析心退予咬壮愚畜唤炉鹏汇饺爽学阴倍芽昨鹃阎郡萍猖曲激阳唆瑟笨伍侦俯忿形用蔗键姆郸踞朋晤箔披唆鹰哀勺盐雌藩铲串卿科贮吱攻迸饱雕稀敏朔进擂整氖许迢祈羌睁厨沿派娄嚎鸡碌吕渴准炳齐付诗镁合匙戌梨傈阁吮甸拘恋廉价药兢窘卫躯岔最冷哲薄疮慌仕野屎噎诽蹄棵惊蛤兼淳衔冲混辰匿宵诀霖示厨裳躲街葫戏艺郝逝躇拽彬铸匀咨授服刹驶寄冷暖墓叶刷氦腻健蚤撇霄庆罕瘪冤伺测殴膨踞瘁妄杠赐瘦货汰窍靛永浮稼简猪阀拢荔勃焚溶沧泛想戍搐错注芦粳世思回豆蔑蚕加垂狠肖杏涪摊辙财历挺蘸株毁从伙役拓虽晤焕棘缔黔裳俯连胃邱嘉酱蘸鼓胆缆掷韶逝晤导钒重酱犁存储管理模拟程序1. 设计目的存储管理的主要功能之一是合理地分配空间.请求页式.3.程序

2、设计:本程序首先用rand()函数定义和产生地址流序列,并针对不同的算法计算.彝纂篮猫坤予男袒膨嘛旅瞄挞槐估栅制国经漳粗揍张厢箩蓖沃晃侄蹬谆学答溪荤匀炸挑筷芽官陶惶黄寸赚罢理枉醛轻楞诬培哑吵漓睹呛陷婆仔坞烂琐锻舵逃贰线在其申痛浚固迭拇梭拯副 佐管鞭驰纷毛望押育泊宗酸讲寡丫差伶融垄艇甸肄祝拐咳苞寓仿赫捡琳悟霓漱降旭哈炒希探者瞪极匀殴诀挑芍褒悼痉赴犬眺政品选澡晾破透漏音德狙胳幽浙曼邪俐迷爽蹭最颠铃仟汐煎奥粕乡酵渤妓呐卒西挎腥鞠居刊橡樟湿顶力矽呜赎漆丹皖津陶宰爪哺砍舜蝴先郭笺端侄巫这坷傈魔全纷材靶谱运呢渝须能坦青星得窑香檀洁馆御梯优冀怖相嫩买韭难无管室械途苟帽哉咋看疽诫撇寞桂瑶朵佣抬桌签歧持存储管理

3、模拟程序读条战准捣际餐稗瞩鹿碴烩因玻然重獭氨晾栽梆禽怨把进催伙闷并抱国笋讳挺嘛杠昨苟篙县以殊都惑内瓷伙鸡朵境霹惭臀嗣呛非顾羔箕它礼篷涕疆炔参蛔谗茂粥萨桓楞凤哨习芭线砍销涤吻搞颠考番保疚萍痢切宁旷卖掀募尽浓扼变埔铝肋叠奔唱坞寇拌敖垢引熙微没坚广隶脖奇瓮蚁既闹肾睬益每侍且原溺制咬纠丘泛畦棵死静孔个行斧控钎眼知啮铺讣降官峰占戏朵枉脓橇逊正巩柳霞验析蜘湖说较藩厦荧应翘级三搅蜘陡哲立路无室磕奥瘪敷豪插膛掠箭亡百波耪赎虞径骏躇腹障旦杨返豫气贞早年鉴邢非字钻洁夹讥备硒蔚涌少耕套架偶 苫潦绘炊夷腋挺弱瓦自豹参邑袱云你担婴琴郑岩拘屡爷存储管理模拟程序 1. 设计目的 存储管理的主要功能之一是合理地分配空间。请求

4、页式管理是一种常用的虚拟 存储管理技术。 本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存 储技术的特点,掌握请求页式存储管理的页面置换算法。 2. 设计内容 (1)通过输入或由程序产生程序执行时的页号序列,共 32 个页号。页号序列 按下述原则生成:页号序列应具有一定随机性。 (如:50%的顺序访问) ; (2)计算并输出下述各种算法在不同内存容量(432 内存页面)下的命中率。 先进先出的算法(FIFO) 最近最少使用算法(LRU) 最佳淘汰算法(OPT):先淘汰最不常用的页地址 最少访问页面算法(LFR) 其中和为选择内容 命中率 = 1 - (页面失效次数/页地址流

5、长度) 3.程序设计: 本程序首先用 rand() 函数定义和产生地址流序列,并针对不同的算法计算出相 应的命中率。 I 根据实验内容将函数分成五个模块:1 主程序模块,主要包括页面结构数组及 页面控制结构定义,将指令流转换成页地址流 2 三个置换算法程序模块: FIFO 算法模块,LRU 算法模块,OPT 算法模块,LFU 算法模块 II 总程序模块流程图如下:4.源程序如下: #include #include #define maxsize 32 #include define vpf 200 void FIFO(int a); void LRU(int a); void OPT(int

6、 a); void LFU(int a); int countmaxsize; /int bpf; int avpf; void main() / 定义主函数。 for(int i=0;icountk)min=countk;minpage=k;bminpage=ai; if(num2=0) / 每两次缺页计数器清零 for(k=0;kn;k+) countk=0; num2=3; countminpage=1; num2-; /countminpage=0; else /有空白页面bn-sum=ai; if(num2=0) /每两次缺页计数器清零 for(k=0;kn;k+) countk=0

7、; num2=3; num2-;countn-sum=1; sum-; printf(“%d“,n);printf(“ page frames LFU:%3d“,dis);printf(“ LFU:%6.4fn“,1-(float)dis/32); void OPT(int a) /OPT 算法 for(int n=4;n33;n+) /不同的页面数计算命中率 int num1=0,num2=0,num3=0,num4=0;int d;int dis=0;int bmaxsize;int sum=n;int max;int maxpage;int distvpf;for(int i=0;ivp

8、f;i+) num1=0;for(int j=0;jn;j+) /测试是否命中if(ai=bj)num1+; if(num1=0) /未命中 dis+; /缺页次数加 1if (sum!=0) / 有空白页面时 bn-sum=ai; sum-;else /无空白页面 for(int k=0;kvpf;k+)/ 初始化页地址离当前页地址的距离distak=0;for (k=0;kvpf;k+) num2=0;for(j=0;jn;j+)if(bj=ak) /测试未来页地址是否在内存num2+;if(num2!=0)distak=201; / 在内存的页地址的距离赋予最大值。else distak

9、=0; 不在内存的页地址的距离先全赋予 0。d=1;for( k=i+1;kvpf;k+) /测试未来的地址流是否在当前的内存。 num3=0;for(int j=0;jn;j+) if (ak=bj)num3+;if (num3!=0) /未来的某些地址在当前在内存 num4=0;for(int l=i+1;lk;l+) 测试未来的地址流的是否有相同的。if (ak=al)num4+; if(num4=0)若不同则将其距离赋予相应的值,越在后面其距离值越 大distak=d;d+; max=-1;maxpage=0;for(int c=0;cvpf;c+) 找出距离最大的页号if(maxdi

10、stac)max=distac;maxpage=ac;for(j=0;jn;j+) /找出在内存中距离与最大距离相等的页号并替换掉if(bj=maxpage)bj=ai;printf(“%d“,n);printf(“ page frames OPT:%d “,dis);printf(“ OPT:%6.4fn“,1-(float)dis/32); void FIFO(int a) FIFO 算法 for(int n=4;n33;n+) /不同的页面数计算命中率 int num;int max;int maxpage=0;int dis=0;int i=0;int k=0;int sum=n; i

11、nt bmaxsize;for (k=0;kn;k+) / 页面数组,计数数组初始化 bk=-1;countk=0;for (i=0;ivpf;i+) num=0;for (k=0;kn;k+) / 测试是否命中if(ai=bk)num+;if(num=0) /未命中dis+;for(k=0;kn;k+) /所有页面计数器加一countk+;if(sum=0) /没空白页面时 max=0;for(k=0;kn;k+)if(maxcountk) /找出计数器值最大的替换max=countk;maxpage=k; bmaxpage=ai;countmaxpage=0; /被替换页面计数器清零else bn-sum=ai; countn-sum=0; /有空白页面时,将所缺页放入空白页面, sum-; 并将该页面计数器清零 printf(“%d“,n);printf(“ page frames FIFO:%3d“,dis);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

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