还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
湖南工业大学课程设计资料袋计算机与通信学院学院(系、部)2013~2014学年第1学期课程名称计算机操作系统指导教师左新娥职称讲师学生姓名陈彦兵专业班级网络1101学号题目存储管理系统设计成绩起止日期2013年12月9日~2013年12月15日目录清单序号材料名称资料数量备注1课程设计任务书2课程设计说明书3456课程设计任务书2013—2014学年第1学期学院(系、部)计算机与通信学院专业网络工程班级111-2课程名称计算机操作系统学生姓名陈彦兵设计题目存储管理系统设计指导教师左新娥完成期限自2013年12月9日至2013年12月15日共1周内容及任务
一、设计内容设计一个允许n个进程并发运行的进程管理模拟系统该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可以选择优先级调度,时间片轮转,短进程优先等每个进程用一个PCB表示,其内容根据具体情况设置各进程之间有一定的同步关系可选系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察进程的运行过程及系统的管理过程
二、设计任务课程设计说明书纸质+电子版,内容包括设计内容、系统分析包括可行性分析、需求分析等及功能分析;系统设计要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等、设计总结评价/遇到的问题/体会/建议等、使用说明等
三、设计要求按功能要求__系统,能正确运行程序代码书写规范,有充足的注释课程设计所使用的编程语言任选,但建议使用C或C++;绿色软件程序运行不需__,避免写系统和注册表;进度安排起止日期工作内容课程设计前一周召开动员大会,学生选题;2013-12-9~2013-12-10系统分析和设计;2013-12-11~2013-11-13熟悉软件__工具、编码系统、系统测试以及中期答辩;2013-12-14~2013-12-15撰写并提交课程设计说明书含电子文档、源程序等主要参考资料
[1]罗宇、邹鹏、邓胜兰等著.《操作系统》[M].北京电子工业出版社,2011
[2]AndrewS.Tanenbaum著.陈向群等译.《现代操作系统》[M].北京机械工业出版社,2007
[3]邓胜兰编著.《操作系统基础》[M].北京机械工业出版社,2009
[4]D__eProbert著,陈向群等译《Windows操作系统原理》[M].北京机械工业出版,2006
[5]罗宇褚瑞等等著.《操作系统课程设计》[M].北京机械工业出版,2004指导教师(签字)年月日系(教研室)主任(签字)年月日课程设计说明书课程名称计算机操作系统设计题目存储管理系统设计专业网络工程班级1101学生姓名:陈彦兵学号:指导教师:左新娥2012年12月7日目录TOC\o1-3\h\z\u1课程设计简介
41.1实验目的
41.2课程设计内容42课程设计实现过程
52.1系统流程图
52.2结构体及先关数组的设计
62.3主要功能函数设计61.给物理块赋初值62.初始化页面并产生一组随机数63.查找是否有空闲内存74.查找内存中是否有该页面75.查找应予置换的页面73设计总结15____161课程设计简介
1.1实验目的通过请求页式存储管理中页面置换算法模拟程序,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法
1.2课程设计内容
1.通过随机数产生一个指令序列,共320条指令,指令的地址按下述原则生产50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分
2.将指令序列变换成为页地址流,设页面大小为1K;用户内存容量为4页到32页;用户虚存容量为32K在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为第0条至第9条指令为第0页;第10条至19条指令为第1页;…第310条至319条指令为第31页
3.计算并输出下述各种算法在不同内存容量下的命中率1先进先出算法(FIFO)2最近最少使用算法(LRU)3最佳使用算(OPT)命中率=1-页面失效次数/页地址流长度本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数
1.3思路设计一个类,把页面存储管理系统分成各个模块,把不同的功能进行封装实现程序设计的安全易移植性把各个分页算法分装在类的功能函数中2课程设计实现过程
2.1系统流程图是否
2.2结构体及先关数组的设计1.主要结构体用来存放物理块的大小以及页面是否已经被访问structpageInfor{intID;//页面号intvisit;//被访问标记};/*页面逻辑结构,结构为方便算法实现设计*/
2.主要变量设计#defineBsize3//物理块数#definePsize20//页面块数pageInfor*block;//物理块pageInfor*page;//页面号串
2.3主要功能函数设计1.给物理块赋初值voidBlockClear{forinti=0;iBsize;i++{block[i].ID=-1;block[i].visit=0;}2.初始化页面并产生一组随机数voidinital{intQString[Psize]={0};srandtime0;forinti=0;i20;i++{QString[i]=rand%10;printf%dQString[i];}coutendl;block=newpageInfor[Bsize];BlockClear;page=newpageInfor[Psize];fori=0;iPsize;i++{page[i].ID=QString[i];page[i].visit=0;}}3.查找是否有空闲内存intfindSpa__{forinti=0;iBsize;i++ifblock[i].ID==-1returni;//找到空闲内存,返回BLOCK中位置return-1;}4.查找内存中是否有该页面intfindExistintcurpage{forinti=0;iBsize;i++ifblock[i].ID==page[curpage].IDreturni;//找到内存中有该页面,返回BLOCK中位置return-1;}5.查找应予置换的页面intfindRepla__{intpos=0;forinti=0;iBsize;i++ifblock[i].visit=block[pos].visitpos=i;//找到应予置换页面,返回BLOCK中位置returnpos;}
6.FIFO算法voidFIFO{count=0;intexistspa__position;forinti=0;iPsize;i++{exist=findExisti;ifexist!=-1{cout即将访问的是页面page[i].IDendl;cout内存中已存在该页endl;}else{spa__=findSpa__;ifspa__!=-1{block[spa__]=page[i];display;}else{position=findRepla__;cout即将访问的是页面page[i].ID\n将被置换出的是页面block[position].IDendl;block[position]=page[i];display;count++;}}forintj=0;jBsize;j++block[j].visit++;//BLOCK中所有页面visit++}cout\nFIFO算法的缺页率是floatcount/20endl;}7.LRU算法voidLRU{count=0;intexistspa__position;forinti=0;iPsize;i++{exist=findExisti;ifexist!=-1{cout即将访问的是页面page[i].IDendl;cout内存中已存在该页endl;;block[exist].visit=-1;//恢复存在的并刚访问过的BLOCK中页面visit为-1}else{spa__=findSpa__;ifspa__!=-1{block[spa__]=page[i];display;}else{position=findRepla__;cout即将访问的是页面page[i].ID\n将被置换出的是页面block[position].IDendl;block[position]=page[i];display;count++;}}forintj=0;jBsize;j++{block[j].visit++;}}cout\nLRU算法的缺页率是floatcount/20endl;}
8.OPT算法voidOPT{count=0;intexistspa__position;forinti=0;iPsize;i++{exist=findExisti;ifexist!=-1{cout即将访问的是页面page[i].IDendl;cout内存中已存在该页endl;}else{spa__=findSpa__;ifspa__!=-1{block[spa__]=page[i];display;}else{forintk=0;kBsize;k++forintj=i;jPsize;j++{ifblock[k].ID!=page[j].ID{block[k].visit=1000;}else{block[k].visit=j;break;}}position=findRepla__;cout即将访问的是页面page[i].ID\n将被置换出的是页面block[position].IDendl;block[position]=page[i];display;}}}}9.实验结果
1.主界面
2.1产生的随机数
2.LRU算法界面
1.FIFO算法
2.OPT算法3设计总结请求页式管理的基本原理是将逻辑地址空间分成大小相同的页,将存储地址空间分块,页和块的大小相等,通过页表进行管理页式系统的逻辑地址分为页号和页内位移量页表包括页号和块号数据项,它们一一对应根据逻辑空间的页号,查找页表对应项找到对应的块号,块号乘以块长,加上位移量就行成存储空间的物理地址每个作业的逻辑地址空间是连续的,重定位到内存空间后就不一定连续了
3.写出这三种页面置换算法的实现思想FIFO算法总是淘汰最先调入主存的页面,即淘汰在主存中驻留时间最长的页面,认为驻留时间最长的页不再使用的可能性较大LRU算法淘汰的页面是最近一段时间内最久未被访问的那一页,它是基于程序局部性原理来考虑的,认为那些刚被使用过的页面可能还要立即被使用,而那些在较长时间内未被使用的页面可能不会立即使用OPT算法,当要调入一页而必须淘汰旧页时,应该淘汰以后不再访问的页,或距现在最长时间后要访问的页面4.对不同算法的性能进行评价FIFO算法较易实现,对具有线性顺序特征的程序比较适用,而对具有其他特征的程序则效率不高,此算法还可能出现抖动现象异常LRU算法基于程序的局部性原理,所以适用用大多数程序,此算实现必须维护一个特殊的队列——页面淘汰队列OPT算法虽然产生的缺页数最少,然而,却需要预测程序的页面引用串,这是无法预知的,不可能对程序的运行过程做出精确的断言,不过此理论算法可用做衡量各种具体算法的标准____
[1]袁庆龙,候文义.Ni-P合金镀层组织形貌及显微硬度研究[J].太原理工大学学报,2001,32151-
53.(连续出版物[序号]主要责任者.文献题名[J].刊名,出版年份,卷号期号起止页码)
[2] 刘国钧,王连成.图书馆史研究[M].北京高等教育出版社,197915-18,31.(专著[序号]主要责任者.文献题名[M].出版地出版者,出版年起止页码.)
[3]孙品一.高校学报编辑工作现代化特征[C].中国高等学校自然科学学报研究会.科技编辑学论文集2.北京北京师范大学出版社,199810-22.(论文集[序号]主要责任者.文献题名[C]∥主编.论文集名.出版地出版者,出版年起止页码.)开始产生一组随机数选择页面置换速发最久未使用最佳置换算法FIFO算法运行结束是否接着运行程序结束。