- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
操作系统课程设计报告
题目:页面置换算法模拟程序
学院名称:
专业班级:
学生姓名:
指导教师:
成绩:
目录
TOC \o "1-5" \h \z 一、 设计目的 3
二、 设计题目 3
\o "Current Document" 2.1设计内容 3
\o "Current Document" 2.2设计要求 3
\o "Current Document" 三、 设计过程 4
\o "Current Document" FIFO (先进先出) 4
\o "Current Document" LRU (最近最久未使用) 5
\o "Current Document" OPT (最佳置换算法) 6
\o "Current Document" 3.4随机数发生器 7
\o "Current Document" 四、 完整代码 7
\o "Current Document" 五、 运行结果演示 13
六、 设计心得 16
七、 参考文献 16 一、设计目的 操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门 重要的专业课程。 操作系统质量的好坏, 直接影响整个计算机系统的性能和用户 对计算机的使用。 一个精心设计的操作系统能极大地扩充计算机系统的功能, 充 分发挥系统中各种设备的使用效率, 提高系统工作的可靠性。 由于操作系统涉及 计算机系统中各种软硬件资源的管理, 内容比较繁琐, 具有很强的实践性。 要学 好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。
本课程设计是学生学习完 《计算机操作系统》 课程后, 进行的一次全面的综 合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法 , 加深对 操作系统基础理论和重要算法的理解,加强学生的动手能力。
熟悉页面置换算法及其实现,引入计算机系统性能评价方法的概念。
二、设计题目 :页面置换算法模拟程序
2.1 设计内容
编制页面置换算法的模拟程序。
2.2 设计要求
. 用随机数方法产生页面走向,页面走向长度为 L(15<=L<=20),L 由控制台输 入。
.根据页面走向,分别采用Optinal、FIFO、LRU算法进行页面置换,统计缺页 率。
.假定可用内存块为m(3<=m<=5) m由控制台输入,初始时,作业页面都不在 内存。
. 要求写出一份详细的设计报告。课程设计报告内容包括:设计目的、设计内 容、设计原理、算法实现、流程图、源程序、运行示例及结果分析、心得体会、 参考资料等。
设计过程
3.1 FIFO (先进先出)
设计原理:需要进行页面置换,即把内存中装入最早的那个页面淘汰, 换入当前 的页面。
算法流程图:
3.2 LRU (最近最久未使用)
3.2 LRU (最近最久未使用)
设计原理:
当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先
淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还要被访问。 或者反过来说,如果某页很长时间未被访问,则它在最近一段时间也不会被访问 算法流程图: "开始
页面走向存入数组 p[]中,内 存块用page[]
页面走向存入数组 p[]中,内 存块用page[]表示初始化为0
把page[]
把page[]中最近最久未使 用的页面置换出去.i++
把p[i]的内容直接 装入最上面一个 空内存块,i++
结束
3.3 OPT (最佳置换算法)
设计原理:需要进行页面置换,把内存中以后一段时间都不使用或是使用时间离
现在最远的页面换出
流程图
3.4 随机数发生器
#include <stdlib.h>
#include <time.h> // 准备用时钟函数调用库函数 t=time(NULL);// 取时钟时间并存入 t 调用库函数 srand(t);// 用时间 t 初始化随机数发生器调用 库函数 x=rand( )%10+1;// 返回一个 1~10 之间的随机数
四.完整代码
#include<iostream.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#define L 20// 页面走向长度最大为 20
int M; // 内存块
struct Pro// 定义一个结构体
{
int num,time;
};
Input(int m,Pro p[L])// 打印页面走向状态
{
cout<<" 请输入实际页面走向长度 L(15<=L<=20) :";
do
{ cin>>m;
if(m>20||m<15)cout<v" 实际页面长度须在15?20之间;请重新输入L:
J
e
1亿VIP精品文档
相关文档
最近下载
- JC04人格心理学单科作业题汇总(含解析).docx
- 轮边驱动系统-轮边减速器设计.doc
- 梅州市兴宁市数学六年级上学期小升初模拟试卷.doc VIP
- 2024最新犯罪嫌疑人诉讼权利义务告知书.doc VIP
- 观致3汽车使用手册用户操作说明书电子版下载.docx
- 《专八考试2000核心词》.pdf
- All Summer in a Day By Ray Bradbury ESUHSD(整个夏天一天雷。布拉德伯利 ESUHSD).pdf
- 梅州市大埔县2020版数学小升初数学试卷(i)卷.doc VIP
- 奥本海默2023 Oppenheimer中英文台词剧本完整版.docx
- 基于STM32单片机甲醛烟雾温湿度检测报警器设计.docx
文档评论(0)