虛擬存儲(chǔ)器管理設(shè)計(jì)_第1頁(yè)
虛擬存儲(chǔ)器管理設(shè)計(jì)_第2頁(yè)
虛擬存儲(chǔ)器管理設(shè)計(jì)_第3頁(yè)
虛擬存儲(chǔ)器管理設(shè)計(jì)_第4頁(yè)
虛擬存儲(chǔ)器管理設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

摘要虛擬存儲(chǔ)技術(shù)是隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展起來(lái)的。早在20世紀(jì)70年代,為了克服內(nèi)存容量小成本高而不適應(yīng)大型程序應(yīng)用需要的矛盾,人們開(kāi)發(fā)了虛擬內(nèi)存技術(shù)。本文采用模塊化系統(tǒng)設(shè)計(jì)方法,對(duì)磁盤(pán)調(diào)度進(jìn)行模擬實(shí)現(xiàn),主要完成了FIFO(先進(jìn)先出算法)、LRU(最近最久未使用算法)以及OPT(最佳置換算法)的調(diào)度實(shí)現(xiàn)。系統(tǒng)采用從文件讀取進(jìn)程信息的方式,并提供用戶自行選擇調(diào)度算法,并提供算法對(duì)比,以便用戶明顯看出算法的優(yōu)劣。本文包含采用了結(jié)構(gòu)體等數(shù)據(jù)結(jié)構(gòu),編寫(xiě)了尋找時(shí)間最長(zhǎng)頁(yè)面功能模塊、頁(yè)面讀入功能模塊、FIFO功能模塊、LRU功能模塊等?;緦?shí)現(xiàn)虛擬存儲(chǔ)器調(diào)度的模擬實(shí)現(xiàn),達(dá)到本系統(tǒng)設(shè)計(jì)要求。關(guān)鍵字:虛擬存儲(chǔ)器、頁(yè)面調(diào)度、管理系統(tǒng)目錄TOC\o"1-5"\h\z\o"CurrentDocument"摘要I一、設(shè)計(jì)任務(wù)分析11.1虛擬存儲(chǔ)技術(shù)分析:1\o"CurrentDocument"1.1.1虛擬存儲(chǔ)技術(shù)概述11.1.2虛擬存儲(chǔ)技術(shù)的概念11.2使用算法分析:2FIFO算法(先進(jìn)先出淘汰算法)2\o"CurrentDocument"LRU算法(最久未使用淘汰算法)3\o"CurrentDocument"OPT算法(最佳淘汰算法)3二、總設(shè)計(jì)方案42.1、置換算法思想4\o"CurrentDocument"2.2、LRU置換算法的硬件支持5三、程序設(shè)計(jì)結(jié)構(gòu)圖63.1虛擬存儲(chǔ)管理器系統(tǒng)設(shè)計(jì)總框圖63.2各模塊功能N-S圖73.2.1尋找時(shí)間最長(zhǎng)的頁(yè)面功能模塊:73.2.2內(nèi)存頁(yè)面輸入功能模塊:7\o"CurrentDocument"四、項(xiàng)目截圖10五、設(shè)計(jì)程序源代碼115.1源代碼11\o"CurrentDocument"五、設(shè)計(jì)心得18\o"CurrentDocument"六、參考文獻(xiàn)19虛擬存儲(chǔ)器管理系統(tǒng)設(shè)計(jì)—、設(shè)計(jì)任務(wù)分析本設(shè)計(jì)的目的是通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的虛擬存儲(chǔ)器管理系統(tǒng)來(lái)模擬實(shí)際的頁(yè)面調(diào)度算法與過(guò)程,以掌握這種有用的技術(shù)。要求將其輸入/輸出處理程序編成一個(gè)獨(dú)立的進(jìn)程模塊并與其它請(qǐng)求輸入/輸出的進(jìn)程并發(fā)運(yùn)行。并要求加入設(shè)備管理子模塊。1.1虛擬存儲(chǔ)技術(shù)分析:1.1.1虛擬存儲(chǔ)技術(shù)概述虛擬存儲(chǔ)技術(shù)是隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展起來(lái)的。早在20世紀(jì)70年代,為了克服內(nèi)存容量小成本高而不適應(yīng)大型程序應(yīng)用需要的矛盾,人們開(kāi)發(fā)了虛擬內(nèi)存技術(shù)。隨著計(jì)算機(jī)技術(shù)及相關(guān)信息處理技術(shù)的不斷發(fā)展,人們對(duì)存儲(chǔ)的需求越來(lái)越大,單個(gè)大容量磁盤(pán)已不能適應(yīng)應(yīng)用的需要,虛擬存儲(chǔ)技術(shù)又有進(jìn)一步的發(fā)展,如在操作系統(tǒng)下將一組硬盤(pán)捆綁成帶區(qū)集(STRIP)作為單個(gè)邏輯存儲(chǔ)單元供主機(jī)訪問(wèn);磁盤(pán)冗余陣列(RAID)技術(shù)將多個(gè)物理磁盤(pán)通過(guò)一定的邏輯關(guān)系集合起來(lái),成為一個(gè)大容量的虛擬磁盤(pán)。從某種意義上講,SAN本身也是虛擬存儲(chǔ)技術(shù)的應(yīng)用。1.1.2虛擬存儲(chǔ)技術(shù)的概念所謂虛擬存儲(chǔ)技術(shù),是指把多個(gè)物理上獨(dú)立存在的存儲(chǔ)體通過(guò)軟件或硬件的手段集中管理起來(lái),形成一個(gè)邏輯上的虛擬存儲(chǔ)單元供主機(jī)訪問(wèn)。這個(gè)虛擬邏輯單元的存儲(chǔ)容量是它所集中管理的各物理存儲(chǔ)體的存儲(chǔ)容量之和,而它的訪問(wèn)帶寬則在一定程度上接近各個(gè)物理存儲(chǔ)體的訪問(wèn)帶寬之和。虛擬存儲(chǔ)實(shí)際上是邏輯存儲(chǔ),是一種智能、有效地管理存儲(chǔ)數(shù)據(jù)的方式。虛擬存儲(chǔ)克服了物理存儲(chǔ)的局限,它可以把物理設(shè)備變成完全不同的邏輯鏡像,呈現(xiàn)給用戶,既充分利用了物理設(shè)備的優(yōu)勢(shì),如高性能、高可用,又打破了物理設(shè)備本身不可克服的局限性。從用戶角度看,使用存儲(chǔ)空間而不是使用物理存儲(chǔ)硬件,管理存儲(chǔ)空間而不是管理物理存儲(chǔ)部件,這就是虛擬存儲(chǔ)的概念。1.2使用算法分析:FIFO算法(先進(jìn)先出淘汰算法)1)什么是先進(jìn)先出淘汰算法?當(dāng)需要淘汰一頁(yè)時(shí),總是選擇主存中居留時(shí)間最長(zhǎng)(即最老)的一頁(yè)淘汰。2)實(shí)現(xiàn)方法系統(tǒng)保留一張次序表,該表記錄了作業(yè)程序的各頁(yè)面進(jìn)入主存的先后次序。?用數(shù)組作次序表可在主存中建立一個(gè)m(m是分配給該作業(yè)的存儲(chǔ)塊數(shù))個(gè)?用存儲(chǔ)分塊表作次序表該次序表以塊號(hào)為序,依次各塊的分配情況。這里假定m=4,且4,5,1,2頁(yè)以依次裝入2,6,7,4各存儲(chǔ)塊中。此時(shí)存儲(chǔ)分塊表如下圖所示:當(dāng)需要第6頁(yè)時(shí)將替換第4頁(yè)LRU算法(最久未使用淘汰算法)1)什么是最久未使用淘汰算法?當(dāng)需要淘汰一頁(yè)時(shí),總是選擇最長(zhǎng)時(shí)間未被使用的那一頁(yè)淘汰。2)實(shí)現(xiàn)方法?用硬件實(shí)現(xiàn)此算法每一頁(yè)可以設(shè)置一個(gè)R位的寄存器;每次訪問(wèn)一頁(yè)時(shí),將該頁(yè)所對(duì)應(yīng)的寄存器的最左一位置1;每隔時(shí)間t將所有的R位寄存器右移一位。這樣,在T=Rt時(shí)間內(nèi),方問(wèn)過(guò)的頁(yè)多對(duì)應(yīng)的寄存器R內(nèi)時(shí)一個(gè)不全為0的整數(shù),而沒(méi)有訪問(wèn)過(guò)的頁(yè)相對(duì)應(yīng)的R之值為0。當(dāng)缺頁(yè)中斷時(shí),選擇R值最小的那頁(yè)進(jìn)行淘汰。OPT算法(最佳淘汰算法)1)什么是最佳淘汰算法?當(dāng)需要淘汰一頁(yè)時(shí),將選擇以后永不使用的或許是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪問(wèn)的頁(yè)面。2)算法優(yōu)勢(shì)采用最佳置換算法,通??杀WC獲得最低的缺頁(yè)率。但由于人目前還無(wú)法預(yù)知一個(gè)進(jìn)程在內(nèi)存的若干個(gè)頁(yè)面中,哪一個(gè)頁(yè)面是未來(lái)最長(zhǎng)時(shí)間內(nèi)不再被訪問(wèn)的,因而該算法是無(wú)法實(shí)現(xiàn)的,便可以利用此算法來(lái)評(píng)價(jià)其它算法。二、總設(shè)計(jì)方案2.1、置換算法思想最佳置換算法(Optimal):它是由Belady于1966年提出的一種理論上的算法。其所選擇的被淘汰頁(yè)面,將是以后永不使用的或許是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪問(wèn)的頁(yè)面。采用最佳置換算法,通??杀WC獲得最低的缺頁(yè)率。但由于人目前還無(wú)法預(yù)知一個(gè)進(jìn)程在內(nèi)存的若干個(gè)頁(yè)面中,哪一個(gè)頁(yè)面是未來(lái)最長(zhǎng)時(shí)間內(nèi)不再被訪問(wèn)的,因而該算法是無(wú)法實(shí)現(xiàn)的,便可以利用此算法來(lái)評(píng)價(jià)其它算法。先進(jìn)先出(FIFO)頁(yè)面置換算法:這是最早出現(xiàn)的置換算法。該算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久的頁(yè)面予以淘汰。該算法實(shí)現(xiàn)簡(jiǎn)單只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁(yè)面,按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱(chēng)為替換指針,使它總是指向最老的頁(yè)面。LRU置換算法:LRU(LeastRecentlyUsed)置換算法的描述:FIFO置換算法性能之所以較差,是因?yàn)樗罁?jù)的條件是各個(gè)頁(yè)面調(diào)入內(nèi)存的時(shí)間,而頁(yè)面調(diào)入的先后并不能反映頁(yè)面的使用情況。最近最久未使用(LRU)置換算法,是根據(jù)頁(yè)面調(diào)入內(nèi)存后的使用情況進(jìn)行決策的。由于無(wú)法預(yù)測(cè)各頁(yè)面將來(lái)的使用情況,只能利用“最近的過(guò)去”作為“最近的將來(lái)”的近似,因此,LRU置換算法是選擇最近最久未使用的頁(yè)面予以淘汰。該算法賦予每個(gè)頁(yè)面一個(gè)訪問(wèn)字段,用來(lái)記錄一個(gè)頁(yè)面自上次被訪問(wèn)以來(lái)所經(jīng)歷的時(shí)間t,,當(dāng)須淘汰一個(gè)頁(yè)面時(shí),選擇現(xiàn)有頁(yè)面中其t值最大的,即最近最久未使用的頁(yè)面予以淘汰。2.2、LRU置換算法的硬件支持LRU置換算法雖然是一種比較好的算法,但要求系統(tǒng)有較多的支持硬件。為了了解一個(gè)進(jìn)程在內(nèi)存中的各個(gè)頁(yè)面各有多少時(shí)間未被進(jìn)程訪問(wèn),以及如何快速地知道哪一頁(yè)是最近最久未使用的頁(yè)面,須有以下兩類(lèi)硬件之一的支持:1)寄存器為了記錄某個(gè)進(jìn)程在內(nèi)存中各頁(yè)的使用情況,須為每個(gè)在內(nèi)存中的頁(yè)面配置一個(gè)移位寄存器,可表示R=Rn-1Rn-2Rn-3……R2R1R0當(dāng)進(jìn)程訪問(wèn)某物理塊時(shí),要將相應(yīng)寄存器的Rn-1位置成1。此時(shí),定時(shí)信號(hào)將每隔一定時(shí)間(例如100ms)將寄存器右移一位。如果我們把n位寄存器的數(shù)看作是一個(gè)整數(shù),那么具有最小數(shù)值的寄存器所對(duì)應(yīng)的頁(yè)面,就是最近最久未使用的頁(yè)面。如圖1示出了某進(jìn)程在內(nèi)存中具有8個(gè)頁(yè)面,為每個(gè)內(nèi)存頁(yè)面配置一個(gè)8位寄存器時(shí)的LRU訪問(wèn)情況。這里,把8個(gè)內(nèi)存頁(yè)面的序號(hào)分別定為1~~8。由圖可以看出,第7個(gè)內(nèi)存頁(yè)面的R值最小,當(dāng)發(fā)生缺頁(yè)時(shí)首先將它置換出去。表2.1寄存器使用狀況實(shí)頁(yè)R7R6R5R4R3R2R1R01010100102101011003000001004011010115110101106001010117000001112)??衫靡粋€(gè)特殊的棧來(lái)保存當(dāng)前使用的各個(gè)頁(yè)面的頁(yè)面號(hào)。每當(dāng)進(jìn)程訪問(wèn)某頁(yè)面時(shí),便將頁(yè)面的頁(yè)面號(hào)從棧中移出,將它壓入棧頂。因此,棧頂始終是最新被訪問(wèn)頁(yè)面的編號(hào)民,而棧底則是最近最久未使用的頁(yè)面的頁(yè)面號(hào)。三、程序設(shè)計(jì)結(jié)構(gòu)圖3.1虛擬存儲(chǔ)管理器系統(tǒng)設(shè)計(jì)總框圖虛擬存儲(chǔ)器管理系統(tǒng)輸入內(nèi)存頁(yè)面數(shù)'V1rVV1FFL算法三種算法比較退出計(jì)算淘汰頁(yè)和缺頁(yè)計(jì)算淘汰頁(yè)和缺a計(jì)算淘汰頁(yè)和缺頁(yè)系統(tǒng)功能描述:通過(guò)設(shè)計(jì)操作系統(tǒng)流程圖頁(yè)面進(jìn)行比較,選擇適合虛擬存儲(chǔ)管理系統(tǒng)理想的調(diào)度算法。3.2各模塊功能N-S圖3.2.1尋找時(shí)間最長(zhǎng)的頁(yè)面功能模塊:算法思想:通過(guò)尋找時(shí)間最長(zhǎng)的頁(yè)面,為進(jìn)行FIFO,LRU,ORT三種調(diào)度算法運(yùn)算提供前提條件。主要參數(shù)功能:Pro*page用來(lái)指向調(diào)入內(nèi)存最長(zhǎng)時(shí)間的頁(yè)面intMax(Pro+pagel)Pro+page=newPm[N];page=pagel;inte=page[0].timej=□;while(i<N液出離現(xiàn)在時(shí)間最長(zhǎng)的頁(yè)面)if(e<page[i].time)e=page[i].time;i++;ftir(i=0;i<N;i++)3.算讀12.2法思入的:3.算讀12.2法思入的:內(nèi)有頁(yè)面輸入功能想:頁(yè)面流,如文件不符,則顯示“錯(cuò)誤,文件打不開(kāi),請(qǐng)檢查文件名”。輸入瞄頁(yè)面,選擇調(diào)度功能,并輸入正確頁(yè)面流文件名,顯示intreadDataQF=0;FILE*fp;charfriame[20];inti;cout?'請(qǐng)輸入貝面流文件名:";cin>>friame;一~~~~~~~if((fp=fopen(fhame/'r"))==NULL)?then————elseEUtZ錯(cuò)誤j文件打不開(kāi).請(qǐng)檢查文件名匕圖3.2輸入模塊while(!feof(fp))fecanfffpj"%d",Squeue[F]);N-S圖+;cout?"i^A的貝面流:七for(i=0;i<F;i++)coLJt?qLjeue[i]?"7cout?"\ri";returnF;

FIFO功能模塊:算法思想:該算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久的頁(yè)面予以淘汰。該算法實(shí)現(xiàn)簡(jiǎn)單只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁(yè)面,按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱(chēng)為替換指針,使它總是指向最老的頁(yè)面。算法思想:最近最久未使用(LRU)置換算法,是根據(jù)頁(yè)面調(diào)入內(nèi)存后的使用情況進(jìn)行決策的。由于無(wú)法預(yù)測(cè)各頁(yè)面將來(lái)的使用情況,只能利用“最近的過(guò)去”作為“最近的將來(lái)”的近似,因此,LRU置換算法是選擇最近最久未使用的頁(yè)面予以淘汰。該算法賦予每個(gè)頁(yè)面一個(gè)訪問(wèn)字段,用來(lái)記錄一個(gè)頁(yè)面自上次被訪問(wèn)以來(lái)所經(jīng)歷的時(shí)間t,,當(dāng)須淘汰一個(gè)頁(yè)面時(shí),選擇現(xiàn)有頁(yè)面中其t值最大的,即最近最久未使用的頁(yè)面予以淘汰。

圖3.4LRUN-S圖四、項(xiàng)目截圖4.可女乂lusersijDOEs\ueE£top\znao\znao.exe0033444116|缺頁(yè)置換情況二111114448缺頁(yè)次數(shù):12缺頁(yè)率:0.666667('、0033444116】.」虹■Maiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifc圖43、.五、設(shè)計(jì)程序源代碼5.1源代碼#include<iostream.h>#include<stdlib.h>#include<stdio.h>#defineM40intN;intqueue[M];intF;floatS[3][2];structPro(intnum,time;};intreadData()(F=0;FILE*fp;charfname[20];inti;cout<<"請(qǐng)輸入頁(yè)面流文件名:〃;cin>>fname;if((fp=fopen(fname,"r"))==NULL)(cout<<"錯(cuò)誤,文件打不開(kāi),請(qǐng)檢查文件名〃;}else(while(!feof(fp))(fscanf(fp,"%d〃,&queue[F]);F++;}}cout<<"讀入的頁(yè)面流:〃;for(i=0;i<F;i++)(cout<<queue[i]<<”";}cout<<"\n";returnF;}voidprint(Pro*page1)//打印當(dāng)前的頁(yè)面(Pro*page=newPro[N];page二page1;for(inti=0;i<N;i++)cout<<page[i].num;cout<<endl;}intSearch(inte,Pro*page1)(Pro*page=newPro[N];page=page1;for(inti=0;i<N;i++)if(e==page[i].num)returni;return-1;}intMax(Pro*page1)(Pro*page=newPro[N];page=page1;inte=page[0].time,i=0;while(i<N)//找出離現(xiàn)在時(shí)間最長(zhǎng)的頁(yè)面(if(e<page[i].time)e=page[i].time;i++;for(i=0;i<N;i++)if(e==page[i].time)returni;return-1;}intCompfu(Pro*page1,inti,intt,Prop[M])(Pro*page=newPro[N];page二page1;intcount=0;for(intj=i;j<M;j++)(if(page[t].num==p[j].num)break;elsecount++;}returncount;}voidFifo(Prop[M],Pro*page)(F=0;intt=0,i=0;//Y[0]=0;floatn=0;cout<<"FIFO頁(yè)面調(diào)度算法〃<<endl;F=readData();cout<<"頁(yè)面置換情況:"<<endl;while(i<F)(if(Search(queue[i],page)>=0){i++;}//找到相同的頁(yè)面else(if(t==N)(t=0;}else(n++;page[t].num=queue[i];print(page);t++;}}}cout<<endl<<"缺頁(yè)次數(shù):〃<<n<<〃缺頁(yè)率:"<<n/F<<endl;S[0][0]=n;S[0][1]=n/F;}voidLru(Prop[M],Pro*page)(F=0;intt=0,i=0;floatn=0;cout<<"LRU頁(yè)面調(diào)度算法"<<endl;F=readData();cout<<"頁(yè)面置換情況:"<<endl;while(i<F)(intk;k=t=Search(queue[i],page);if(t>=0)page[t].time=0;else(n++;t=Max(page);page[t].num=queue[i];page[t].time=0;}if(t==0){page[t+1].time++;page[t+2].time++;}if(t==1){page[2].time++;page[0].time++;}if(t==2){page[1].time++;page[0].time++;}if(k==-1)print(page);i++;}cout<<"缺頁(yè)次數(shù):〃<<n<<〃缺頁(yè)率:"<<n/F<<endl;S[1][0]=n;S[1][1]=n/F;}voidOpt(Prop[M],Pro*page)(F=0;intt=0,i=0;floatn=0;//m=Input(m,p);cout<<"OPT頁(yè)面調(diào)度算法"<<endl;F=readData();for(i=0;i<F;i++)(p[i].num=queue[i];}i=0;while(i<F)(if(Search(queue[i],page)>=0)i++;else(inttemp=0,cn;for(t=0;t<N;t++)(if(temp<Compfu(page,i,t,p))(temp二Compfu(page,i,t,p);cn=t;}}page[cn]=p[i];n++;print(page);i++;}cout<<"缺頁(yè)次數(shù):〃<<n<<〃缺頁(yè)率:"<<n/F<<endl;S[2][0]=n;S[2][1]=n/F;voidcompare()(cout<<"FIFO頁(yè)面置換算法〃<<endl;缺頁(yè)率:〃<<S[0][1]<<endl;缺頁(yè)率:〃<<S[1][1]<<endl;缺頁(yè)率:〃<<S[2][1]<<endl;cout<<〃缺頁(yè)次數(shù):〃<<S[0][0]<<〃cout<<"LRU頁(yè)面置換算法〃<<endl;cout<<〃缺頁(yè)次數(shù):〃<<S[1][0]<<〃cout<<〃OPT頁(yè)面置換算法〃<<endl;cout<<〃缺頁(yè)率:〃<<S[0][1]<<endl;缺頁(yè)率:〃<<S[1][1]<<endl;缺頁(yè)率:〃<<S[2][1]<<endl;cout<<〃可用內(nèi)存頁(yè)面數(shù)〃<<endl;cin>>N;}voidquit()(N=0;F=0;inti=0;intt=0;free(S);free(queue);}intmain()(//cout<<〃可用內(nèi)存頁(yè)面數(shù)〃<<endl;//cin>>N;Prop[M];floatn=0;intc=0;Pro*page二newPro[N];cout<<〃|1"<<endl;cout<<"|虛擬存儲(chǔ)管理器的頁(yè)面調(diào)度|"<<endl;cout<<〃11"<<endl;while(1)(for(inti=0;i<N;i++)//初試化頁(yè)面基本情況(page[i].num=0;page[i].time=2-i;}i=0;cout<<〃*********************1:輸入可用頁(yè)面數(shù)"<<endl;cout<<〃*********************2:FIFO頁(yè)面置換"<<endl;cout<<〃*********************3:LRU頁(yè)面置換"<<endl;cout<<〃*********************4:OPT頁(yè)面置換〃<<endl;cout<<〃*********************5:算法比較〃<<endl;cout<<〃*********************0:退出程序〃<<endl;cout<<endl;cout<<〃請(qǐng)輸入功能號(hào)(0~5):〃;cin>>c;switch(c)(case1:Build();break;case2:Fifo(p,page);break;case3:Lru(p,page);break;case4:Opt(p,page);break;case5:compare();break;case0:quit();return0;}}return0;五、設(shè)計(jì)心得通過(guò)一周的課程設(shè)計(jì),加深了對(duì)操作系統(tǒng)的認(rèn)識(shí),了解了操作系統(tǒng)中各種資源分配算法的實(shí)現(xiàn),特別是對(duì)虛擬存儲(chǔ),頁(yè)面置換有了深入的了解,并能夠用高級(jí)語(yǔ)言進(jìn)行模擬演示。這次的操作系統(tǒng)大作業(yè)的工作量比較大,我投入了很多的時(shí)間和精力才完成了系統(tǒng)的設(shè)計(jì)。不過(guò)這些付出都是值得的,因?yàn)槲沂斋@了更多。在本次實(shí)驗(yàn)中,我和我的小組分工合作,互相幫助,通過(guò)到圖書(shū)館找資料,翻閱書(shū)本和網(wǎng)上搜索,理解到虛擬頁(yè)式管理的基本原理是系統(tǒng)自動(dòng)地將作業(yè)的地址空間分頁(yè),還有研究了主存頁(yè)面的分配策略和頁(yè)面調(diào)入時(shí)機(jī)。這對(duì)之后的算法編寫(xiě)有很大的幫助。其后,為了熟悉各算法的思想,我們重新復(fù)習(xí)了操作系統(tǒng)頁(yè)面調(diào)度中OPT、FIFO、LRU的算法,上網(wǎng)查閱各算法的資料,經(jīng)過(guò)一段時(shí)間的研究,我開(kāi)始編寫(xiě)算法的程序。雖然了解了各算法的思想,但到編寫(xiě)起程序來(lái),還是有一點(diǎn)難度,又需要再?gòu)?fù)習(xí)C++的部分語(yǔ)法,如文件流的輸入輸出,因?yàn)閷?duì)課堂知識(shí)只是了解,但實(shí)踐中有些不常用的命令很容易會(huì)遺忘。在詳

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論