操作系統先進先出算法_第1頁
操作系統先進先出算法_第2頁
操作系統先進先出算法_第3頁
操作系統先進先出算法_第4頁
操作系統先進先出算法_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南華大學計算機科學與技術學院課程設計報告(20112012學年度 第2學期)課程名稱操作系統課程設計設計題目請求分頁存儲器管理系統成員朱志強(20104030338)專業電氣信息 班級1003地點教師歐陽純萍設計分工組員學號20104030338組員姓名朱志強總評成績分工描述 及自我評 價主要工作是請求分頁存儲器管理系統的FIFO算法 本次課程設計自己認為已經盡力的做到了最好同學評價 等級同學評語簽字:教師評分 等級教師評語1需求分析1.1題目描述在請求分頁存儲器管理系統中,我們需要一個頁面置換算法,而先進先出算法 就是最早出現的一種算法,利用該算法可以實現頁面的置換,實現內存的充分利 用,使

2、進程可以執行1.2先進先出(FIFO)該算法實現簡單,只需把一個進程已調入內存的頁面,按先后順序鏈接成一個 隊列,并設置一個指針,稱為替換指針,使它總是指向最老的頁面。1、輸入當前要調用的頁面號2、判斷該頁面是否已在隊列內,若在隊列內,不執行任何操作若不在隊列內。則執行以下操作判斷隊列是否已滿若隊列未滿,直接把該頁面號存入隊列若隊列已滿,刪除并返回隊頭元素,然后把該頁面號存入隊3、輸出置換次數,依次輸出置換出的頁面1.3目的通過模擬實現請求頁式存儲管理的基本頁面置換算法,了解虛擬存儲技術的 特點,掌握虛擬存儲請求頁式存儲管理中基本頁面置換算法的基本思想和實現過 程。概要設計2.1算法思路在請求

3、分頁存儲器管理系統設計中,先進先出(FIFO)算法是一種給出頁面 訪問的順序與分配給作業的主存塊數,使用隊列作為數據結構編寫算法,實現統 計缺頁次數與頁面置換操作,該算法總是先淘汰最先進入內存的頁面,即選擇在 內存中停留時間最久的頁面予以淘汰。2.2先進先出算法步驟設置一些頁面參數,int pagenum=0內存頁面數int total=0要訪問的頁面總數int lacknumber缺頁的總數設置一個隊列int seque20=0;隊列長度設置為20,且初值設為0執行算法輸入 1,2,3,4,1,2,5,1,2,3,4,5以輸入-1結束2.3數據結構Array020定義一個數組Void mai

4、n ()系統主函數Cin pagenum鍵盤輸入頁號詳細設計* 程序流程圖 *程序調試4.1程序源代碼 #include using namespace std;int pagenum=0;int total=0;int lacknumber=0;/內存的頁面數/要訪問的葉面總數/缺頁的總數void main()int array120;for(int y=0;y2;y+)for(int x=0;x20;x+)arrayyx = -1;int seque20 = 0;coutpagenum;cout請輸入頁面的訪問順序(輸入-1結束):;for(int i=0;inum;if(num! = -

5、1)/0代表沒有內容sequei = num;total + + ;Elsesequei = num;break;cout總的頁面數為totalendl;/總的頁面數int j=0;for(i=0;ipagenum;i+)剛開始置換前pagenum個空頁面if(ipagenum)array0i=sequei;cout頁面sequei進入內存endl;cout缺頁 此時頁面內容為”;for(int j=0;jpagenum;j+)coutarray0j ;cout(-1 代表沒有內容)”endl;coutendl;int kk=0;for(i = pagenum;itotal;i+)int fl

6、ag=0;for(int k=0;kpagenum;k+)if(array0k =sequei)flag = 1;break;coutendl;if(flag = = 1) cout頁面sequei進入內存endl;cout此時頁面內容為”;for(int j=0;jpagenum;j+)coutarray0j” ”;coutendl;if(flag =0)int tem=array0kk;array0kk=sequei;cout頁面sequei進入內存endl;cout缺頁 頁面tem被替換endl;cout此時頁面內容為”;for(int j=0;jpagenum;j+)coutarray

7、0j ;coutendl;kk+;lacknumber+ + ;缺頁數if(kk= = pagenum)kk=0;lacknumber=pagenum+lacknumber;cout缺頁率= lacknumber”/total = float(lacknumber)/float(total)ent s and Sett ingsAd*inist rat orDebugCpp 1. exe頁面2進入內存 恢頁頁面1枝替換 此時頁面內容為2 頁面3進入內存 恢頁頁面2報替換 此時頁面內容為3頁面4進入內存 恢頁頁面3被替換 此時頁面內容為4換替加1面內1/y頁面=1an頁基S面頁-Mes頁辨缺prtocont

溫馨提示

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

評論

0/150

提交評論