Professional Documents
Culture Documents
课程名称:操作系统课程设计
姓名 性别 学号 班级
电话 综合成绩 成绩等级
程序运行情况
(占总成绩 20%)
程序功能完善程度
(占总成绩 20%)
对问题的答辩情况
(占总成绩 30%)
学生的工作态度与独立工作能力
(占总成绩 10%)
设计报告的规范性
(占总成绩 20%)
【设计目的】
操作系统课程设计是在学生系统地学习了《操作系统》课
程后,通过对操作系统各管理机制功能实现的模拟,进一步深
入理解并掌握操作系统各管理机制的原理及实现。在模拟实现
的过程中不仅让学生能够把学到的知识应用到实际的编程实践
中,而且能够进一步的巩固学生在操作系统课程中学习的理论
知识。
【设计要求】
1、课程设计时间为 1 周;
2、开发语言不限(C++\JAVA\C#\ASP.net…);
3、设计文档书写规范,程序界面友好、健壮性强。
【题目】
页面置换算法模拟实现
1、 设计目的
存储管理的主要功能之一是合理的分配空间。请求页式
存储管理是一种常用的虚拟存储管理技术。通过对请求页式
存储管理中页面置换算法的模拟设计,掌握请求页式存储管
理页面置换算法,并进一步理解虚拟存储技术的原理及特点。
2、 设计内容
设计一个虚拟存储及内存工作区,使用先进先出算法
(FIFO),理想型淘汰算法( OPT),最近最久未使用算法
(LRU)计算不同内存容量下的缺页率,模拟表示出不同算法内
存中页面的变化情况,并对不同内存容量下不同算法的缺页率
进行比较分析(例如,可以采用图表、动画等方式来表示各种
算法的执行过程;可以用图表方式来对比分析不同算法的缺页
率)。
【代码和算法的设计及分析】
图」,基本实现了页式存储管理中的页面置换算法 ,包括先进
先出(FIFO),理想型淘汰算法(OPT)和最近最久未使用算法
(LRU)
心代码及算法。
首先让用户输入物理块数和页面个数,然后根据用户输入的数
值建立不同容量的数组(实验报告中以物理块数为 3 页面个数
数)供接下来计算缺页以及缺页率,代码如下
有了页数和物理块数就可以分析缺页了
整体流程图
1.先进先出(FIFO)
2.流 程 图
列),ARR2(存放物理块数)和 ARR3(存放每一步的结果).
在 ARR3 中还包含数组。
(在 FIFO 算法中引用了队列)
第一个存放页面序列的数组依次进入第二个数组,13 首先进入
没有找到 1,这时候要替换掉一个数,程序这时候会从数组 1 的
下标开始像前找,向前找到 3 个不同的数字(也就是
13,14,6)
代码执行完毕后,将结果存入数组 3,传到表格中打印出来并
计算出缺页率。
以下是核心代码截图:
2:理想型淘汰算法(OPT)
流 程 图
在理想型淘汰算法中,前面数字的进入,13,14 和 6 会产生缺
后遍历,看能不能找到以后永久不被访问的页面,发现之后只
找到 5 和 1,则从头开始,13 是永久不会被访问的页面,所以
页。
所有结果出来后传到表格并显示缺页率
核 心 代 码 如 下 :
3:最近最久未使用(LRU)
流 程 图
在 LRU 算法中,13,14,6 进入后页面显示缺页,当 1 进入的时
法执行完毕后,将数组 3 的结果传到表格中显示出来,并计算
出缺页率。
下面是核心代码:
程 序 运 行 截 图 :
实验总结:本次实验中,我深入理解了页面置换的 3 种不同
的算法包括 OPT,FIFO,LRU。对于页面置换的过程有了一
定的认知,通过 JAVASCript 编写程序让我对 JAVASCript 掌握
更熟练,提升了自己的能力
代码中遇到的问题:对第三方库掌握对不够熟练,在写代
码对时候没有那么流畅,对于算法在代码上的实现话费了
太长时间,代码的健壮性还是不够强