存储管理系统设计_第1页
存储管理系统设计_第2页
存储管理系统设计_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工业大学课程设计资料袋计算机与通信学院学院(系、部)2013 2014 学年第 1 学期课程名称计算机操作系统指导教师左新娥 职称 讲师学生彦兵专业班级网络1101学号 _题目存储管理系统设计成绩起止日期 2013 年12月_9_日 2013年12月日目 录清单序号材料名称资料数量备注1课程设计任务书2课程设计说明书3456闲龙,孑课程设计任务书2013 2014学年第1学期学院(系、部)计算机与通信学院专业网络工程班级 111-2课程名称: 计算机操作系统学生:彦兵设计题目:存储管理系统设计指导教师:左新娥完成期限:自 2013年 12月 9 日至 2013年 12月 15 日共 1 周容

2、及 任 务劇W; 豺及 分 络/ 匕匕t、b 厶冃 ,其妒 功E 构乩钏 及3a h P肌 沂製 步 打 扮謬 同 或 你蛀 餅个缠 林喰 圉一膨 分册 刍一 进 厶,一 可 月 0 餌等铳程 :、 陀+; 统先举过 析地 C 蒜能訓统価靖 有或 该畑卸站 花仙m帥C叶 烏(W曲俗J 拟转 及 卅、体 厢阴讶 模轮 程 设®>/ 唯瑕施 mi 一 丄寸一In汪! 理尸另匸 :下訂 管间-行 括济问 禾玖昨 程时步运 包、的 -ro仁晚 出,同的 容图到 行,避 戊、一支竹郢 匡團 运选 rs 一十'3厶 二 / 尺- ? -尸 - 、A- 、rX fB周定进 >

3、能 / 确任装 步<|一r版功价 正亠B安 奴先有观 子体评 能语需 刖优司馬 电整 ,程不 举-< + 充士口 统扁一丁 sfew聪以 质谿進系的运 小以加龟 纸; 发用序 M可敲愉 (画设 研祇程 Fmlo地务沖費、求规廿4: 容卅餅轨破任硼淨要愀却则 -一; - 一 0 上丿 、 、厂卜 周 兄该、厂 十十寧 i 功 程 色 设*秤|参设阳阳明设协酹做 、计进体足、程宪说 、 一 设其具片一课系行一2 3进度安排期 日 起容 作 工周会 大 员 动 召程 源 XI 提 并 写 撰主要参考资料O27O ,O2版m 业伽 械 工 2 血械 -.:机版 ,MMM神 业091工 工0

4、20械 子概2w>机 电 芽,廉:作 0 小 - - 源工系M MM唯械也 讽机操少 译 - -r础纟系 1.基羊乍 t:t1代著 邓nn著等 、 間上3rt寧 鹏汀躇泌瑞 邹WS3pro褚 宇 胜vv宇 卄An邓DD罗 - - - - - - - - - 1 2 3 4 5 - - - - -指导教师(签字): 年 月 日系(教研室)主任(签字):课程设计说明书课程名称: 计算机操作系统设计题目:存储管理系统设计专 业:网络工程班级:1101学生: 彦兵学 号:指导教师:左新娥2012年 12月 7日目录1课程设计简介61.1实验目的61.2课程设计容62课程设计实现过程72.1系统流

5、程图72.2结构体及先关数组的设计 82.3主要功能函数设计81.给物理块赋初值 82初始化页面并产生一组随机数 83. 查找是否有空闲存 94. 查找存中是否有该页面 95. 查找应予置换的页面 93设计总结17参考文献181课程设计简介1.1实验目的通过请求页式存储管理中页面置换算法模拟程序,了解虚拟存储技术的特 点,掌握请求页式存储管理的页面置换算法。1.2课程设计容1. 通过随机数产生一个指令序列,共320条指令,指令的地址按下述原则生 产:50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分。2. 将指令序列变换成为页地址流,设页面大小为

6、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思路设计一个类,把页面存储管理系统分成各个模块,把不同的功能进行封装。实现程

7、序设计的安全易移植性。把各个分页算法分装在类的功能函数中。2.1系统流程图2课程设计实现过程开始最佳置换算法产生一组随机 数选择页面置换速发运行结束是否接着运行程序结束最久未使用2.2结构体及先关数组的设计1.主要结构体用来存放物理块的大小以及页面是否已经被访问struct page Inforint ID;/ 页面号int visit;/被访问标记; /*页面逻辑结构,结构为方便算法实现设计*/物理块页面号串物理块数 页面块数2.主要变量设计#defi ne Bsize 3#defi ne Psize 20 page Infor * block;/ page Infor * page;/2.

8、3主要功能函数设计1.给物理块赋初值void BlockClear()for(int i=0; ivBsize; i+)blocki.ID = -1; blocki.visit = 0;2 .初始化页面并产生一组随机数void ini tal()int QStringPsize=0;sran d(time(0);for(int i=0;i<20;i+)QStri ngi=ra nd()%10; prin tf("%d",QStri ngi);cout«e ndl;block = new page In forBsize;BlockClear();page =

9、 new page In forPsize;for(i=0; i<Psize; i+)pagei.ID = QStri ngi;pagei.visit = 0;3 .查找是否有空闲存int fin dSpace()for(int i=0; i<Bsize; i+)if(blocki.ID = -1)return i;找到空闲存,返回BLOCK中位置return -1;4 .查找存中是否有该页面int fin dExist(i nt curpage)for(int i=0; i<Bsize; i+)if(blocki.ID = pagecurpage.ID)return i;/

10、找到存中有该页面,返回 BLOCK中位置return -1;5. 查找应予置换的页面int fin dReplace()int pos = 0;for(int i=0; i<Bsize; i+)if(blocki.visit >= blockpos.visit)pos = i;/找到应予置换页面,返回BLOCK中位置retur n pos;6. FIFO算法void FIFO()coun t=0;int exist,space,positi on ;for(int i=0; ivPsize; i+)exist = fin dExist(i);if(exist != -1)cout&

11、#171;"即将访问的是页面"vvpagei.IDv<endl; cout«"存中已存在该页"<<endl;elsespace = fin dSpace();if(space != -1)blockspace = pagei;display();elsepositi on = fin dReplace();coutvv"即将访问的是页面"vvpageiDvv"n将被置换出的是页面"<<blockposition.ID<<endl;blockpositi on =

12、pagei;display();coun t+;for(i nt j=0; jvBsize; j+)blockj.visit+;/BLOCK中所有页面 visit+cout<<"nFIFO 算法的缺页率是:"<<(float)count/20<<endl;7. LRU算法void LRU()coun t=0;int exist,space,positi on ;exist = fin dExist(i);if(exist != -1)cout«"即将访问的是页面"vvpageiDv<endl;cout&

13、#171;"存中已存在该页"<<endl;blockexist.visit= -1;/ 恢复存在的 并刚访 问过的BLOC!中页面visit为-1elsespace = fin dSpace();if(space != -1)blockspace = pagei;display();elsepositi on = fin dReplace();coutvv"即将访问的是页面"vvpageiDvv"n将被置换出的是页面"<<blockposition.ID<<endl;blockpositi on =

14、 pagei;display();coun t+;for(i nt j=0; jvBsize; j+)blockj.visit+;cout<<"n LRU 算法 的缺页率是: "<<(float)cou nt/20<<e ndl;8.OPT算法void OPT()coun t=0;int exist,space,positi on ;exist = fin dExist(i);if(exist != -1)cout«"即将访问的是页面"vvpagei.IDv<endl;cout«"存

15、中已存在该页"<<endl;elsespace = fin dSpace();if(space != -1)blockspace = pagei;display();elsefor(int k=0; kvBsize; k+)for(i nt j=i; jvPsize; j+)if(blockk .ID != pagej.ID)blockk.visit = 1000;elseblockk.visit = j;break;positi on = fin dReplace();将被置换出的是页coutvv"即将访问的是页面"vvpagei.IDvv"

16、;n面"<<blockpositio nD<<e ndl;blockpositi on = pagei; display。;9 .实验结果1.主界面2.1产生的随机数* E:C - 4 编 fdsaDebugfdsa .exe"E;C+ + 编程2.LRU算法界面3:1廿样S3 1> Bn _口戸 H g hi匕旳 目问换7 即KIRr-pi-Lw丄丽_111 疋t訥岀L_/'E AC + 4 f=fd sa D e b j g fdsa exe4. FIFO算法>已匸 + +s a De b u qfdia .eveIB&quo

17、t;TrVC + 十扁障XfciwlDeb jgVdsa exe"5. OPT算法I算机随机产主一组13设计总结请求页式管理的基本原理是将逻辑地址空间分成大小相同的页, 将存储地址 空间分块,页和块的大小相等,通过页表进行管理。页式系统的逻辑地址分为页 号和页位移量。页表包括页号和块号数据项, 它们一一对应。根据逻辑空间的页 号,查找页表对应项找到对应的块号, 块号乘以块长,加上位移量就行成存储空 间的物理地址。每个作业的逻辑地址空间是连续的, 重定位到存空间后就不一定 连续了。3. 写出这三种页面置换算法的实现思想。FIFO算法总是淘汰最先调入主存的页面,即淘汰在主存中驻留时间最长

18、的 页面,认为驻留时间最长的页不再使用的可能性较大。LRU算法淘汰的页面是最近一段时间最久未被访问的那一页,它是基于程序 局部性原理来考虑的,认为那些刚被使用过的页面可能还要立即被使用,而那些在较长时间未被使用的页面可能不会立即使用。OPT算法,当要调入一页而必须淘汰旧页时,应该淘汰以后不再访问的页, 或距现在最长时间后要访问的页面。4. 对不同算法的性能进行评价。FIFO算法较易实现,对具有线性顺序特征的程序比较适用,而对具有其他 特征的程序则效率不高,此算法还可能出现抖动现象异常。LRU算法基于程序的局部性原理,所以适用用大多数程序,此算实现必须维护一个特殊的队列一一页 面淘汰队列。OPT算法虽然产生的缺页数最少,然而,却需要预测程序的页面引 用串,这是无法预知的,不可能对程序的运行过程做出精确的断言,不过此理论 算法可用做衡量各种具体算法的标准。参考文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论