先進先出算法(c語言)——大三操作系統(tǒng)實驗-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)建站成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元杭州做網(wǎng)站,已為上家服務(wù),為杭州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

1.算法原理

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é)果及其分析


1.算法原理

基本思想是淘汰最先進入內(nèi)存的頁面,即選擇在內(nèi)存駐留時間最長的頁面予以淘汰。實現(xiàn)簡單。按頁面調(diào)入內(nèi)存的先后鏈結(jié)為隊列,設(shè)置一個替換指針,總是指向最先進入內(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)存頁面中是否和它重復(fù)

如果重復(fù),則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,則說明沒有重復(fù)的,那么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é)果分析

起始輸入125142145
a[0]1143251114
a[1]4432514442
a[2]3325142225

最佳置換算法(C語言)——大三操作系統(tǒng)實驗_西瓜妹妹的唯一男朋友的博客-博客

最近最久未使用頁面置換算法(C語言)——大三操作系統(tǒng)實驗_西瓜妹妹的唯一男朋友的博客-博客

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

新聞標題:先進先出算法(c語言)——大三操作系統(tǒng)實驗-創(chuàng)新互聯(lián)
URL地址:http://muchs.cn/article6/hegig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)