2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(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)介

1、<p><b>  課程設(shè)計(jì)說(shuō)明書</b></p><p>  題目: 請(qǐng)求頁(yè)式存儲(chǔ)器管理程序 </p><p>  院 系: 計(jì)算機(jī)科學(xué)與工程學(xué)院 </p><p>  專業(yè)班級(jí): 計(jì)算機(jī)09-15班 </p><p>  學(xué) 號(hào): <

2、;/p><p>  學(xué)生姓名: 某某某 </p><p>  指導(dǎo)教師: 某 某 </p><p>  2011年 12 月 18日 </p><p>  課程設(shè)計(jì)(論文)任務(wù)書</p><p>  2011年 10月 22日</p><p&

3、gt;<b>  摘 要</b></p><p>  分頁(yè)存儲(chǔ)管理,是將一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)大小相等的片,稱為頁(yè)面或頁(yè),并為各頁(yè)加以編號(hào)。相應(yīng)地,也把內(nèi)存空間分成與頁(yè)面相同大小的若干個(gè)存儲(chǔ)塊,稱為(物理)塊或頁(yè)框(frame),在為進(jìn)程分配內(nèi)存時(shí),以塊為單位將進(jìn)程中的若干個(gè)頁(yè)分別裝入到多個(gè)可以不相鄰接的物理塊中</p><p>  系統(tǒng)為每個(gè)進(jìn)程建立一個(gè)

4、頁(yè)表,頁(yè)表給出邏輯頁(yè)號(hào)和具體內(nèi)存塊號(hào)相應(yīng)的關(guān)系。一個(gè)頁(yè)表中包含若干個(gè)表目,表目的自然序號(hào)對(duì)應(yīng)于用戶程序中的頁(yè)號(hào),表目中的塊號(hào)是該頁(yè)對(duì)應(yīng)的物理塊號(hào)。</p><p>  請(qǐng)求頁(yè)式存儲(chǔ)管理方式是一種實(shí)現(xiàn)虛擬存儲(chǔ)器的方式,是指在進(jìn)程開始運(yùn)行之前,不是裝入全部頁(yè)面,而是裝入一個(gè)或零個(gè)頁(yè)面,之后根據(jù)進(jìn)程運(yùn)行的需要,動(dòng)態(tài)裝入其它頁(yè)面。當(dāng)內(nèi)存空間已滿,而又需要裝入新的頁(yè)面時(shí),則根據(jù)某種算法淘汰某個(gè)頁(yè)面,以便裝入新的頁(yè)面。<

5、;/p><p>  請(qǐng)求頁(yè)式存儲(chǔ)管理主要需要解決以下問(wèn)題:系統(tǒng)如何獲知進(jìn)程當(dāng)前所需頁(yè)面不在主存;當(dāng)發(fā)現(xiàn)缺頁(yè)時(shí),如何把所缺頁(yè)面調(diào)入主存;當(dāng)主存中沒有空閑的頁(yè)框時(shí),為了要接受一個(gè)新頁(yè),需要把老的一頁(yè)淘汰出去,根據(jù)什么頁(yè)面淘汰算法選擇欲淘汰的頁(yè)面。</p><p>  關(guān)鍵詞:虛擬存儲(chǔ)器 資源 缺頁(yè) 頁(yè)面淘汰算法</p><p><b>  目 錄</b&g

6、t;</p><p><b>  1 系統(tǒng)分析1</b></p><p><b>  1.1設(shè)計(jì)內(nèi)容1</b></p><p>  1.2 設(shè)計(jì)要求1</p><p><b>  2 系統(tǒng)設(shè)計(jì)2</b></p><p>  2.1 問(wèn)題分析2&

7、lt;/p><p>  2.2 算法與程序流程圖2</p><p><b>  3 系統(tǒng)實(shí)現(xiàn)4</b></p><p><b>  3.1數(shù)據(jù)結(jié)構(gòu)4</b></p><p><b>  3.2函數(shù)聲明4</b></p><p><b>  

8、3.3運(yùn)行結(jié)果4</b></p><p><b>  4 總結(jié)6</b></p><p><b>  參考文獻(xiàn)7</b></p><p><b>  附錄8</b></p><p><b>  1 系統(tǒng)分析</b></p>

9、<p><b>  1.1 設(shè)計(jì)內(nèi)容</b></p><p>  設(shè)計(jì)一個(gè)請(qǐng)求頁(yè)式存儲(chǔ)管理方案,為簡(jiǎn)單起見。頁(yè)面淘汰算法采用 FIFO頁(yè)面淘汰算法,并且在淘汰一頁(yè)時(shí),只將該頁(yè)在頁(yè)表中修改狀態(tài)位。而不再判斷它是否被改寫過(guò),也不將它寫回到輔存。</p><p><b>  1.2 設(shè)計(jì)要求</b></p><p>

10、  (1). 運(yùn)行給出的實(shí)驗(yàn)程序,查看執(zhí)行情況,進(jìn)而分析算法的執(zhí)行過(guò)程,在理解FIFO頁(yè)面置換算法后,模擬程序?qū)崿F(xiàn),并集成到參考程序中。</p><p>  (2). 執(zhí)行頁(yè)面置換模擬程序,分析缺頁(yè)率的情況。最好頁(yè)框數(shù)和訪問(wèn)序列長(zhǎng)度可調(diào)</p><p>  節(jié),在使用同一組訪問(wèn)序列數(shù)據(jù)的情況下,改變頁(yè)框數(shù)并執(zhí)行頁(yè)面置換模擬程序,查看缺頁(yè)率的變化。</p><p> 

11、 (3). 在每次產(chǎn)生置換時(shí)要求顯示分配狀態(tài)和缺頁(yè)率。程序的地址訪問(wèn)序列通過(guò)隨機(jī)數(shù)產(chǎn)生,要求具有足夠的長(zhǎng)度。最好頁(yè)框數(shù)和訪問(wèn)序列長(zhǎng)度可調(diào)節(jié)。</p><p>  (4). 每個(gè)學(xué)生必須獨(dú)立完成課程設(shè)計(jì),不能相互抄襲;</p><p>  (5).設(shè)計(jì)完成后,將所完成的工作交由老師檢查;</p><p>  (6).要求寫出一份詳細(xì)的設(shè)計(jì)報(bào)告。課程設(shè)計(jì)報(bào)告內(nèi)容包括:設(shè)

12、計(jì)目的、設(shè)計(jì)內(nèi)容、設(shè)計(jì)原理、算法實(shí)現(xiàn)、流程圖、源程序、運(yùn)行示例及結(jié)果分析、心得體會(huì)、參考資料等。</p><p><b>  2 系統(tǒng)設(shè)計(jì)</b></p><p><b>  2.1 問(wèn)題分析</b></p><p>  分頁(yè)存儲(chǔ)管理,是將一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)大小相等的片,稱為頁(yè)面或頁(yè),并為各頁(yè)加以編號(hào)。相應(yīng)地

13、,也把內(nèi)存空間分成與頁(yè)面相同大小的若干個(gè)存儲(chǔ)塊,稱為(物理)塊或頁(yè)框(frame),在為進(jìn)程分配內(nèi)存時(shí),以塊為單位將進(jìn)程中的若干個(gè)頁(yè)分別裝入到多個(gè)可以不相鄰接的物理塊中</p><p>  系統(tǒng)為每個(gè)進(jìn)程建立一個(gè)頁(yè)表,頁(yè)表給出邏輯頁(yè)號(hào)和具體內(nèi)存塊號(hào)相應(yīng)的關(guān)系。一個(gè)頁(yè)表中包含若干個(gè)表目,表目的自然序號(hào)對(duì)應(yīng)于用戶程序中的頁(yè)號(hào),表目中的塊號(hào)是該頁(yè)對(duì)應(yīng)的物理塊號(hào)。</p><p>  請(qǐng)求頁(yè)式存儲(chǔ)

14、管理方式是一種實(shí)現(xiàn)虛擬存儲(chǔ)器的方式,是指在進(jìn)程開始運(yùn)行之前,不是裝入全部頁(yè)面,而是裝入一個(gè)或零個(gè)頁(yè)面,之后根據(jù)進(jìn)程運(yùn)行的需要,動(dòng)態(tài)裝入其它頁(yè)面。當(dāng)內(nèi)存空間已滿,而又需要裝入新的頁(yè)面時(shí),則根據(jù)某種算法淘汰某個(gè)頁(yè)面,以便裝入新的頁(yè)面。</p><p>  請(qǐng)求頁(yè)式存儲(chǔ)管理主要需要解決以下問(wèn)題:</p><p>  系統(tǒng)如何獲知進(jìn)程當(dāng)前所需頁(yè)面不在主存;當(dāng)發(fā)現(xiàn)缺頁(yè)時(shí),如何把所缺頁(yè)面調(diào)入主存;當(dāng)主

15、存中沒有空閑的頁(yè)框時(shí),為了要接受一個(gè)新頁(yè),需要把老的一頁(yè)淘汰出去,根據(jù)什么策略選擇欲淘汰的頁(yè)面。</p><p>  2.2 算法與程序流程圖</p><p>  該算法總是淘汰最先進(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è)指針,稱為替換指針,是他總是指向最老的頁(yè)面。但該算法與進(jìn)程實(shí)際運(yùn)行的

16、規(guī)律不相適應(yīng),因?yàn)樵谶M(jìn)程中,有些頁(yè)面經(jīng)常被訪問(wèn),比如,含有全局變量,常用函數(shù),例程等的頁(yè)面,F(xiàn)IFO算法并不能保證這些頁(yè)面不被淘汰。</p><p>  設(shè)計(jì)原理:需要進(jìn)行頁(yè)面置換,即把內(nèi)存中裝入最早的那個(gè)頁(yè)面淘汰,換入當(dāng)前的頁(yè)面。</p><p>  算法流程圖,如圖2-1所示。</p><p>  圖2-1先進(jìn)先出置換算法</p><p>

17、;<b>  3 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  3.1數(shù)據(jù)結(jié)構(gòu)</b></p><p>  請(qǐng)求分頁(yè)存儲(chǔ)管理方式當(dāng)中用到的主要數(shù)據(jù)結(jié)構(gòu)就是頁(yè)表項(xiàng)。與普通分頁(yè)管理存儲(chǔ)方式當(dāng)中的頁(yè)表項(xiàng)相比,請(qǐng)求分頁(yè)存儲(chǔ)管理方式的頁(yè)表項(xiàng)要進(jìn)行相應(yīng)的補(bǔ)充,共程序在換進(jìn)、換出內(nèi)存時(shí)參考。</p><p>  具體而言,請(qǐng)求分頁(yè)存儲(chǔ)管

18、理方式的頁(yè)表項(xiàng)一般包括以下幾項(xiàng):頁(yè)號(hào)、駐留位、內(nèi)存塊號(hào)、外存地址、訪問(wèn)位、修改位、(存取控制、輔存地址)。其中,中斷位表示該頁(yè)是在內(nèi)存還是在外存;訪問(wèn)位表示該頁(yè)最近被訪問(wèn)過(guò),根據(jù)訪問(wèn)位來(lái)決定淘汰哪頁(yè);修改位用于查看此頁(yè)是否在內(nèi)存中被修改過(guò)。</p><p>  本程序中采用的頁(yè)表項(xiàng)數(shù)據(jù)結(jié)構(gòu)如下(由于以上所述的有些域在程序中用不到,因此進(jìn)行了相應(yīng)的簡(jiǎn)化)</p><p>  struct p

19、ageinfo //頁(yè)面信息結(jié)構(gòu)結(jié)構(gòu)</p><p><b>  {</b></p><p>  int serial[100]; // 模擬的最大訪問(wèn)頁(yè)面數(shù),實(shí)際控制在20以上 int flag; // 標(biāo)志位,0表示無(wú)頁(yè)面訪問(wèn)數(shù)據(jù)</p><p>  int diseffect; // 缺頁(yè)次數(shù)</p

20、><p>  int total_pf; // 分配的頁(yè)框數(shù)</p><p>  int total_pn; // 訪問(wèn)頁(yè)面序列長(zhǎng)度 </p><p>  } pf_info;</p><p><b>  3.2函數(shù)聲明</b></p><p>  Void initialize(

21、)//打印頁(yè)面走向狀態(tài)</p><p>  void createps( )//打印當(dāng)前的頁(yè)面</p><p>  void displayinfo( )//尋找內(nèi)存塊中與e相同的塊號(hào)</p><p>  void fifo( )//尋找最近最長(zhǎng)未使用的頁(yè)面</p><p>  void findpage( )//記錄當(dāng)前內(nèi)存塊中頁(yè)面離下次

22、使用間隔長(zhǎng)度</p><p><b>  3.3運(yùn)行結(jié)果</b></p><p>  運(yùn)行程序界面將顯示如圖3-1的結(jié)果:</p><p><b>  圖3-1初始化結(jié)果</b></p><p>  圖3-2 FIFO算法頁(yè)面置換結(jié)果</p><p><b>  4

23、 總結(jié)</b></p><p>  通過(guò)這次課程設(shè)計(jì)讓我更深的了解算法的設(shè)計(jì)思想,并且對(duì)C語(yǔ)言進(jìn)行了復(fù)習(xí)。 </p><p>  對(duì)于頁(yè)面算法,我們平時(shí)上課時(shí),只是知道了頁(yè)面置換算法是怎么做的,并沒有想如何去實(shí)現(xiàn)這些算法。在真正要做的時(shí)候才發(fā)現(xiàn)了問(wèn)題。</p><p>  在這次課程設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)了自己的許多不足,特別是自己以前的c語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)學(xué)

24、的不好,在寫代碼的時(shí)候有了許多的麻煩。最后,在老師和同學(xué)的幫助下,終于完成了這次課程設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 徐孝凱.C++語(yǔ)言基礎(chǔ)教程.北京:清華大學(xué)出版社,2007</p><p>  [2] 徐孝凱.數(shù)據(jù)結(jié)構(gòu)應(yīng)用教程.北京:清華大學(xué)出版社,2007</p><p&

25、gt;  [3] 張海藩.面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)用教程.北京: 清華大學(xué)出版社,2007</p><p>  [4] 湯小丹, 梁紅兵 ,哲鳳屏, 湯子瀛編.計(jì)算機(jī)操作系統(tǒng).西安:西安電子科技大學(xué)出版社,2007</p><p>  [5] 黃干平, 陳洛資編.計(jì)算機(jī)操作系統(tǒng).北京:科學(xué)出版社,1989</p><p>  [6] 李勇, 劉恩林.計(jì)算機(jī)體系結(jié)構(gòu). 長(zhǎng)沙

26、:國(guó)防科技大學(xué)出版社,1987</p><p>  [7] 黃祥喜.計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)教程.廣州:清中山大學(xué)出版社,1994</p><p>  [8] 尤晉元.UNIX操作系統(tǒng)教程.西安: 西安電子科技大學(xué)出版社,1995</p><p>  [9] 孟慶昌.操作系統(tǒng)教程 .北京:電子工業(yè)出版社,2004</p><p>  [10] 陳向

27、群 楊芙清.操作系統(tǒng)教程.北京:北京大學(xué)出版社,2006</p><p><b>  附錄</b></p><p><b>  程序源代碼:</b></p><p>  #include "windows.h"</p><p>  #include <conio.h>

28、</p><p>  #include <stdlib.h></p><p>  #include <fstream.h></p><p>  #include <io.h></p><p>  #include <string.h></p><p>  #include

29、 <stdio.h></p><p>  void initialize(); //初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)</p><p>  void createps(); //隨機(jī)生成訪問(wèn)序列</p><p>  void displayinfo(); //顯示當(dāng)前狀態(tài)及缺頁(yè)情況</p><p>  void fifo();

30、 //先進(jìn)先出算法</p><p>  int findpage(); //查找頁(yè)面是否在內(nèi)存</p><p>  int invalidcount = 0; // 缺頁(yè)次數(shù)</p><p>  int vpoint; //頁(yè)面訪問(wèn)指針</p><p>  int page

31、frame[10]; // 分配的頁(yè)框</p><p>  int pagehistory[10]; //記錄頁(yè)框中數(shù)據(jù)的訪問(wèn)歷史</p><p>  int rpoint; //頁(yè)面替換指針</p><p>  int inpflag; //缺頁(yè)標(biāo)志,0為不缺頁(yè),1為缺頁(yè)</p>

32、<p>  struct PageInfo //頁(yè)面信息結(jié)構(gòu)</p><p><b>  {</b></p><p>  int serial[100]; // 模擬的最大訪問(wèn)頁(yè)面數(shù),實(shí)際控制在20以上</p><p>  int flag; // 標(biāo)志位,0表示無(wú)頁(yè)面訪問(wèn)數(shù)據(jù)</p>

33、<p>  int diseffect; // 缺頁(yè)次數(shù)</p><p>  int total_pf; // 分配的頁(yè)框數(shù)</p><p>  int total_pn; // 訪問(wèn)頁(yè)面序列長(zhǎng)度</p><p>  } pf_info;</p><p>  //初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)</p>

34、<p>  void initialize() </p><p><b>  {</b></p><p><b>  int i,pf;</b></p><p>  inpflag=0; //缺頁(yè)標(biāo)志,0為不缺頁(yè),1為缺頁(yè)</p&g

35、t;<p>  pf_info.diseffect =0; // 缺頁(yè)次數(shù)</p><p>  pf_info.flag =0; // 標(biāo)志位,0表示無(wú)頁(yè)面訪問(wèn)數(shù)據(jù)</p><p>  printf("\n請(qǐng)輸入要分配的頁(yè)框數(shù):"); // 自定義分配的頁(yè)框數(shù) </p><p>  scanf("%d

36、",&pf);</p><p>  pf_info.total_pf =pf; </p><p>  for(i=0;i<100;i++) // 清空頁(yè)面序列</p><p><b>  {</b></p><p>  pf_info.serial[i]=-1;</p>&

37、lt;p><b>  }</b></p><p><b>  }</b></p><p>  // 隨機(jī)生成訪問(wèn)序列</p><p>  void createps(void )</p><p><b>  {</b></p><p>  int

38、s,i,pn;</p><p>  initialize(); //初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)</p><p>  printf("\n請(qǐng)輸入要隨機(jī)生成訪問(wèn)序列的長(zhǎng)度:"); //自定義隨機(jī)生成訪問(wèn)序列的長(zhǎng)度</p><p>  scanf("%d",&pn);</p><p>  sran

39、d(rand()); //初始化隨機(jī)數(shù)隊(duì)列的"種子"</p><p>  s=((float) rand() / 32767) * 50 + pn; // 隨機(jī)產(chǎn)生頁(yè)面序列長(zhǎng)度</p><p>  pf_info.total_pn = s;</p><p>  for(i=0;i<s;i++) //產(chǎn)生隨機(jī)訪問(wèn)序列</

40、p><p><b>  { </b></p><p>  pf_info.serial[i]=((float) rand() / 32767) * 16 ; //隨機(jī)數(shù)的大小在0-15之間 </p><p><b>  } </b></p><p><b>  }<

41、/b></p><p>  // 顯示當(dāng)前狀態(tài)及缺頁(yè)情況</p><p>  void displayinfo(void)</p><p><b>  { </b></p><p><b>  int i,n;</b></p><p>  if(vpoint==0)

42、</p><p><b>  { </b></p><p>  printf("\n=============頁(yè)面訪問(wèn)序列=============\n");</p><p>  for(i=0; i<pf_info.total_pn; i++) </p><p><b>  {

43、 </b></p><p>  printf("%4d",pf_info.serial[i]);</p><p>  if ((i+1) % 10 ==0) printf("\n"); //每行顯示10個(gè) </p><p><b>  }</b></p>

44、<p>  printf("\n======================================\n");</p><p><b>  }</b></p><p>  printf("訪問(wèn)%3d : 內(nèi)存<",pf_info.serial[vpoint]);</p><p> 

45、 for(n=0;n<pf_info.total_pf;n++) // 頁(yè)框信息</p><p><b>  {</b></p><p>  if (pageframe[n] >=0) </p><p>  printf("%3d",pageframe[n]);</p><p>&

46、lt;b>  else</b></p><p>  printf(" ");</p><p><b>  }</b></p><p>  printf(" >");</p><p>  if(inpflag==1) //缺頁(yè)標(biāo)志,0為不缺頁(yè),1為

47、缺頁(yè)</p><p><b>  { </b></p><p>  printf(" ==>缺頁(yè) "); </p><p>  printf("缺頁(yè)率%3.1f",(float)(pf_info.diseffect)*100.00/vpoint); </p><p><

48、b>  }</b></p><p>  printf("\n"); </p><p><b>  }</b></p><p>  // 查找頁(yè)面是否在內(nèi)存,1為在內(nèi)存,0為不在即缺頁(yè)</p><p>  int findpage(int page)</p><p&

49、gt;<b>  { </b></p><p><b>  int n;</b></p><p>  for(n=0;n<pf_info.total_pf;n++) </p><p><b>  {</b></p><p>  pagehistory[n] ++; /

50、/ 訪問(wèn)歷史加1</p><p><b>  }</b></p><p>  for(n=0;n<pf_info.total_pf;n++) </p><p><b>  {</b></p><p>  if (pageframe[n]==page )</p><p>

51、<b>  { </b></p><p>  inpflag=0 ; //inpflag缺頁(yè)標(biāo)志,0為不缺頁(yè),1為缺頁(yè) </p><p>  pagehistory[n]=0; //置訪問(wèn)歷史為0</p><p><b>  return 1;</b></p><p><b&

52、gt;  }</b></p><p><b>  }</b></p><p>  inpflag=1; //頁(yè)面不存在,缺頁(yè)</p><p>  return 0; </p><p><b>  }</b></p><p>  // FIFO頁(yè)面置換算

53、法</p><p>  void fifo(void)</p><p><b>  {</b></p><p>  int n,count,pstate; </p><p>  rpoint=0; // 頁(yè)面替換指針初始化為0</p><p>  invalidcount =

54、0; // 缺頁(yè)數(shù)初始化為0</p><p>  createps(); // 隨機(jī)生成訪問(wèn)序列</p><p>  count=0; // 是否裝滿是所有的頁(yè)框</p><p>  for(n=0;n<pf_info.total_pf;n++) // 清除頁(yè)框信息</p><p><b>

55、  {</b></p><p>  pageframe[n]=-1;</p><p><b>  }</b></p><p>  inpflag=0; //缺頁(yè)標(biāo)志,0為不缺頁(yè),1為缺頁(yè)</p><p>  for(vpoint=0;vpoint<pf_info.total_pn;vpoint++)

56、 // 執(zhí)行算法</p><p><b>  { </b></p><p>  pstate=findpage(pf_info.serial[vpoint]); //查找頁(yè)面是否在內(nèi)存</p><p>  if(count<pf_info.total_pf) // 開始時(shí)不計(jì)算缺頁(yè)</p><p>

57、;<b>  {</b></p><p>  if(pstate==0) // 頁(yè)不存在則裝入頁(yè)面</p><p><b>  { </b></p><p>  pageframe[rpoint]=pf_info.serial[vpoint];</p><p>  rpoint=(rp

58、oint+1) % pf_info.total_pf;</p><p><b>  count++;</b></p><p>  } </p><p><b>  }</b></p><p>  else // 正常缺頁(yè)置換</p><p&

59、gt;<b>  {</b></p><p>  if(pstate==0) // 頁(yè)不存在則置換頁(yè)面</p><p><b>  { </b></p><p>  pageframe[rpoint]=pf_info.serial[vpoint];</p><p>  rpoint=(

60、rpoint+1) % pf_info.total_pf;</p><p>  pf_info.diseffect++; // 缺頁(yè)次數(shù)加1 </p><p><b>  } </b></p><p><b>  }</b></p><p>  Sleep(10);

61、 </p><p>  displayinfo(); // 顯示當(dāng)前狀態(tài)</p><p>  } // 置換算法循環(huán)結(jié)束</p><p><b>  _getch();</b></p><p><b>  return;</b></p><p><b&g

62、t;  }</b></p><p><b>  // 主函數(shù)</b></p><p>  int main()</p><p><b>  { </b></p><p><b>  char ch;</b></p><p>  system

63、("cls") ;</p><p>  while ( true ) </p><p><b>  {</b></p><p>  printf("*******************************************\n");</

64、p><p>  printf(" 若要執(zhí)行FIFO頁(yè)面置算法請(qǐng)按 1 \n");</p><p>  printf(" 若要退出請(qǐng)按 2 \n") ;</p><p>  printf("*******************************************\n");</p

65、><p>  printf( "Enter your choice (1 or 2 ): "); </p><p><b>  do</b></p><p>  { //如果輸入信息不正確,繼續(xù)輸入</p><p>  ch = (char)_getch() ;</p><p&g

66、t;  }while(ch != '1' && ch != '2'&& ch != '3');</p><p>  printf("\n\n你按的是:%c ,現(xiàn)在為你執(zhí)行對(duì)應(yīng)操作。",ch);</p><p>  if(ch == '2') //選擇2,退出</p>

67、;<p><b>  {</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b>&l

68、t;/p><p>  printf("\n\n----------*****執(zhí)行FIFO算法*****-----------\n");</p><p><b>  fifo(); </b></p><p><b>  }</b></p><p>  system("cls&

69、quot;) ;</p><p><b>  }</b></p><p>  printf("\n\nPress Any Key To Continue:");</p><p>  _getch() ; </p><p><b>  return 0;</b></p>

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論