最佳置换算法(C语言)——大三操作系统实验-创新互联
目录
创新互联是一家专注于网站建设、做网站与策划设计,汝州网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:汝州等地区。汝州做网站价格咨询:028-869222201.算法原理
2.实验要求
3.算法流程图
4.代码分析
1.max函数的构建
2.found函数的构建
3.IN函数的构建
4.print函数的构建
5.主函数的构建
6.总代码
5.测试结果及其分析
1.算法原理
基本思想是所选择的被淘汰页面,将是以后永不使用的,或是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,可保证获得最低的缺页率。
2.实验要求在某请求分页管理系统中,作业执行时依次访问如下页面:1,4,3,1,2,5,1,4,2,1,4,5,分配给该作业的主存块数为3
3.算法流程图4.代码分析 1.max函数的构建int max(int c[3]){//找出内存三个页面距离下一次使用时间最长的页面索引
int temp=c[0],index=0;
for(int i=1;i<3;i++){
if(c[i]>temp){
temp=c[i];
index=i;
}
}
return index;
}
输入为数组C,C是用来存储内存三个页面对应的距离从b[0]开始下一次使用的时间
通过for循环找出大值,将其索引值返回
2.found函数的构建void found(int a[3],int b[100],int start,int n,int c[3]){//寻找页面内三个进程距离下一次使用的时间
for(int i=0;i<3;i++){
for(int j=start+1;j
输入为数组a(处于内存中的三个页面),数组b(即将要进入内存的页面总集),数组c,start(数组b中要进入内存的第start个),n(页面总数)
从start+1开始找与内存三个页面的时间,即间距,如果在后面都找不到,设为999
3.IN函数的构建int IN(int a[3],int temp){//判断需要顶替的页面是否在内部
int flag=0;
for(int i=0;i<3;i++){
if(a[i]==temp){
flag=1;
break;
}
}
return flag;
}
IN函数输入为内存的三个页面以及即将进入内存的页面,是为了判断内存页面中是否和它重复
如果重复,则flag置为1,否则不变,还是0,最后返回flag
4.print函数的构建void print(int a[3],int b[100],int n,int start){
int c[3]={0},m;
if(IN(a,b[start])==0){//如果不在内部,则需要更改
found(a,b,start,n,c);
m=max(c);
a[m]=b[start];
}
cout<<"现在进入第"<输入为数组a(处于内存中的三个页面),数组b(即将要进入内存的页面总集),start(数组b中要进入内存的第start个),n(页面总数)
定义数组c,用来储存内存三个页面对应的距离下一次使用的时间,其实是从b中0开始的索引值
如果即将进入内存的页面在内存中,则无需更改
否则需要调用found来找到需要替换的页面,并更改
最后输出
5.主函数的构建int main(){
int a[3],b[100],n;
for(int i=0;i<3;i++){
cout<<"请输入第"<>a[i];
}
cout<<"现在系统内的三个页面为:"<>n;
for(int i=0;i>b[i];
}//需要所有进程输入完才能判断谁用的时间久
for(int i=0;i
6.总代码#includeusing namespace std;
int max(int c[3]){//找出内存三个页面距离下一次使用时间最长的页面索引
int temp=c[0],index=0;
for(int i=1;i<3;i++){
if(c[i]>temp){
temp=c[i];
index=i;
}
}
return index;
}
void found(int a[3],int b[100],int start,int n,int c[3]){//寻找页面内三个进程距离下一次使用的时间
for(int i=0;i<3;i++){
for(int j=start+1;ja[i];
}
cout<<"现在系统内的三个页面为:"<>n;
for(int i=0;i>b[i];
}//需要所有进程输入完才能判断谁用的时间久
for(int i=0;i
5.测试结果及其分析测试数据就用实验要求给出的
测试结果分析
起始 输入1 2 5 1 4 2 1 4 5 a[0] 1 1(2) 1(2) 1 1 1(6) 1 1 1(999) 5 a[1] 4 4(3) 4(3) 4 4 4(7) 4 4 4(999) 4 a[2] 3 3 (999) 2(4) 5 5 5(8) 2 2 2(999) 2
最近最久未使用页面置换算法(C语言)——大三操作系统实验_西瓜妹妹的唯一男朋友的博客-博客
先进先出算法(c语言)——大三操作系统实验_西瓜妹妹的唯一男朋友的博客-博客
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站标题:最佳置换算法(C语言)——大三操作系统实验-创新互联
文章网址:http://cdiso.cn/article/dhjseh.html