操作系統(tǒng)課程設(shè)計(jì)說明書-基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
操作系統(tǒng)課程設(shè)計(jì)說明書-基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
操作系統(tǒng)課程設(shè)計(jì)說明書-基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
操作系統(tǒng)課程設(shè)計(jì)說明書-基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
操作系統(tǒng)課程設(shè)計(jì)說明書-基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1操作系統(tǒng)課程設(shè)計(jì)說明書

學(xué)院、系:軟件學(xué)院專業(yè)軟件工程設(shè)計(jì)題目:基于Linux的模擬存儲(chǔ)器管理的設(shè)計(jì)與實(shí)現(xiàn)1.需求分析軟件設(shè)計(jì)功能:模擬內(nèi)存及外存的分配,手動(dòng)輸入得到進(jìn)程調(diào)度序列,根據(jù)頁面置換算法的選擇進(jìn)行相應(yīng)的頁面置換操作,以圖表的形式在屏幕上輸出各進(jìn)程頁面置換過程并且顯示出相應(yīng)頁面置換算法的缺頁率及置換率,通過缺頁率及置換率的對比看出各算法的優(yōu)劣。軟件設(shè)計(jì)的目的:存儲(chǔ)器管理是操作系統(tǒng)的重要功能之一,其中的頁面置換算法是虛擬存儲(chǔ)管理實(shí)現(xiàn)的關(guān)鍵,通過本次實(shí)驗(yàn)理解內(nèi)存頁面調(diào)度的機(jī)制,在模擬實(shí)現(xiàn)FIFO、LRU、NRU和OPT幾種經(jīng)典頁面置換算法的基礎(chǔ)上,比較各種置換算法的效率和優(yōu)缺點(diǎn),從而了解虛擬存儲(chǔ)實(shí)現(xiàn)的過程。軟件設(shè)計(jì)的任務(wù):模擬實(shí)現(xiàn)四種經(jīng)典頁面置換算法,在屏幕上輸出各進(jìn)程頁面置換過程,每種頁面置換算法的缺頁率和置換率,對比各算法的優(yōu)劣。最終獲得的成果:課程設(shè)計(jì)任務(wù)書,課程設(shè)計(jì)說明書

以及模擬存儲(chǔ)器管理系統(tǒng)軟件。2.總體設(shè)計(jì)2.1當(dāng)運(yùn)行程序時(shí),程序提示用戶輸入數(shù)據(jù),當(dāng)用戶按照其輸入數(shù)據(jù)后就對數(shù)據(jù)進(jìn)行分析,分析其屬于哪個(gè)進(jìn)程,然后再選擇算法,對其進(jìn)行運(yùn)算。構(gòu)件圖:存儲(chǔ)器管理程序存儲(chǔ)器管理程序OPT算OPT算法模塊NUR算法模塊LRU算法模塊FIFO算法模塊2.2主要函數(shù)有: 2.21:所有算法都會(huì)用到的函數(shù)有:(1)init():初始化(2)getSequ():用于取得從控制臺(tái)輸入的序列(3)destroySequ():初始化序列數(shù)組(4)intclassifyPageDetail(intpageValue):判斷頁號為pageValue的頁屬于哪個(gè)進(jìn)程(5)setResult():求得缺頁率與置換率(6)selectType():選擇操作的函數(shù)2.22:各算法中的函數(shù): 主要就是些數(shù)據(jù)的添加、刪除、修改以及判斷的一些基本函數(shù)與各算法實(shí)現(xiàn)其特定功能的函數(shù),這些由小組中分配到任務(wù)的人自行制定需要的函數(shù)。2.23:輸出函數(shù)(1)printSequ():輸出之前輸入的調(diào)度序列(2)print1():輸出各進(jìn)程的調(diào)度序列及缺頁率置換率(3)printComInfo():輸出各種算法的比較信息(4)paintMian():輸出主界面3.詳細(xì)設(shè)計(jì)3.1詳細(xì)設(shè)計(jì)思想先進(jìn)先出(FIFO):該算法總是淘汰最先進(jìn)入內(nèi)存的頁面,即選擇在內(nèi)存中駐留時(shí)間最久的頁面予以淘汰。該算法需要把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁面,按先后次序連接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱替換指針,使它總是指向最老的頁面。3.2核心代碼//FIFO隊(duì)列typedefstructQNode{ intaddr;//存儲(chǔ)在外存中的地址 structQNode*next;}QNode,*QueuePtr;//FIFO函數(shù)voidfifo(){ intflag;//用于指定頁面屬于的進(jìn)程1A2B3C inti; printf("頁面置換過程:\n"); for(i=0;i<step;i++) { intm=controlSequ[i]; flag=classifyPageDetail(m); switch(flag) { case1: printf("\nA:"); coreOfFifo(m,&pro1); break; case2: printf("\nB:"); coreOfFifo(m,&pro2); break; case3: printf("\nC:"); coreOfFifo(m,&pro3); break; } } getResult(pro1.m,pro2.m,pro3.m);}3.3程序運(yùn)行結(jié)果初始界面:輸入頁面調(diào)度順序:(1~44之間的數(shù)中間用空格隔開,輸入其他并回車表示輸入完畢):頁面置換過程及結(jié)果:4.心得體會(huì)本次課程設(shè)計(jì)在linux環(huán)境下用c語言完成,不僅用到了操作系統(tǒng)知識(shí),還用了數(shù)據(jù)結(jié)構(gòu),更加熟練的掌握了頁面置換算法。開始我一味的進(jìn)行調(diào)試,急切的想僥幸調(diào)試出來,但由于沒有進(jìn)行深入的考慮,我調(diào)試了很久都沒沒有成功,我仔細(xì)的分析題目,分析材料,在原有的基礎(chǔ)上我進(jìn)行了改正,我最后還是調(diào)試成功了,還是經(jīng)過了一翻努力,這次操作系統(tǒng)課程設(shè)計(jì),不僅讓我對操作系統(tǒng)這門課程有了

溫馨提示

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

最新文檔

評論

0/150

提交評論