模擬頁式存儲管理-操作系統(tǒng)課程設計報告_第1頁
已閱讀1頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  操作系統(tǒng) 課程設計報告</p><p>  課 題: 模擬頁式存儲管理 </p><p>  姓 名: </p><p>  學 號: </p><p><b>  同組姓名: </b></p>&

2、lt;p>  專業(yè)班級: </p><p>  指導教師: </p><p>  設計時間:2011-2-22 </p><p>  目 錄</p><p><b>  一、目的和要求2</b></p>&

3、lt;p><b>  1、設計目的2</b></p><p><b>  2、設計要求2</b></p><p>  二、設計思路及過程2</p><p><b>  1、概要設計2</b></p><p><b>  2、過程設計3</b>

4、;</p><p><b>  三、數(shù)據(jù)定義5</b></p><p><b>  四、核心代碼5</b></p><p><b>  五、運行截圖8</b></p><p><b>  六、小結10</b></p><p>

5、;<b>  七、參考文獻11</b></p><p><b>  附錄12</b></p><p><b>  一、目的和要求</b></p><p><b>  1、設計目的</b></p><p>  通過請求頁式存儲管理中頁面置換算法模擬設計,

6、了解虛擬存儲技術的特點,掌握請求頁式存儲管理的頁面置換算法。</p><p><b>  2、設計要求</b></p><p>  根據(jù)模擬的頁式管理設計,掌握在頁式存儲管理中最基本的三種頁面調度算法FIFO、LRU以及OPT。但在三種算法中均要求在調度程序中產(chǎn)生的頁面序列是隨機產(chǎn)生的,而不是人為的輸入,在執(zhí)行時只需改變頁面的大小及內存容量就可以得到不同的頁面序列,另

7、外還需要說明隨機的性能和其性能可能對算法的影響,并對隨機性要有一定的參數(shù)控制能力。此外,計算并輸出FIFO、LRU以及OPT算法在不同內存容量下的命中率。</p><p>  根據(jù)方法的執(zhí)行過程,編寫一個解決上述問題的程序,顯示訪問每個值頁面中的值。</p><p>  具體參數(shù):訪問串的長度,訪問串,頁面?zhèn)€數(shù)。</p><p>  分別用3種不同的方法實現(xiàn)頁面的置

8、換,并輸出相關信息。</p><p><b>  二、設計思路及過程</b></p><p><b>  1、概要設計</b></p><p><b>  1.1 問題概述</b></p><p>  根據(jù)三種不同的置換算法,依據(jù)其不同的算法方式,分別計算該算法在不同情況下的命

9、中率,并顯示各頁面的變化情況。</p><p><b>  1.2 內容分析</b></p><p>  對于該課程設計中模擬的頁式存儲管理的頁面置換過程,只要掌握其中最基本的三種算法,包括FIFO、LRU及OPT。 但最重要的一點就是要求產(chǎn)生隨機序列,所以在編寫程序時要采用控制產(chǎn)生隨機值的種子數(shù)函數(shù),如此能產(chǎn)生隨機的訪問序列。另外,不能在執(zhí)行完一次操作后就只能進行另

10、外一種算法的操作,必須還要有更加詳細的操作,比如:是否要重新得到新序列?還是要不改變訪問序列而只改變訪問串的內存容量?抑或是不操作就退出該算法以進行下一種調度算法?因此,在執(zhí)行完每次操作后都必須要有提示語,看是否進入更細節(jié)的操作,還是退出本次算法的操作以進入下一種算法的調度。</p><p><b>  2、過程設計</b></p><p><b>  2.

11、1模塊設計</b></p><p>  在下圖的主模塊設計圖中,只注重描繪了頁式存儲管理的三種主要算法,未描繪出細節(jié)部分。其中,在執(zhí)行每種算法時都會要求輸入你所需要的訪問串長度、隨機值以及同一種算法的不同內存容量,如此就可以得出不同的命中率。另外,在執(zhí)行完該操作后又會出現(xiàn)三條提示語,是重新得到新序列?還是不改變訪問序列只改變訪問串的內存容量?抑或是不操作退出以進行下一種調度算法?這些在下圖中都未一一實

12、現(xiàn)。</p><p>  圖2.1 頁式存儲管理的主模塊設計圖</p><p>  2.2 算法原理分析</p><p>  要學成功實現(xiàn)算法,首先要知道各個方法是怎么做的,即原理是怎樣的,下面是三種算法的原理。</p><p>  FIFO算法是先進先出,當當前內存中沒有正要訪問的頁面時,置換出最先進來的頁面。</p><

13、;p>  LRU算法是最近最久未使用,當當前內存中沒有正要訪問的頁面時,置換出在當前頁面中最近最久沒有使用的頁面。</p><p>  OPT算法是未來最遠出現(xiàn),當當前內存中沒有正要訪問的頁面時,置換出當前頁面中在未來的訪問頁中最遠出現(xiàn)的頁面或再也不出現(xiàn)的頁面。</p><p><b>  2.3 程序流程圖</b></p><p>  

14、本次課程設計的主要流程是3種置換算法的流程圖,本人負責OPT,流程圖如下所示:</p><p>  圖2.2 OPT算法流程圖</p><p><b>  三、數(shù)據(jù)定義</b></p><p>  int length,num_page,count,seed; //length記錄訪問串的長度,num_page頁面數(shù),count記錄缺頁次數(shù)&

15、lt;/p><p>  int result[20][30],order[30],a[10]; //result記錄結果,order存儲訪問串,a存儲當前頁面中的值</p><p>  int pos1,flag1,flag2,flag3; //pos1位置變量,flag1等為標志變量</p><p>  char result1[30]; //記錄缺頁數(shù)組</

16、p><p><b>  四、核心代碼</b></p><p>  三種置換算法中只列出本人負責部分(OPT算法),具體代碼及注釋如下:</p><p>  void opt() //理想型</p><p><b>  {</b></p><p>  int i,pos[10],

17、flag[10];//i為for循環(huán)控制語句,pos為位置變量,flag標志變量</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  flag1=flag2=0;</p><p>  for(i=0;i<length;i++)//訪

18、問串遍歷</p><p><b>  {</b></p><p>  if(!search(order[i]))//查詢要訪問的頁是否在內存中</p><p><b>  {</b></p><p><b>  count++;</b></p><p>

19、  result1[i]='*';</p><p>  if(a[num_page-1]!=-1) //表示當前頁面已滿要淘汰一個</p><p><b>  {</b></p><p>  memset(pos,-1,sizeof(pos));//初始pos數(shù)組</p><p>  memset(fla

20、g,0,sizeof(flag));//初始flag數(shù)組</p><p><b>  int j,k;</b></p><p>  for( j=i;j<length;j++)//找當前頁中的值在將來訪問串中對應最近位置</p><p><b>  {</b></p><p>  for( k

21、=0;k<num_page;k++)</p><p><b>  {</b></p><p>  if(order[j]==a[k]&&flag[k]==0)</p><p><b>  {</b></p><p><b>  pos[k]=j;</b>&

22、lt;/p><p>  flag[k]=1;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<endl;</p><p&g

23、t;  int max=-10,max_pos;</p><p>  for( k=0;k<num_page;k++)//找出位置最遠的那個值</p><p><b>  {</b></p><p>  if(pos[k]==-1)//未出現(xiàn)則跳出,替換該值</p><p><b>  {</b&g

24、t;</p><p>  max_pos=k;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(max<pos[k])</p><p><b>  {</b></p

25、><p>  max=pos[k];</p><p>  max_pos=k;</p><p><b>  }</b></p><p><b>  }</b></p><p>  a[max_pos]=order[i];</p><p><b>

26、  }</b></p><p>  else //還有空頁,直接調入內存</p><p><b>  {</b></p><p>  for(int j=0;j<num_page;j++)</p><p><b>  {</b></p><p>  if(a

27、[j]==-1)</p><p><b>  {</b></p><p>  a[j]=order[i];</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b&g

28、t;</p><p><b>  }</b></p><p><b>  }</b></p><p>  else result1[i]=' ';</p><p>  for(int j=0;j<num_page;j++)</p><p><b&g

29、t;  {</b></p><p>  result[j][i]=a[j];</p><p><b>  }</b></p><p><b>  }</b></p><p>  again(); //再操作</p><p>  if(flag1==0&&

30、amp;flag2==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  其中的查詢函數(shù)search()具體代碼如下:</p><p>  bool

31、search(int n) //查找當前內存中是否已存在該頁</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=0;i<num_page;i++)</p><p><b>  {</b></p

32、><p>  if(a[i]==n)</p><p>  return true;</p><p><b>  }</b></p><p>  return false;</p><p><b>  }</b></p><p>  其中的再操作函數(shù)agai

33、n(),具體代碼如下:</p><p>  void again() //用于再輸入</p><p><b>  {</b></p><p><b>  print();</b></p><p>  int numpage,m;</p><p>  printf("

34、;************************************** \n");</p><p>  printf(" 1.重新輸入新序列.\n");</p><p>  printf(" 2.不改變訪問序列只改變頁面數(shù).\n");</p><p>  printf(" 0

35、.不操作退出.\n");</p><p>  printf("************************************** \n");</p><p>  printf(" 選擇所要操作:");</p><p>  scanf("%d",&m);</p>

36、<p><b>  if(m==1) </b></p><p><b>  {</b></p><p>  flag1=1; //重新輸入</p><p><b>  init();</b></p><p><b>  }</b></

37、p><p>  else if(m==2)</p><p><b>  {</b></p><p><b>  flag2=1;</b></p><p>  cout<<"輸入新頁面數(shù):";</p><p>  cin>>numpage

38、;</p><p>  num_page=numpage;memset(a,-1,sizeof(a));</p><p><b>  }</b></p><p>  else return ;</p><p><b>  }</b></p><p><b>  五、

39、運行截圖</b></p><p>  根據(jù)不同的分工,限于紙張只列出部分截圖,以下是對OPT調度算法的實驗截圖:</p><p>  圖5.1 相同的內存容量下不同的訪問串序列1</p><p>  圖5.2 相同的內存容量下不同的訪問串序列2</p><p>  依上圖5.1和5.2來看,OPT調度算法在訪問串長度一致,隨機值不

40、同以致產(chǎn)生不同的訪問串序列時,但頁面數(shù)相同的情況下,所得到的命中率也不同。</p><p>  圖5.3 不同的內存容量下相同的訪問串序列</p><p>  在上圖5.3中就是對同一訪問串序列進行OPT調度,只是改變其頁面的大小,得到了不同的命中率。</p><p><b>  六、小結</b></p><p>  本

41、次課程設計目的是通過請求頁式管理中頁面置換算法模擬設計,了解虛擬存儲技術的特點,掌握請求頁式存儲管理的頁面置換算法。要求設計隨機頁面產(chǎn)生程序,并說明隨機的性能和其性能可能對算法的影響,對隨機性要有一定的參數(shù)控制能力;計算并輸出FIFO及LRU算法在不同內存容量下的命中率。</p><p>  由于上學期做過頁面置換的實驗,內容包括先進先出算法(FIFO)、最近最久未使用頁面置換算法(LRU)和理想淘汰算法(OPT

42、),3種算法思想簡單明確,選好數(shù)據(jù)結構,思路清晰便基本沒問題了。所以相對來說,這次操作系統(tǒng)的課程設計容易許多,只是在之前實驗基礎上,要附加設計隨機頁面產(chǎn)生程序,對隨機性要有一定的參數(shù)控制能力。對于隨機頁面產(chǎn)生程序,我們之前沒做過,在網(wǎng)上查閱資料,使用了庫函數(shù)srand()和rand(),實現(xiàn)了簡單的隨機頁面產(chǎn)生程序,功能基本完成。我們知識所限,沒有使用漂亮可視化界面編程實現(xiàn)功能,用簡單的C語言編程實現(xiàn)的。不管怎么樣,最終還是實現(xiàn)的本次課

43、程設計要求的。</p><p>  做了這么多次課程設計了,大致的過程都熟悉了,每次的動手實踐,調動了我們主動學習的積極性, 并引導我們根據(jù)實際編程要求, 訓練自己實際分析問題的能力及編程能力, 并養(yǎng)成良好的編程習慣。 通過詳細的實例, 循序漸進地啟發(fā)我們完成設計課程設計將要求。</p><p>  從拿到題目到完成整個編程,從理論到實踐可以學到很多很多的東西,同時不僅可以鞏固了以前所學過

44、的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。知識的獲得是無止境的,只要你想學,只要你行動,就一定會有所收獲的。回首這兩個星期的課程設計,盡管很是頭痛,很多都不會,但經(jīng)過努力,我們還是學了不少知識的。這期間,老師給了我們許多幫助,非常感

45、謝!</p><p><b>  七、參考文獻</b></p><p>  【1】 張堯學, 史美林. 計算機操作系統(tǒng)教程(第2版). 北京: 清華大學出版社, 2000</p><p>  【2】張堯學, 史美林. 計算機操作系統(tǒng)教程(第2版)習題解答與實驗指導. 北京: 清華大學出版社, 2000</p><p> 

46、 【3】譚浩強, 張基溫. C語言程序設計教程. 高等教育出版社,1991</p><p><b>  附錄</b></p><p>  所有源程序代碼如下:</p><p>  #include<iostream></p><p>  #include<stdlib.h></p>

47、<p>  using namespace std;</p><p>  int length,num_page,count,seed;</p><p>  int result[20][30],order[30],a[10];</p><p>  int pos1,flag1,flag2,flag3;</p><p>  char

48、 result1[30];</p><p>  void init()</p><p><b>  {</b></p><p>  memset(a,-1,sizeof(a));</p><p><b>  int i;</b></p><p>  cout<<&

49、quot;輸入訪問串的長度:";</p><p>  cin>>length;</p><p>  cout<<"輸入種子數(shù)控制產(chǎn)生的隨機值:";</p><p>  cin>>seed;</p><p>  srand(seed);</p><p> 

50、 cout<<"產(chǎn)生的隨機訪問串:";</p><p>  for(i=0;i<length;i++)</p><p><b>  {</b></p><p>  //cin>>order[i];</p><p>  order[i]=rand()%10;</p&

51、gt;<p>  cout<<order[i]<<" ";</p><p><b>  }</b></p><p>  cout<<endl;</p><p>  cout<<"輸入頁面的個數(shù):";</p><p>  

52、cin>>num_page;</p><p><b>  }</b></p><p>  void print()</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  cout&l

53、t;<"(*表示缺頁)"<<endl;</p><p>  cout<<endl;</p><p>  for( j=0;j<length;j++)</p><p>  printf("%2d ",order[j]);</p><p>  cout<<en

54、dl;</p><p>  for( i=0;i<num_page;i++)</p><p><b>  {</b></p><p>  for( j=0;j<length;j++)</p><p><b>  {</b></p><p>  if(result[

55、i][j]==-1)</p><p><b>  {</b></p><p>  printf(" ");</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf(&

56、quot;%2d ",result[i][j]);</p><p><b>  }</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p>  for( j=0;j<length;j++)</p><

57、p><b>  {</b></p><p>  printf("%2c ",result1[j]);</p><p><b>  }</b></p><p>  cout<<endl;</p><p>  cout<<"缺頁率:"

58、<<count<<"/"<<length;</p><p>  printf("=%.1lf",(count*1.0)/(length*1.0)*100);</p><p>  cout<<"%"<<endl;</p><p><b> 

59、 }</b></p><p>  bool search(int n) //查找當期內存是否已存在</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=0;i<num_page;i++)</p>

60、<p><b>  {</b></p><p>  if(a[i]==n)</p><p>  return true;</p><p><b>  }</b></p><p>  return false;</p><p><b>  }</b&g

61、t;</p><p>  void again() //用于再輸入</p><p><b>  {</b></p><p><b>  print();</b></p><p>  int numpage,m;</p><p>  printf("********

62、****************************** \n");</p><p>  printf(" 1.重新輸入新序列.\n");</p><p>  printf(" 2.不改變訪問序列只改變頁面數(shù).\n");</p><p>  printf(" 0.不操作退出.\n

63、");</p><p>  printf("************************************** \n");</p><p>  printf(" 選擇所要操作:");</p><p>  scanf("%d",&m);</p><p&g

64、t;<b>  if(m==1) </b></p><p><b>  {</b></p><p>  flag1=1; //重新輸入</p><p><b>  init();</b></p><p><b>  }</b></p>&l

65、t;p>  else if(m==2)</p><p><b>  {</b></p><p><b>  flag2=1;</b></p><p>  cout<<"輸入新頁面數(shù):";</p><p>  cin>>numpage;</p&g

66、t;<p>  num_page=numpage;memset(a,-1,sizeof(a));</p><p><b>  }</b></p><p>  else return ;</p><p><b>  }</b></p><p>  void fifo() //先進先出&l

67、t;/p><p><b>  {</b></p><p>  int i,thisn=0;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  count=0;</b>

68、;</p><p>  flag1=flag2=0;</p><p>  for(i=pos1;i<length;i++)</p><p><b>  {</b></p><p>  if(!search(order[i]))</p><p><b>  {</b>&l

69、t;/p><p><b>  count++;</b></p><p>  result1[i]='*';</p><p>  if(a[num_page-1]!=-1) //表示當前頁面已滿要淘汰一個</p><p><b>  {</b></p><p>  

70、a[thisn]= order[i];</p><p><b>  thisn++;</b></p><p>  if(thisn>=num_page)</p><p><b>  thisn=0;</b></p><p><b>  }</b></p>&

71、lt;p><b>  else</b></p><p><b>  {</b></p><p>  for(int j=0;j<num_page;j++)</p><p><b>  {</b></p><p>  if(a[j]==-1)</p>&

72、lt;p><b>  {</b></p><p>  a[j]=order[i];</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

73、t;<b>  }</b></p><p><b>  }</b></p><p>  else result1[i]=' ';</p><p>  for(int j=0;j<num_page;j++)</p><p><b>  {</b></p

74、><p>  result[j][i]=a[j];</p><p><b>  }</b></p><p><b>  }</b></p><p>  again(); //再操作</p><p>  if(flag1==0&&flag2==0)</p&g

75、t;<p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void lru() //最久最近沒使用</p><p><b>  {</b></p&

76、gt;<p>  int i,pos[10];</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  count=0;</b></p><p>  flag1=flag2=0;</p>

77、<p>  memset(pos,-1,sizeof(pos));</p><p>  for(i=pos1;i<length;i++)</p><p><b>  {</b></p><p>  if(!search(order[i]))</p><p><b>  {</b>

78、</p><p><b>  count++;</b></p><p>  result1[i]='*';</p><p>  if(a[num_page-1]!=-1) //表示當前頁面已滿要淘汰一個</p><p><b>  {</b></p><p>

79、<b>  int j,k;</b></p><p>  for( j=0;j<i;j++) //查找當前頁中的值對應的最近位置</p><p><b>  {</b></p><p>  for( k=0;k<num_page;k++)</p><p><b>  {<

80、;/b></p><p>  if(order[j]==a[k])</p><p><b>  {</b></p><p><b>  pos[k]=j;</b></p><p><b>  }</b></p><p><b>  }&l

81、t;/b></p><p><b>  }</b></p><p>  int min=pos[0],min_pos=0;</p><p>  for( k=1;k<num_page;k++)//找出位置最遠的那個</p><p><b>  {</b></p><p

82、>  if(min>pos[k])</p><p><b>  {</b></p><p>  min=pos[k];</p><p>  min_pos=k;</p><p><b>  }</b></p><p><b>  }</b>&

83、lt;/p><p>  a[min_pos]=order[i];</p><p><b>  }</b></p><p>  else //還有空頁</p><p><b>  {</b></p><p>  for(int j=0;j<num_page;j++)</

84、p><p><b>  {</b></p><p>  if(a[j]==-1)</p><p><b>  {</b></p><p>  a[j]=order[i];</p><p><b>  break;</b></p><p&g

85、t;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else result1[i]=' ';</p><

86、p>  for(int j=0;j<num_page;j++)</p><p><b>  {</b></p><p>  result[j][i]=a[j];</p><p><b>  }</b></p><p><b>  }</b></p>&

87、lt;p>  again(); //再操作</p><p>  if(flag1==0&&flag2==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p&g

88、t;<p>  void opt() //理想型</p><p><b>  {</b></p><p>  int i,pos[10],flag[10];</p><p><b>  while(1)</b></p><p><b>  {</b></p

89、><p>  flag1=flag2=0;</p><p>  for(i=0;i<length;i++)</p><p><b>  {</b></p><p>  if(!search(order[i]))</p><p><b>  {</b></p>

90、<p><b>  count++;</b></p><p>  result1[i]='*';</p><p>  if(a[num_page-1]!=-1) //表示當前頁面已滿要淘汰一個</p><p><b>  {</b></p><p>  memset(pos

91、,-1,sizeof(pos));</p><p>  memset(flag,0,sizeof(flag));</p><p><b>  int j,k;</b></p><p>  for( j=i;j<length;j++)//找出當前頁中的值在將來訪問串中對應的最近位置</p><p><b>

92、  {</b></p><p>  for( k=0;k<num_page;k++)</p><p><b>  {</b></p><p>  if(order[j]==a[k]&&flag[k]==0)</p><p><b>  {</b></p>

93、<p><b>  pos[k]=j;</b></p><p>  flag[k]=1;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p

94、>  cout<<endl;</p><p>  int max=-10,max_pos;</p><p>  for( k=0;k<num_page;k++)//找出位置最遠的那個值</p><p><b>  {</b></p><p>  if(pos[k]==-1)//未出現(xiàn)則跳出,替換該

95、值</p><p><b>  {</b></p><p>  max_pos=k;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(max<pos[k])</p&

96、gt;<p><b>  {</b></p><p>  max=pos[k];</p><p>  max_pos=k;</p><p><b>  }</b></p><p><b>  }</b></p><p>  a[max_po

97、s]=order[i];</p><p><b>  }</b></p><p>  else //還有空頁</p><p><b>  {</b></p><p>  for(int j=0;j<num_page;j++)</p><p><b>  {&l

98、t;/b></p><p>  if(a[j]==-1)</p><p><b>  {</b></p><p>  a[j]=order[i];</p><p><b>  break;</b></p><p><b>  }</b></p

99、><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else result1[i]=' ';</p><p>  for(int j=0;j<num_pa

100、ge;j++)</p><p><b>  {</b></p><p>  result[j][i]=a[j];</p><p><b>  }</b></p><p><b>  }</b></p><p>  again(); //再操作</

101、p><p>  if(flag1==0&&flag2==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void mune()<

102、/p><p><b>  {</b></p><p><b>  int m;</b></p><p>  printf("\n**************************************\n\n");</p><p>  printf(" 動

103、態(tài)分配分區(qū)方法演示\n");</p><p>  printf("\n************************************** \n\n");</p><p>  printf(" 1.先進先出算法.\n\n");</p><p>  printf(" 2.最

104、久最近未使用頁面置換算法.\n\n");</p><p>  printf(" 3.理想型淘汰算法.\n\n");</p><p>  printf(" 0.退出程序.\n");</p><p>  printf("\n******************************

105、******** \n");</p><p>  printf("\n 選擇所要操作:");</p><p>  scanf("%d",&m);</p><p><b>  switch(m)</b></p><p><b>  {</b

106、></p><p><b>  case 1:</b></p><p><b>  init();</b></p><p><b>  fifo( );</b></p><p><b>  mune();</b></p><p&g

107、t;<b>  break;</b></p><p><b>  case 2:</b></p><p><b>  init();</b></p><p><b>  lru( );</b></p><p><b>  mune();</

108、b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p><b>  init();</b></p><p><b>  opt( );</b></p><p>

109、;<b>  mune();</b></p><p><b>  break;</b></p><p><b>  case 0:</b></p><p><b>  break;</b></p><p><b>  default:</b

110、></p><p>  printf("選擇錯誤,重新選擇.");</p><p><b>  mune();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void

溫馨提示

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

評論

0/150

提交評論