資源簡(jiǎn)介
在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,假如系統(tǒng)分配給一個(gè)作業(yè)的物理塊數(shù)為 3,且此作業(yè)的頁(yè)面走向?yàn)椋?2,3,2,1,5,2,4,5,3,2,3,1
試分別求出用FIFO,LRU,OPT三種算法在程序訪問過程中所發(fā)生的缺頁(yè)次數(shù)及缺頁(yè)率?(假設(shè)最初頁(yè)面都在外存)
代碼片段和文件信息
/*
在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,假如系統(tǒng)分配給一個(gè)作業(yè)的物理塊數(shù)為?3,且此作業(yè)的頁(yè)面走向?yàn)椋?br/>2,3,2,1,5,2,4,5,3,2,3,1
試分別求出用FIFO,LRU,OPT三種算法在程序訪問過程中所發(fā)生的缺頁(yè)次數(shù)及缺頁(yè)率?(假設(shè)最初頁(yè)面都在外存)
*/
#include
using?namespace?std;
int?need[12]?=?{232152453231};
int?page[3]?=?{000};
int?A=0;
bool?iflack;
int?lack=0;
int?lruA[3];
int?optA[3];
void?clean(){
for?(int?i?=?0;?i?3;?i++)
page[i]?=?0;
lack?=?0;
A?=?0;
}
bool?had(int?aint?t){
for?(int?i?=?0;?i?3;?i++)
if?(a?==?page[i]){
lruA[i]?=?t;
return?true;
}
lack++;
return?false;
}
int?free(){
for?(int?i?=?0;?i?3;?i++)
if?(page[i]?==?0)
return?i;
return?-1;
}
void?show(){
for?(int?i?=?0;?i?3;?i++)
cout?< if?(iflack){
cout?<‘*‘;
}
cout?<}
void?optj(int?t){
for?(int?i?=?0;?i?3;?i++){
for?(int?j?=?t;?j?12;?j++){
if?(page[i]?==?need[j]){
optA[i]?=?j;
break;
}
else{
optA[i]?=?13;
}
}
}
}
void?FIFO(int?a){
page[A]?=?a;
A++;
if?(A?==?3)
A?=?0;
}
void?LRU(int?aint?t){
int?tp?=?lruA[0];
int?ti=0;
for?(int?i?=?1;?i?3;?i++)
if?(lruA[i]? tp?=?lruA[i];
ti?=?i;
}
page[ti]?=?a;
lruA[ti]?=?t;
}
void?OPT(int?aint?t){
int?opti?=?optA[0];
int?opta=0;
optj(t);
for?(int?i?=?1;?i?3;?i++)
- 上一篇:PyQt5:pyCharts 繪制餅圖
- 下一篇:VC++ 迷宮游戲
評(píng)論
共有 條評(píng)論