“计算机操作系统”课程设计大作业。
一、题目: 页面置换算法模拟实验。
二、目的。分别采用最佳(optimal)置换算法、先进先出(fifo)页面置换算法和最近最少使用(lru)置换算法对用户输入的页面号请求序列进行淘汰和置换,从而加深对页面置换算法的理解。
三、内容和要求。
请用c/c++语言编一个页面置换算法模拟程序。用户通过键盘输入分配的物理内存总块数,再输入用户逻辑页面号请求序列,然后分别采用最佳(optimal)置换算法、先进先出(fifo)页面置换算法和最近最少使用(lru)置换算法三种算法对页面请求序列进行转换,最后按照课本p150页图4-26的置换图格式输出每次页面请求后各物理块内存放的虚页号,并算出每种算法的缺页次数。最后评价三种页面置换算法的优缺点。
三种页面置换算法的思想可参考教材p149-p152页。
假设页面号请求序列为,当分配给某进程的物理块数分别为3块和4块时,试用自己编写的模拟程序进行页面转换并输出置换图和缺页次数。
四、提交内容。
本大作业每个人必须单独完成,大作业以word附件形式提交。最后需提交的内容包括:算法算法思路及流程图、数据结构说明、源程序(关键**需要注释说明)、运行结果截图、心得体会及总结。
大作业严禁抄袭。发现抄袭一律以不及格论。
请大家严格按照大作业题目来编写程序,不要上交以前布置的大作业。如果提交的大作业题目与本文档要求不符,成绩一律为不及格。
请大家按时在网院网上系统里提交大作业,过了规定时间将无法再补交大作业。
答:页面置换算法:当cpu接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。
该程序通过查找页表,得到该页所在外存的物理块号。熟悉unix/linux的常用基本命令,练习并掌握unix提供的vi编辑器来编译c程序,学会利用gcc、gdb编译、调试c程序,学会如何把学到的知识用于解决实际问题,培养学生!
二、各模块的伪码算法。
1)先进先出算法伪码算法。
void fifo先进先出算法。
int i=2,m,j;
queye=1;
a[1][0]=a[0][0];
for(j=1;j<20;j++)
queye=queye+1;
i=i+1;
else
int findo(int j) /查找opt的函数。
if (a[1][j-1]==a[0][m])x=m;
if (a[2][j-1]==a[0][m])y=m;
if (a[3][j-1]==a[0][m])z=m;
//max=x;
t=1;if (y>x &&y>z)t=2;
if(z>x &&z>y)t=3;
return (t);
3)lru置换算法伪码算法。
void lru() lru置换算法。
int u,j,i;
int k;
a[1][0]=a[0][0];
//a[1][1]=a[0][0];
for(j=1;j<3;j++)
queye=3;
for (j=3;j<20;j++)
/char a[
void fifo先进先出算法。
int i=2,m,j;
queye=1;
a[1][0]=a[0][0];
for(j=1;j<20;j++)
queye=queye+1;
i=i+1;
else
for(i=0;i<4;i++)输出序列。
for(j=0;j<20;j++)
体会与自我评价。
这次操作系统课程设计,让我们对操作系统有了更深的认识,首先操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统内核与基石。
在进程运行过程中,若其访问的页面不在内存而需把它们调入内存,但内存以无空闲空间时,为了保证该进程能正常的运行,系统必须从内存中调出一页程序或数据送磁盘的兑换区中,但应将哪个页面调出,需根据一定的算法来确定。通常,把选择换成页面的算法称为页面置换算法。
最后,还非常感谢辛苦的操作系统老师,让我们对操作系统有了一定的了解,为这次课程设计奠定了良好的基础,课程设计给了我们这次总体运用自己能力的机会,我们坚信:只要功夫深,铁杵磨成针。
实用操作系统Linux大作业 课程设计
学年 课程 课程设计 题目 实用操作系统linux大作业 作者 靳益铭20131401022 所在学院 信息科学与工程学院 专业年级 计算机13 3 指导教师李莉。职称 副教授。2016年1月2日。linux实用操作系统大作业 上机实践 1 在虚拟机上安装linux操作系统。2 显示当前目录所在的位...
操作系统课程设计
课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...
操作系统课程设计
银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...