- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海电力学院
计算机操作系统原理课程设计报告
题目名称: 编写程序模拟虚拟存储器管理
姓 名: 杜志豪 .学 号:
班 级: 2012053 班 .
同组姓名: 孙嘉轶
课程设计时间: ——
评语:
成绩:
目
一、 内容及要求?????????????????? 4
1 目???????????????????? 4
1.2 使用算法分析:?????????????????4
1. FIFO算法(先 先出淘汰算法)?????? 4
1. LRU算法(最久未使用淘汰算法)?????? 5
1. OPT算法(最佳淘汰算法)????????? 5
分工情况???????????????????? 5
二、 ?????????????????????? 6
原理概述???????????????????? 6
主要数据 构 (主要代 )?????????????? 6
算法流程 ???????????????????
9
主流程 ??????????????????
9
Optimal 算法流程 ?????????????
10
FIFO算法流程 ??????????????
10
LRU算法流程 ??????????????
11
.1 源程序文件名?????????????????
11
. 2 行文件名?????????????????
11
三、 果与分析????????????????????
11
Optimal 面置 算法 果与分析????????
11
FIFO 面置 算法 果与分析?????????
16
LRU 面置 算法 果与分析????????? 20
四、 新点????????????????????? 24
五、 与 ????????????????????? 27
六、代 附 ?????????????????????? 27
课程设计题目
一、 设计内容及要求
编写程序模拟虚拟存储器管理。 假设以 M 页的进程分配了 N
块内存( N<M)。
输入:设定系统分配的块数,以及进程页面引用序列(也可随
即产生)。
输出:显示每一次页面引用内存状态,最终显示产生缺页中断
的次数及页面置换的次数(假设初始状态内存没有装入任何页
面)。
必须分别使用以下置换算法完成模拟:
FIFO页面置换算法 ;
LRU页面置换算法 ;
最佳( Optimal)页面置换算法。使用算法分析:
FIFO页面置换算法:
该算法总是淘汰最先进入内存的页面, 即选择在内存中驻留时间最久的页面以淘汰。 该算法实现简单, 只需把一个进程已调入内存的页面, 按照先后次序链接成一个队列,并设置一个指针, 称为替换指针, 使它总是指向最老的页面。但该算法并不是都适合实际情况, 因为在进程中,
有些页面经常被访问,比如,含有全局变量、常用函数,
例程等得页面, FIFO算法并不能保证这些页面不被淘汰。
1.2.2 LRU页面置换算法:
最近最久未使用( LRU)的页面置换算法是根据页面调入内存后的使用情况进行决策的。 由于无法预测各页面将来的使用情况, 只能利用 “最近的过去”作为“最近的将来”的近似, 因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t ,当须淘汰一个页面时, 选择有页面中 t 值最大的,即最近最久为使用的页面以淘汰。
1.2.3 最佳( Optimal)页面置换算法:
Optimal 算法是一种理论的算法, 其所选择的被淘汰页面将是以后永久不使用的, 或许是在最长 (未来)时间内不再被访问的页面。 采用最佳置换算法, 通常可保证获得最低的缺页率。但由于人目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的, 便可以利用此算法来评价其他算法。
分工情况:共同讨论并构思,杜志豪负责 FIFO和 LRU算法的编程,孙嘉轶负责窗体界面和 OPT 算法的编写。编程中遇到困难
共同讨论并解决。
二、 详细设计
2.1原理概述
定义一个整型变量 int buffer=0 来记录内存分块数,定
义一个 string 类型的算法 string suanfa 来选择具体的算法;用一个数组 int[]xulie 来存储页面序列, 长度为 20;用一个数组 int[]kuai 来存储内存分配的物理块个数, 长度
为 5;用 int s 来记录具体的步骤数,用 int num 来记录页
面中断次数。空白表示物理块没有被使用。
2.2主要数据结构(代码)结构体:
输入的页面序列号:
2.3 public Form1() pp
执行文件名:虚拟存储器管理 .exe
三
文档评论(0)