网站大量收购独家精品文档,联系QQ:2885784924

fifo 先进先出 算法姓名 韩小文 学号 0921010548.docx

fifo 先进先出 算法姓名 韩小文 学号 0921010548.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fifo 先进先出 算法姓名 韩小文 学号 0921010548

中北大学操作系统课程设计说明书?学院、系:软件学院专业:软件工程学 生 姓 名:韩小文学 号:0921010548设 计 题 目:基于linux的模拟存储器管理的设计与实现起迄日期: 2011年12月22日- 2012年1月7日指导教师:康君??年 1月 7 日需求分析当拿到任务时我们小组成员就在一起进行了讨论,明确了这次课程设计的任务和目标;并给各个成员分配了自己要完成的任务。我们这次课程设计的任务是模拟存储器的管理且模拟操作系统的一些算法,如:FIFO算法,LRU算法,NUR算法,OPT算法。我们在分配任务后确定我要完成OPT算法,下面我对OPT算法的分析:在输入一组数后首先对输入的数进行分析,看其属于哪个算法的数,如果其属于OPT算法的则再判断其属于哪个进程,然后再进行判断内存页面是否已满,未满则把其加入一个,满了把内存页面的数和当前属于opt算法且属于哪个进程的数进行比较,把最大的那个数返回,在链表中再把那个数给添加进。总体设计当运行程序时,程序提示用户输入数据,当用户按照其输入数据后就对数据进行分析,分析其属于哪个进程,然后再选择算法,对其进行运算。详细设计我所编写的OPT算法如下:int sort4(intvalue,PROCESS *pro){inti;for(i=0;ipro-stepNow;i++){if(pro-opage[i]==value){returni;}}return -1;}void add4(intvalue,PROCESS *pro){int m;m=pro-stepNow;pro-opage[m]=value;}/**初始化position【】【】*/voidinitPos(){inti;for(i=0;iPAGENUM;i++){position[i][0]=100;position[i][1]=100;}}/**用于得到内存中已调入的页面的值与即将调入的值相等的opage与controlSequ的下标并返回相等值的个数*/void com(intpos,PROCESS *pro){inti,j;for(i=0;iPAGENUM;i++){printf();for(j=pos;jstep;j++){if(pro-opage[i]==controlSequ[j]){position[i][0]=i;position[i][1]=j;break;}}}}/**用于得到即将访问的与内存中的页相同的在调度序列中最远的的*/intgetfurther(){int max=0;intmaxI=-1;inti,count=0;for(i=0;iPAGENUM;i++){if(maxposition[i][1]){max=position[i][1];maxI=i;}}if(max==100)//如果将在最久执行的页面有多个时 随机选一个置换出{int array[PAGENUM];for(i=0;iPAGENUM;i++){if(position[i][1]==100){array[count]=i;count++;}}if(count1){int mm;mm=rand()%(count);maxI=array[mm];}}initPos();returnmaxI;}void update4(intvalue,PROCESS *pro,intpos){intmaxI;initPos();com(pos,pro);maxI=getfurther();if(maxI=0)pro-opage[maxI]=value;else{//pro-opage[0]=value;}}/*void destroy4(PROCESS *pro){inti;for(i=0;ipro-stepNow;i++){spro-opage[i]=0;}}*/voiddestroyOptArr(){InitOptArr(pro1);InitOptArr(pro2);InitOptArr(pro3);}voidcoreOfOpt(intvalue,PROCESS *pro,intpos){int j;if(sort4(value,pro)0){pro-count++;if(pro-stepNowPAGENUM){add4(value,pro);pro-stepNow++;}else{pro-m++;update4(value,pro,pos);}if(pro-opage[0]!=0){for(j=0;jpro-stepNow;j++){pro-detail[pro-stepNow][j]=pro-opage[j];printf(%d ,pro-detail[pro-stepNow][j]);}}}else{}}void opt(){int

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档