1 / 6
文档名称:

先进先出算法.docx

格式:docx   大小:31KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

先进先出算法.docx

上传人:mazhuangzi1 2022/7/17 文件大小:31 KB

下载得到文件列表

先进先出算法.docx

相关文档

文档介绍

文档介绍:操作系统
题 目: 存储管理
学生姓名: 庞 丽 华
学 院: 计算机与电子信息学院
专业班级:计算机科学技术与网络工程类2008级(3)
学 号: 08071 00346
指导老师: 覃海生
时 间: 2010年7月〃修改状态位 Block[i]=x; 〃页x调入物理块
访问页时命中,此时直接访问
访问页时内存已装满,且没有命中,产生缺页中断,调入该页至内存,淘汰最先 进入的页。需要进行的操作有:产生缺页中断,中断次数加1,淘汰最先进入的页(即 淘汰页指针所指的页)并修改淘汰页的状态位,调入访问页到物理块并修改调入页的状 态位,最后还要修改淘汰页指针指向下一次需要淘汰的页
iiitenupt-H-; 〃缺页中断次数加1
PageTable[Block[k]-l]=0: 〃页 Block[k]被淘汰,状态位修改为 0
Block[k]=x; 〃页x调入物理块
PageTable[x-l]=l; 〃页x状态位修改为1
k=(k+l )%n; 〃修改下次被淘汰页指针
主函数
在主函数中输入页面走向,将其存入进程访问序列process[20]进程访问序列,然后依次 访问即可。
2)源代码
#include
#iiiclude<>
#iiiclude<>
#define m 5 //m表示页数
#define n 3 //n表示物理块数
float inteniipt=O; mt k=0;
〃产生缺页中断的次数
〃指向最先进入内存的页,即被淘汰的页
mt PageTablefm]; 认处置为0
mt Block[n];
〃定义页表,数组中数值=1表示该页在内存中,=0表示不在内存中,默
〃定义物理块,数组中数值表示对应物理块中装入的页的编号
mt process[20];
//进程访问序列
iiit numbei-1; void Visit(iiit); void main (void)
〃用于标志访问次数
〃访问函数
mt mput;
coi】t«喋进程共有页,请输入进程访问序列(范围八yvm«;用0表示结束):
cin»mput;
fbr(int length=O;iiiput! =0;length-H-) 〃将输入序列存入 process 数组,长度为 length
{
process[length]=mput;
ciii»input;
}
fbr(int j=Oj<lengthJ-H-)
Visit(process[j]); 〃依次访问页 processfj]
cout«n共H«length«H次 访问,产生Y<in忙次缺页中断,缺 页率为
}
void Visit(iiit x)
{
intij;
cout«senv(2)«number«M:访问页<x«H H; 〃第 number 次访问,访问页 x fdr(i=0;i<n;i++)
if(Block[i]==0) 〃访问页x时没有命中,且内存未装满,产生缺页中断,直接调入访 问页
{
mternipt++; 〃缺页中断次数加1
PageTable[x-l]=l; 〃修改状态位
Block[i]=x; 〃页x调入物理块