77范文网 - 专业文章范例文档资料分享平台

操作系统试验报告(3)

来源:网络收集 时间:2019-03-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验(二)

(页面置换)

一、问题描述:

主要包括三种典型的置换算法:最佳适用(OPT)算法,先进先出(FIFO)算法,最久未使用(URL)算法。 二、程序分析与设计: 1、基本思想

A.最佳适用算法:所选择的淘汰页是以后永不使用或者以后最长时间不需要访问的页,是一种理想化的算法,具有最好的性能,通常可以保证最低的缺页率。实现方法:利用一个与内存块相同大小的数组记录以后的重复出现的页面位置,如未出现则为最大,然后对这个数组进行比较,选出位置最大的页予以淘汰。

B.先进先出算法:总是淘汰最先进入内存的页,也就是将内存中中驻留时间最久的页面。实现方法:在内存块数组中,按顺序存入数组,依次淘汰,即最先进来的先淘汰。

C.最久未使用算法:根据页面调入内存后的使用情况进行决策,选择最近最久未使用的页面予以淘汰。实现方法:每次将页面存入内存数组栈顶,然后下面的一次向下移,在栈底位置的页面为下一次要淘汰的页。 2、结构定义

#define N 10 //页面数

int a[N],b[32]; // a[]为要调入内存的页面,b[]为内存块数组

while(f) //对内存块数组进行初始化 { for(j=0;j

b[j]=-1; } 3、算法描述 #include #include #define N 10 using namespace std;

int a[N],b[32]; //a[]为要调入内存的页面,b[]为内存块数组

void Optimal(int m) {

cout<<\ OPT\\n\

int i=0,j=0,count=0,k; while(i

算法置换

{

for(k=0;k

if(b[k]==a[i]) {

cout<<\内存中有这个页面,直接访问.\ break; }

} // 判断内存中是否有该页面.

if(k==m)

if(b[m-1]<0) //内存未满的情况// {

b[j]=a[i];

cout<

cout<<\产生\次缺页\ j++; j=j%m; }

else

{int temp[4]; //存储内存块中的页号在下一次使用的位置

int h=j;

while(a[h]!=b[0]&&h

temp[0]=h; h=j;

while(a[h]!=b[1]&&h

temp[1]=h; h=j;

while(a[h]!=b[2]&&h

temp[2]=h; h=j;

while(a[h]!=b[3]&&h

int max_x=0;//最后定位要换出的页号所在的内存号 int max=temp[0];

for(int c=0;c<4;++c) //找出要置换的页号// if(temp[c]>max) {max=temp[c];max_x=c; } count++;

cout<

cout<<\共缺页\次 缺页率为:\}

////-------------FIFO算法置---------------//// void FIFO( int m ) {

cout<<\ FIFO\\n\

算法置换

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统试验报告(3)在线全文阅读。

操作系统试验报告(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/496443.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: