操作系統(tǒng)課程設(shè)計全局頁面替換算法_第1頁
操作系統(tǒng)課程設(shè)計全局頁面替換算法_第2頁
操作系統(tǒng)課程設(shè)計全局頁面替換算法_第3頁
操作系統(tǒng)課程設(shè)計全局頁面替換算法_第4頁
操作系統(tǒng)課程設(shè)計全局頁面替換算法_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、長治學(xué)院課程設(shè)計報告課程名稱: 操作系統(tǒng)課程設(shè)計 設(shè)計題目: 全局頁面置換策略(FIFO算法) 系 別: 計算機系 專 業(yè): 計算機科學(xué)與技術(shù) 組 別: 第六組 學(xué)生姓名: 李俊瑞 學(xué) 號: 08407112 起止日期: 2011年6月28日 2011年7月3日 指導(dǎo)教師: 王崇霞 9 / 11文檔可自由編輯打印目 錄1 、需求分析11.1.課程設(shè)計題目11.2課程設(shè)計任務(wù)及要求11.3課程設(shè)計思想11.4軟、硬件運行環(huán)境及開發(fā)工具12 、總體設(shè)計22.1.系統(tǒng)總體結(jié)構(gòu)流程圖22.2程序設(shè)計及模塊介紹23 、詳細(xì)設(shè)計33.1.數(shù)據(jù)結(jié)構(gòu)設(shè)計33.2程序流程圖33.3具體代碼設(shè)計34 、調(diào)試75

2、、總結(jié)與體會86、 參考文獻(xiàn)91、 需求分析1.1課程設(shè)計題目全局頁面置換策略(先進(jìn)先出算法)1.2課程設(shè)計任務(wù)及要求1、設(shè)計主界面以靈活選擇某算法,實現(xiàn)先進(jìn)先出算法(FIFO)2、給出實現(xiàn)方案(包括數(shù)據(jù)結(jié)構(gòu)和模塊說明等)3、畫出程序的基本結(jié)構(gòu)框圖和流程圖4、分析說明每一部分程序的的設(shè)計思路5、實現(xiàn)源代碼6、按期提交完整的程序代碼和可執(zhí)行程序7、根據(jù)要求完成課程設(shè)計報告8、總結(jié)1.3課程設(shè)計思想首先輸入頁面號,根據(jù)頁面號的次序采用FIFO算法來查看缺頁狀況和缺頁率。先進(jìn)先出算法(FIFO)總是先淘汰最先調(diào)入主存的頁面。設(shè)計目的:通過請求頁式存儲管理中頁面置換算法模擬程序,了解虛擬存儲技術(shù)的特點

3、,掌握請求頁式存儲管理的頁面置換算法。1.4軟、硬件運行環(huán)境及開發(fā)環(huán)境 運行環(huán)境:a.CPU: Intel 575 2.00GHzb.20G以上硬盤空間c.操作系統(tǒng):Microsoft Windows XP開發(fā)工具: Microsoft visual c+ 6.02總體設(shè)計2.1.系統(tǒng)總體結(jié)構(gòu)流程圖:圖2-1 系統(tǒng)總體結(jié)構(gòu)流程圖 2.2程序設(shè)計及模塊介紹:核心程序如下:  for (j=1;j<=3;j+)           k=q->front+j; 

4、0;   if (ai=q->quek)           cout<<ai<<"進(jìn)入時已經(jīng)命中!"<<endl;      hit+;      f+;     模塊介紹:先進(jìn)先出頁面置換算法(FIFO)是基于程序局部性原理來考慮的,認(rèn)為駐留時間最長的也不再使用得到可能性較大。FIF

5、O算法的一種實現(xiàn)方法是系統(tǒng)設(shè)置一張具有n個元素的頁面表,在程序中采用數(shù)組建立動態(tài)順序表來進(jìn)行代碼的編寫及模塊的設(shè)計。3、詳細(xì)設(shè)計3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計#include <iostream.h>#define MAX 100#define flag typedef structint front,rear;int queMAX;queue;int max(int a,int b)return (a>b?a:b);3.2程序流程圖先進(jìn)先出頁面置換算法(FIFO)的程序流程圖如下: 圖3-1程序流程圖3.3.具體代碼設(shè)計/先來先服務(wù)Avoid FIFO(queue *q,in

6、t a,int n)int k,f=0,i,j,m;double hit=0;for (i=0;i<n;i+) f=0;   if (q->rear-q->front)<3)       for (j=1;j<=q->rear-q->front;j+)/未滿時的命中判斷           k=q->front+j;     if (ai=q->

7、;quek)           cout<<ai<<"進(jìn)入時已經(jīng)命中!"<<endl;      hit+;      f+;             if(f=0)        

8、   q->rear+;      q->queq->rear=ai;           else         for (j=1;j<=3;j+)/已滿時的命中判斷           k=q->front+j;   

9、60; if (ai=q->quek)           cout<<ai<<"進(jìn)入時已經(jīng)命中!"<<endl;      hit+;      f+;             if (f=0)     &

10、#160;              q->front+;       q->rear+;       q->queq->rear=ai;          for (m=q->front+1;m<=q->rear;m+) &#

11、160;     cout<<q->quem<<'t'      cout<<endl;cout<<"FIFO算法的命中率為"<<(hit/n)*100<<"%"<<endl;/主函數(shù)void main()char ch='y'while (ch='y')   queue *q=new queue;   q-&

12、gt;front=q->rear=-1;   queue *p=new queue;   p->front=p->rear=-1;   queue *m=new queue;   m->front=m->rear=-1;   int data100;   int i=0;   int x;   char y;     cout<<"請輸入頁面號(

13、以結(jié)束):"<<endl;    while (1)          A: cin>>y;     if(y<48|y>57)&&(y!='')           cout<<"請輸入數(shù)字!"<<endl;  &#

14、160;        goto A;         if(y='')     break;    x=y-48;    datai=x;    i+;      while (1)       cout<<&

15、quot;            *歡迎進(jìn)行測試*"<<endl;    cout<<"            *                

16、                     *"<<endl;    cout<<"            *       1.先進(jìn)先出算法(FIFO)

17、60;         *"<<endl;            cout<<"            *       2.最近最久未使用算法(LRU)   

18、0; *"<<endl;            cout<<"            *       3.最佳置換算法(OPT)           *"<&l

19、t;endl;            cout<<"            *       4.算法之間的對比分析          *"<<endl;   

20、;         cout<<"            *       5.結(jié)束本次算法                *"<<endl; &#

21、160;       cout<<"            *                             

22、;        *"<<endl;    cout<<"            *"<<endl;    char z;Y:      cout<<"請輸入你需要的操作序號(1-5):"<<endl

23、;    cin>>z;    switch (z)         case '1':            cout<<"FIFO算法:"<<endl;      FIFO(q,data,i);    &

24、#160;  break;            case '2':             cout<<"LRU算法:"<<endl;       LRU(p,data,i);       brea

25、k;            case '3':       cout<<"OPT算法:"<<endl;       OPT(m,data,i);       break;        &#

26、160;      case '4':cout<<"1.先進(jìn)先出置換算法(FIFO):選擇最先進(jìn)入內(nèi)存的頁面予以淘汰。 "<<endl;cout<<"2.最近最久未使用算法(LRU):選擇在最近一段時間內(nèi)最久沒有使用過的頁,把它淘汰。 "<<endl;cout<<"3.最佳置換算法(OPT) :選擇以后永不使用或在最長時間內(nèi)不再被訪問的內(nèi)存頁面予以淘汰。"<<endl; 

27、0;              break;      case '5':goto l;      default:cout<<"輸入有誤!"<<endl;           goto Y;      &

溫馨提示

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

最新文檔

評論

0/150

提交評論