大连理工大学远程与继续教育学院《操作系统》课程设计页面置换算法OPT算法.docx
《大连理工大学远程与继续教育学院《操作系统》课程设计页面置换算法OPT算法.docx》由会员分享,可在线阅读,更多相关《大连理工大学远程与继续教育学院《操作系统》课程设计页面置换算法OPT算法.docx(4页珍藏版)》请在冰点文库上搜索。
![大连理工大学远程与继续教育学院《操作系统》课程设计页面置换算法OPT算法.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/8f963c4c-b9f3-447c-9429-403d0bd2f2c9/8f963c4c-b9f3-447c-9429-403d0bd2f2c91.gif)
大连理工大学远程与继续教育学院《操作系统》课程设计
学习中心:
安徽阜阳奥鹏学习中心专 业:
年 级:
2019 年秋季学 号:
学 生:
题 目:
页面置换算法OPT算法
1.谈谈你对本课程学习过程中的心得体会与建议?
产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。
单单抽象出生产者和消费者,还够不上是生产者—消费者问题。
该问题还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。
生产者把数据放入缓冲区,而消费者从缓冲区取出数据。
。
单单抽象出生产者和消费者,还够不上是生产者—消费者问题。
该问题还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。
生产者把数据放入缓冲区,而消费者从缓冲区取出数据。
。
单单抽象出生产者和消费者,还够不上是生产者—消费者问题。
该问题还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。
生产者把数据放入缓冲区,而消费者从缓冲区取出数据。
题目一:
页面置换算法OPT算法
总则:
不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术要求)
要求:
(1)撰写一份word文档,里面包括(算法思路、算法
数据结构、主要函数代码、测试案例)章节。
(2)算法思路:
OPT为最佳置换算法,简单介绍该算法的基本思想,100字左右即可。
(3)算法数据结构:
列出主要用的数据结构,比如存储页面号序列page[],存储装入物理块中的页面memery[]等,只需要列出数据结构名称即可。
(4)主要函数代码:
列出OPT置换算法的代码。
不需要
列出主函数。
(5)给出一个测试案例即可,比如设置物理块个数为3,页面序号602430423,代码应列出算法置换的具体细节。
(6)整个word文件名为[姓名奥鹏卡号学习中心](如
戴卫东101410013979浙江台州奥鹏学习中心[1]VIP)
作业提交:
答:
FIFO算法和OPT算法之间的主要差别是,FIFO算法利用页面进入内存后的时间长短作为置换依据,而OPT算法的依据是将来使用页面的时间。
如果以最近的过去作为不久将来的近似,那么就可以把过去最长一段时间里不曾被使用的页面置换掉。
它的实质是,当需要置换一页时,选择在之前一段时间里最久没有使用过的页面予以置换。
这种算法就称为最久未使用算法(LeastRecentlyUsed,LRU)。
。
从内存中调出一页程序或数据送磁盘的对换区中,通常,把选择换出的页面的算法称为页面置换算法(Page-Replacement Algorithms)。
进而页面置换算法程序能客观的将其工作原理展现在我们面前。
1、
这种调度算法总是调出最先进入主存储器的那一页,FIFO算法简单,易实现。
一种实现方法是把装入主存储器的那些页的页号按进入的先后顺序排成队列,先进先出,后进后出。
2、
#include"stdio.h"#definen9
#definem3voidmain(){
intym[n],i,j,q,mem[m]={0},table[m][n];charflag,f[n];
printf("请输入页面访问序列\n");for(i=0;iscanf("%d",&ym[i]);printf("\n");
for(i=0;i{
q=0;
while((ym[i]!
=mem[q])&&(q!
=m))q++;
if(q==m)
flag='*'; //缺页,则置标志flag为'*'else
flag='';if(flag=='*') {
for(j=m-1;j>0;j--) // 淘汰最先调入的页面调入当前访问的 mem[j]=mem[j-1]; mem[0]=ym[i];
}
for(j=0;jprintf("输出结果为下表(0代表为空,*代表有缺页):
\n"); for(i=0;ifor(j=0;jprintf("\n");}