- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 质量管理处罚细则.doc
- 工业设计与市场2.doc
- 4种傅里叶变换.ppt
- 大齐小学12-13学年安全工作计划.doc
- Chap04_图像预处理(上).pdf
- 第2章 XML基础语法2005.pdf
- 民法学(补修)重点.ppt
- CRM系统工号梳理解决方案.ppt
- 抗炎新药--地夫可特.pdf
- 第1章 计算机基础考试纲要.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)