目錄
創(chuàng)新互聯(lián)建站成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元杭州做網(wǎng)站,已為上家服務,為杭州各地企業(yè)和個人服務,聯(lián)系電話:028-869222201.算法原理
2.實驗要求
3.算法流程圖
4.代碼分析
1.sort函數(shù)的構(gòu)建
2.IN函數(shù)的構(gòu)建
3.print函數(shù)的構(gòu)建
4.主函數(shù)的構(gòu)建
5.總代碼
5.測試結(jié)果及其分析
基本思想是淘汰最先進入內(nèi)存的頁面,即選擇在內(nèi)存駐留時間最長的頁面予以淘汰。實現(xiàn)簡單。按頁面調(diào)入內(nèi)存的先后鏈結(jié)為隊列,設置一個替換指針,總是指向最先進入內(nèi)存的頁面。缺點在與進程實際運行規(guī)律不符,性能不好。
2.實驗要求在某請求分頁管理系統(tǒng)中,作業(yè)執(zhí)行時依次訪問如下頁面:1,4,3,1,2,5,1,4,2,1,4,5,分配給該作業(yè)的主存塊數(shù)為3
3.算法流程圖4.代碼分析 ?1.sort函數(shù)的構(gòu)建void sort(int a[3],int temp){//頂替內(nèi)存的第一個頁面,并排序
a[0]=a[1];
a[1]=a[2];
a[2]=temp;
}
輸入為在內(nèi)存中的三個頁面以及即將要進入內(nèi)存的頁面,但這個頁面和我們在main函數(shù)直接輸入的頁面不一樣,因為這個頁面是一定與內(nèi)存中頁面不相同的
索引值也相當于時間先后順序,0為最先進入內(nèi)存的
排序后a[1],a[2]都會前移,新來的temp放在最后
2.IN函數(shù)的構(gòu)建int IN(int a[3],int temp){//找出即將進來的進程是否在內(nèi)存的三個頁面中
int flag=0;
for(int i=0;i<3;i++){
if(a[i]==temp){
flag=1;
break;
}
}
return flag;
}
IN函數(shù)輸入為內(nèi)存的三個頁面以及即將進入內(nèi)存的頁面,是為了判斷內(nèi)存頁面中是否和它重復
如果重復,則flag置為1,否則不變,還是0,最后返回flag
3.print函數(shù)的構(gòu)建void print(int a[3],int temp){
if(IN(a,temp)==0){//如果即將進來的進程不在內(nèi)存的三個頁面中
sort(a,temp);
}
cout<<"現(xiàn)在系統(tǒng)內(nèi)的三個頁面為:"<
print函數(shù)是總流程,輸入為內(nèi)存的三個頁面以及即將進入內(nèi)存的頁面
調(diào)用了IN函數(shù)后,如果返回的為0,則說明沒有重復的,那么temp就要進入內(nèi)存的三個頁面中,即執(zhí)行sort函數(shù),然后再輸出
返回為1,就默認直接輸出,因為并不改變內(nèi)存里的三個頁面。
4.主函數(shù)的構(gòu)建int main(){
int a[3],b[100],n;
for(int i=0;i<3;i++){
cout<<"請輸入第"<>a[i];
}
cout<<"現(xiàn)在系統(tǒng)內(nèi)的三個頁面為:"<>n;
for(int i=0;i>b[i];
print(a,b[i]);
}
}
數(shù)組a是內(nèi)存中的三個頁面,b是即將進入內(nèi)存的頁面,n是即將進入內(nèi)存頁面的數(shù)量
5.總代碼#includeusing namespace std;
void sort(int a[3],int temp){//頂替內(nèi)存的第一個頁面,并排序
a[0]=a[1];
a[1]=a[2];
a[2]=temp;
}
int IN(int a[3],int temp){//找出即將進來的進程是否在內(nèi)存的三個頁面中
int flag=0;
for(int i=0;i<3;i++){
if(a[i]==temp){
flag=1;
break;
}
}
return flag;
}
void print(int a[3],int temp){
if(IN(a,temp)==0){//如果即將進來的進程不在內(nèi)存的三個頁面中
sort(a,temp);
}
cout<<"現(xiàn)在系統(tǒng)內(nèi)的三個頁面為:"<>a[i];
}
cout<<"現(xiàn)在系統(tǒng)內(nèi)的三個頁面為:"<>n;
for(int i=0;i>b[i];
print(a,b[i]);
}
}
5.測試結(jié)果及其分析測試數(shù)據(jù)就用實驗要求給出的
測試結(jié)果分析
起始 | 輸入1 | 2 | 5 | 1 | 4 | 2 | 1 | 4 | 5 | |
a[0] | 1 | 1 | 4 | 3 | 2 | 5 | 1 | 1 | 1 | 4 |
a[1] | 4 | 4 | 3 | 2 | 5 | 1 | 4 | 4 | 4 | 2 |
a[2] | 3 | 3 | 2 | 5 | 1 | 4 | 2 | 2 | 2 | 5 |
最佳置換算法(C語言)——大三操作系統(tǒng)實驗_西瓜妹妹的唯一男朋友的博客-博客
最近最久未使用頁面置換算法(C語言)——大三操作系統(tǒng)實驗_西瓜妹妹的唯一男朋友的博客-博客
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧