91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.01MB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2023-11-14
  • 語言: 其他
  • 標簽: 操作系統??

資源簡介

實驗目的及基本要求 設計和實現最佳置換算法、隨機置換算法、先進先出置換算法、最近最久未使用置換算法、簡單Clock置換算法及改進型Clock置換算法;通過支持頁面訪問序列隨機發生實現有關算法的測試及性能比較。

資源截圖

代碼片段和文件信息

#include
#include
#include

using?namespace?std;

int?const?InsideCount?=?5;//內存中存放的頁面數
int?count?=?0;
int?Inside[InsideCount];
int?const?PageCount???=10;//總的頁面數
int?Page[PageCount];
int?insert?=?0;//先到先出置換算法fcfo中表示?當內存滿的時候,新進入的頁號放的位置
int?suiji?=?0;?//隨機置換算法randchange??當內存滿的時候,新進入的頁號放的位置
int?state[InsideCount];//clock置換算法中,內存中的每個頁面號對應的狀態
int?state2[InsideCount][2];//?二維數組,第一行第一列為訪問位,第一行的第二列為修改位
double?lost?=?0.0;

//檢測頁號是否在內存中
bool?isInside(int?num){
for(int?i?=?0;?i? if(Inside[i]?==?Page[num]){
state[i]?=?1;
return?true;
}
}
return?false;
}

//判斷頁面是否已經被修改
bool?change(){
if((rand()%2+1)?==?1?){
cout<<“該頁面被修改“< return?true;
}
else
return?false;
}

//用于改進型clock置換算法,檢測頁號是否在內存中并把訪問位和修改位置1
bool?isInside2(int?num){
for(int?i?=?0;?i? if(Inside[i]?==?Page[num]){
if(change()){
state2[i][0]?=?1;
state2[i][1]?=?1;
}
else{
state2[i][0]?=?1;
}
return?true;
}
}
return?false;
}

//用于改進型clock置換算法,判斷內存中第幾個需要被置換
int?whichpage(){
int?j;

for(j=0;?j?????????if(state2[j][0]?==?0&&state2[j][1]?==?0){
return?j;
}
}
for(j=0;?j?????????if(state2[j][0]?==?0&&state2[j][1]?==?1){
return?j;
}
state2[j][0]?=?0?;
}
for(j=0;?j? state2[j][0]?=?0?;
}
return?whichpage();
}

//最佳置換算法(OPT)
void?OPT(int?num){
int?max?=?0;?//?表示內存中的頁號,下一次出現的距離
int?maxchange;?//表示內存中下次出現距離最大的頁號在內存中的位置

int?k;

if(isInside(num)){
cout<<“命中“< for(int?i=0?;?i?????????cout<<“物理塊“< }
else
if(count?==?InsideCount){
lost++;
for(int?j=0;?j? for(?k?=?num;?k? if(Inside[j]?==?Page[k])
break;
}
if(?k?>?max){
??max?=?k;????//k表示在這個地方會再次出現給定頁面
??maxchange?=j;//j?表示把?內存中第j個Inside中的頁面從內存拿出,把新的頁面放入
}
}
Inside[maxchange]?=?Page[num];
for(int?i=0?;?i?????????????cout<<“物理塊“< }
else{
Inside[count]?=?Page[num];
count++;
for(int?i=0?;?i?????????????cout<<“物理塊“< }
}

//隨機置換算法
void?RAND(int?num){
????if(isInside(num)){
cout<<“命中“< for(int?i=0?;?i?????????cout<<“物理塊“< }
else
if(count?==?InsideCount){
lost++;
suiji?=?rand()%3;
Inside[suiji]?=?Page[num];
for(int?i=0?;?i?????????????cout<<“物理塊“< }
else{
Inside[count]?=?Page[num];
count++;
for(int?i=0?;?i?????????????cout<<“物理塊“< }
}

//先進現出置換算法(FIFO)
void?FIFO(int?num){
if(isInside(num)){
cout<<“命中“< for(int?i=0?;?i?????????cout<<“物理塊“<

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-24?21:51??頁面置換算法\
?????目錄???????????0??2013-03-24?21:22??頁面置換算法\Debug\
?????文件??????202973??2013-03-24?21:22??頁面置換算法\Debug\Page.obj
?????文件??????548964??2013-03-24?21:22??頁面置換算法\Debug\PageReplace.exe
?????文件??????782216??2013-03-24?21:22??頁面置換算法\Debug\PageReplace.ilk
?????文件?????1991140??2013-03-24?20:28??頁面置換算法\Debug\PageReplace.pch
?????文件?????1090560??2013-03-24?21:22??頁面置換算法\Debug\PageReplace.pdb
?????文件???????66560??2013-03-24?21:22??頁面置換算法\Debug\vc60.idb
?????文件??????110592??2013-03-24?21:22??頁面置換算法\Debug\vc60.pdb
?????文件????????9007??2013-03-24?21:22??頁面置換算法\Page.cpp
?????文件????????4337??2013-03-24?21:51??頁面置換算法\PageReplace.dsp
?????文件?????????530??2013-03-24?20:28??頁面置換算法\PageReplace.dsw
?????文件???????33792??2013-03-24?21:51??頁面置換算法\PageReplace.ncb
?????文件???????48640??2013-03-24?21:51??頁面置換算法\PageReplace.opt
?????文件????????1317??2013-03-24?21:22??頁面置換算法\PageReplace.plg

評論

共有 條評論