(流程圖)頁面置換算法課程設計_第1頁
(流程圖)頁面置換算法課程設計_第2頁
(流程圖)頁面置換算法課程設計_第3頁
(流程圖)頁面置換算法課程設計_第4頁
(流程圖)頁面置換算法課程設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、操作系統課程設計報告題目:頁面置換算法模擬程序學院名稱:專業班級:學生姓名:指導教師:成績:目錄一、 設計目的 3二、設計題目 3設計內容 3設計要求 3三、設計過程 4FIFO (先進先出) 4LRU (最近最久未使用) 5OPT (最佳置換算法) 6隨機數發生器 7四、完整代碼 716五、運行結果演示 13六、設計心得七、參考文獻16一、設計目的操作系統是計算機教學中最重要的環節之一,也是計算機專業學生的一門重要的專業課程。 操作系統質量的好壞, 直接影響整個計算機系統的性能和用戶對計算機的使用。 一個精心設計的操作系統能極大地擴充計算機系統的功能, 充分發揮系統中各種設備的使用效率, 提

2、高系統工作的可靠性。 由于操作系統涉及計算機系統中各種軟硬件資源的管理, 內容比較繁瑣, 具有很強的實踐性。 要學好這門課程,必須把理論與實踐緊密結合,才能取得較好的學習效果。本課程設計是學生學習完 計算機操作系統 課程后, 進行的一次全面的綜合訓練,通過課程設計,讓學生更好地掌握操作系統的原理及實現方法,加深對操作系統基礎理論和重要算法的理解,加強學生的動手能力。熟悉頁面置換算法及其實現,引入計算機系統性能評價方法的概念。二、設計題目 : 頁面置換算法模擬程序設計內容編制頁面置換算法的模擬程序。設計要求1) .用隨機數方法產生頁面走向,頁面走向長度為L(15<=L<=20),此控

3、制臺輸入。2) .根據頁面走向,分別采用Optinal、FIFO LRU算法進行頁面置換,統計缺頁率。3) .假定可用內存塊為m(3<=m<=5), m 由控制臺輸入,初始時,作業頁面都不在內存。4) .要求寫出一份詳細的設計報告。課程設計報告內容包括: 設計目的、 設計內容、設計原理、算法實現、流程圖、源程序、運行示例及結果分析、心得體會、參考 資料等。三.設計過程FIFO (先進先出)設計原理:需要進行頁面置換,即把內存中裝入最早的那個頁面淘汰, 換入當前 的頁面。算法流程圖:輸出當前內存塊狀態開始當前p口中第i個元素Page是否有空輸出當前內存塊狀態初始化為 0LRU (最近

4、最久未使用)設計原理:當需要淘汰某一頁時,選擇離當前時間最近的一段時間內最久沒有使用過的頁先淘汰。該算法的主要出發點是,如果某頁被訪問了,則它可能馬上還要被訪問。或者反過來說,如果某頁很長時間未被訪問、則它在最近一段時間也不會被訪問算法流程圖:頁面走向存入數組 p口中,內把page口中最近最久未使i+把pi的內容直接裝入最上面一個i+OPT (最佳置換算法)設計原理:需要進行頁面置換,把內存中以后一段時間都不使用或是使用時間離現在最遠的頁面換出。流程圖隨機數發生器#include <>#include <> um=rand( )%10+1;ime=0;cout<&

5、lt;pi.num<<"")cout<<endl;return m;)void print(Pro *page1)um<<""cout<<endl;)int Search(int e,Pro *page1 )um)return i;ime,i=0;while(i<M)ime) e=pagei.time;i+;)for( i=0;i<M;i+)if(e=pagei.time)return i;um=pj.num )break;um=0;pagei.time=m-1-i;)i=0;cout<&

6、lt;"1:FIFO頁面置換"<<endl;cout<<"2:LRU頁面置換"<<endl;cout<<"3:OPT頁面置換"<<endl;cout<<"按其它鍵結束程序;"<<endl;cin»c;if(c=1)um,page)>=0)um«" "umcoutvv"不缺頁"«endl;i+;um=pi.num;um«"print(pag

7、e);um,page);if(t>=0)ime=0;ime+;um«"coutvv"不缺頁"«endl;)elseum=pi.num;ime=O;um«"print(page);for(a=0;a<M;a+)if(a!=t)pagea.time+;um,page)>=O)um«"coutvv"不缺頁"«endl;i+;)elseum=O)a+;um=O&&q>t)q=t;um=pi.num;n+;cout«pi.num

8、1;"print(page);i+;)else(int temp=0,s;for(t=0;t<M;t+)um=pi.num;n+;cout<<pi.num<<""print(page);i+;)cout<<”缺頁次數:"<<n<<" 缺頁率:"<<n/m<<endl;)while(c=1|c=2|c=3);return 0;五.運行結果演示R 面走向W 度 L<15=L<=20>: 16:3 6J 2732242181614內存

9、頁面數n<35):E:39號孫器Debu八39號孫磊."廣-IE:39號 孫品Dcbug39號 孫.cxc"雷爵/聾際頁面走向七度L<15=L<=20):16 輸出履機數:1643976956652678蒂播入可用內存K面數m3S” 2內承而須在之間,請重新輸入小4"FIFO頁可置換 h:uiuT®g> b:opi頁面置換 膾其它健看麻程序;E:39號 #Dcbu39 孫.cxc'LRU算法反面置搜情況如:XXX XX*X AX* XX X*X*X*X K XMX" XM*M*X*X XX XX XX XXX M

10、6 頁 頁7部7獄饕2獄9不9不不不9不6956652678 上 2 6 8缺頁次數二111:F1FOJJ2: LRU J面置兼3: OPT頁面皆摸缺頁率:8.6875六.設計心得通過這次課程設計,不僅讓我了解了三種頁面置換算法,即 FIFO (先進先出)、LRU (最近最久未使用)、OPT (最佳置換)算法。 開始我對源代碼一味的進行調試, 但發現總是有點錯誤,于是調試了 若干次還是沒有編譯成功。又重新分析了幾次設計要求,發現自己事先沒有完全弄清楚 這三種算法的做法,接著便是暫時停下程序的編譯,將學習資料仔細 地將這三種不同的算法研究了一下,待到基本弄懂它們具體怎么實現 的時候,我才再一次去

11、研究當初總是有問題的代碼,結合課本知識與詳細的流程圖分析,經過不斷的調試,多次嘗試后,編譯成功了,運 行后發現此功能正是本次課程設計所需要的。本次課程設計不僅讓我對操作系統這門課程有了更深入的研究、對很多重要的概念有了鞏固和掌握。通過努力,三個頁面置換算法程序都已經完成。雖然自己所做的很少也不夠完善,但畢竟也是努力的結果。主要有以下幾點收獲:1 .通過對上網和看書查閱相關資料, 使自己對 VC +語言的基本框架有新的了解,加深了對可視化程序的認識。2 .在使用VC+皓言來實現功能時,不像以往用的其他語言,它比 較簡練,更容易理解,實用性很強。3 .先進先出頁面置換和LRU以及OPT算法各有特點,但是實踐

溫馨提示

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

評論

0/150

提交評論