2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  課程名稱: 操作系統(tǒng)原理 </p><p>  題目名稱: 可變分區(qū)存儲管理 </p><p>  姓 名: 學(xué) 號: </p>&

2、lt;p>  班 級: 同 組 姓 名: 無 </p><p>  課程設(shè)計時間: 2013.1.7~2013.1.11 </p><p>  評 語: </p><p>  成 績: </p&

3、gt;<p><b>  課程設(shè)計題目</b></p><p><b>  一、設(shè)計內(nèi)容及要求</b></p><p> ?。ㄒ笞⒚餍〗M分工情況)</p><p><b>  設(shè)計內(nèi)容:</b></p><p><b>  可變分區(qū)存儲管理。</

4、b></p><p>  設(shè)計一個可變分區(qū)存儲管理方案,模擬實現(xiàn):主存的分配和回收,地址變換。</p><p><b>  輸入:</b></p><p>  輸入進(jìn)程名稱及使用內(nèi)存的大?。▌?chuàng)建進(jìn)程);</p><p>  結(jié)束某一個指定的進(jìn)程。</p><p><b>  邏輯地

5、址。</b></p><p>  輸出:顯示內(nèi)存使用狀況;每一個進(jìn)程占據(jù)的內(nèi)存;物理地址。</p><p>  使用的分配算法包括:</p><p> ?。?)首次適應(yīng)算法;</p><p> ?。?)最佳適應(yīng)算法;</p><p> ?。?)最差適應(yīng)算法;</p><p><

6、b>  二、詳細(xì)設(shè)計</b></p><p><b>  1)原理概述</b></p><p>  內(nèi)存分配有固定分區(qū)分配方式和動態(tài)分區(qū)分配方式,固定分區(qū)分配是最簡單的一種可以運(yùn)行多道程序的存儲管理方式。它是將內(nèi)存空間劃分為若干個固定大小的區(qū)域,在每個分區(qū)中只裝入一道作業(yè),它把用戶空間劃分為幾個分區(qū),允許有多道作業(yè)并發(fā)運(yùn)行。</p>&

7、lt;p>  它的分區(qū)劃分方法有兩種:1、分區(qū)大小相等,即使所有的內(nèi)存分區(qū)大小相同。2、分區(qū)大小不等。它的分配方式存在缺點,即缺乏靈活性,浪費(fèi)內(nèi)存,如果一個進(jìn)程申請很少的一塊內(nèi)存,那么它會占據(jù)整個內(nèi)存分區(qū),即使還有大部分空閑,例如一個進(jìn)程有5k,申請了分區(qū)號4的內(nèi)存,雖然還有123k內(nèi)存,但是其他進(jìn)程也不可以利用,只有進(jìn)程結(jié)束了,其他進(jìn)程才可以利用,內(nèi)存十分浪費(fèi)。</p><p>  在上邊的基礎(chǔ)上,便產(chǎn)生

8、了可變分區(qū)分配方式。它是根據(jù)進(jìn)程的實際需要,動態(tài)的為它分配內(nèi)存空間,避免了上邊的固定分區(qū)分配方式的缺點。</p><p>  它涉及到分區(qū)分配中所用的數(shù)據(jù)結(jié)構(gòu)、分區(qū)分配算法和分區(qū)的分配與回收操作這三個問題。</p><p>  分區(qū)分配中的數(shù)據(jù)結(jié)構(gòu)</p><p>  在這里我使用了空閑分區(qū)表。在系統(tǒng)中設(shè)置一張空閑分區(qū)表,用于記錄每個空閑分區(qū)的情況。每個空閑分區(qū)占一

9、個表目,表中包括了分區(qū)號、分區(qū)始址、分區(qū)大小、和一個代表它是空閑的狀態(tài)。在系統(tǒng)中還有一張已分配表,用于記錄已經(jīng)分配給相應(yīng)進(jìn)程的內(nèi)存,它的表目與空閑分區(qū)表一樣,狀態(tài)是已分配。</p><p><b>  分區(qū)分配算法</b></p><p>  A首次適應(yīng)算法(first fit)</p><p>  每次分配時,總是從未分配區(qū)表頭順序查找未分配

10、表或鏈表,找到第一個能滿足長度要求的空閑區(qū)為止。分割這個找到的未分配區(qū),一部分分配給作業(yè),另一部分仍為空閑區(qū)。</p><p>  這種分配算法優(yōu)先利用主存低地址空閑分區(qū),從而,保留了高地址的大的空閑區(qū)。但由于低地址空閑分區(qū)不斷被分割,既可能將大的空間分割掉,也造成低地址部分有較多難以使用的“碎片”。作為改進(jìn),可把空閑區(qū)按地址從小到大排列在未分配表或鏈表中,因為,為作業(yè)分配主存空間時從低地址部分的空閑區(qū)開始查找,

11、可使高地址部分盡可能少用,以保持一個大的空閑區(qū),有利于大作業(yè)的裝入。但是,這給回收分區(qū)帶來一些麻煩,每次收回一個分區(qū)后,必須搜索未分配區(qū)表或鏈表來確定它在表格或鏈表中的位置且要移動相應(yīng)的登記項。</p><p>  B最佳適應(yīng)算法(best fit)</p><p>  該算法要掃描整個未分配區(qū)表或鏈表,從空閑區(qū)中挑選一個能滿足作業(yè)要求的最小分區(qū)進(jìn)行分配。這種算法可保證不去分割一個更大的區(qū)

12、域,使裝入大作業(yè)時比較容易得到滿足。采用這種分配算法時可把空閑區(qū)按長度以遞增順利排列,查找時總是從最小的一個區(qū)開始,直到找到一個滿足要求的分區(qū)為止。按這種方法,在回收一個分區(qū)時也必須對分配表或鏈表重新排列。最優(yōu)適應(yīng)分配算法找出的分區(qū)如果正好滿足要求則是最合適的了,如果比所要求的略大則分割后使剩下的空閑區(qū)就很小,以致無法使用。</p><p>  C最壞適應(yīng)算法(worst fit)</p><

13、p>  最壞適應(yīng)分配算法要掃描整個未分配區(qū)表或鏈表,總是挑選一個最大的空閑區(qū)分割給作業(yè)使用,其優(yōu)點是可使剩下的空閑區(qū)不至于太小,對中、小作業(yè)有利。采用這種分配算法時可把空閑區(qū)按長度以遞減順序排列,查找時只要看第一個分區(qū)能否滿足作業(yè)要求,這樣使最壞適應(yīng)分配算法查找效率很高。</p><p><b>  分區(qū)分配操作</b></p><p>  它主要涉及到分區(qū)的分

14、配內(nèi)存和回收內(nèi)存問題。</p><p><b>  A分配內(nèi)存</b></p><p><b>  B回收內(nèi)存</b></p><p>  內(nèi)存回收有四種回收狀態(tài)狀態(tài),比較復(fù)雜點。如下圖:</p><p>  X為將要回收的內(nèi)存,A、B為正在運(yùn)行的進(jìn)程,回收X有四種合并狀態(tài)。黑色區(qū)域為回收后的空閑內(nèi)

15、存。</p><p><b>  2)主要數(shù)據(jù)結(jié)構(gòu)</b></p><p>  定義了內(nèi)存分區(qū)結(jié)構(gòu)體,在此基礎(chǔ)上定義了此結(jié)構(gòu)體的對象free[100]和used[100],分別表示空閑分區(qū)表和已分配的分區(qū)表,他們的最大值都是100,而且結(jié)構(gòu)也相同。Procnum是全局變量,用于已分配的進(jìn)程分區(qū)號,每個進(jìn)程唯一。</p><p>  struct

16、 table </p><p><b>  {</b></p><p>  int tablenum;//分區(qū)號</p><p>  int startaddr;//起始地址</p><p>  int length;//長度</p><p>  char state[10];//分配狀態(tài)<

17、/p><p><b>  };</b></p><p>  table free[100];//空閑分區(qū)表</p><p>  table used[100];//已分配分區(qū)表</p><p>  int freelength;//空閑分區(qū)表長度</p><p>  int usedlength;//

18、已分配分區(qū)表長度</p><p>  int procnum=0;//進(jìn)程分區(qū)號</p><p><b>  3)算法(流程圖)</b></p><p><b>  程序狀態(tài)流程圖</b></p><p><b>  內(nèi)存分配流程圖</b></p><p&g

19、t;<b>  4)源程序文件名</b></p><p><b>  os課程設(shè)計1</b></p><p>  #include<iostream.h></p><p>  #include <string.h></p><p>  struct table </p&

20、gt;<p><b>  {</b></p><p>  int tablenum;//分區(qū)號</p><p>  int startaddr;//起始地址</p><p>  int length;//長度</p><p>  char state[10];//分配狀態(tài)</p><p&

21、gt;<b>  };</b></p><p>  table free[100];//空閑分區(qū)表</p><p>  table used[100];//已分配分區(qū)表</p><p>  int freelength;//空閑分區(qū)表長度</p><p>  int usedlength;//已分配分區(qū)表長度</p

22、><p>  int procnum=0;//進(jìn)程分區(qū)號</p><p>  void initial();//初始化分區(qū)</p><p>  void firstfit();//首次適應(yīng)算法</p><p>  void bestfit();//最佳適應(yīng)算法</p><p>  void worstfit();//最壞適

23、應(yīng)算法</p><p>  void terminal();//結(jié)束進(jìn)程</p><p>  int transfer();//邏輯地址轉(zhuǎn)換</p><p>  void print();//打印輸出</p><p>  int main()</p><p><b>  {</b></p&g

24、t;<p>  cout<<"///////////////////可變分區(qū)存儲管理系統(tǒng)///////////////////"<<endl;</p><p>  initial();</p><p>  int s,n,x=1;</p><p><b>  print();</b>&l

25、t;/p><p><b>  while(x)</b></p><p><b>  {</b></p><p>  cout<<"//////////////////////////////////////////////////////////"<<endl;</p>

26、<p>  cout<<"--1、創(chuàng)建進(jìn)程(進(jìn)程名 內(nèi)存大小);"<<endl</p><p>  <<"--2、結(jié)束進(jìn)程(進(jìn)程名);"<<endl</p><p>  <<"--3、邏輯地址轉(zhuǎn)換;"<<endl</p><p&

27、gt;  <<"--4、退出"<<endl<<"->";</p><p><b>  cin>>n;</b></p><p>  switch (n)</p><p><b>  {</b></p><p>

28、;<b>  case 1:</b></p><p>  cout<<"--使用算法1、首次適應(yīng)算法;2、最佳適應(yīng)算法;3、最差適應(yīng)算法"<<endl<<"->";</p><p><b>  cin>>s;</b></p><p&g

29、t;  switch (s)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  firstfit();</p><p><b>  break;</b></p><p><b>  

30、case 2:</b></p><p>  bestfit();</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  worstfit();</p><p><b>  break;&

31、lt;/b></p><p><b>  }</b></p><p><b>  print();</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>

32、  terminal();</p><p><b>  print();</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  transfer();</p><p><b

33、>  break;</b></p><p><b>  case 4:</b></p><p><b>  x=0;</b></p><p><b>  break;</b></p><p><b>  }</b></p>

34、<p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  void initial()</p><p><b>  {</b></p><

35、;p>  for (int i=0;i<100;i++)</p><p><b>  {</b></p><p>  free[i].tablenum=-1;</p><p>  free[i].startaddr=-1;</p><p>  free[i].length=0;</p><

36、p>  strcpy(free[i].state,"free ");</p><p>  used[i].tablenum=-1;</p><p>  used[i].startaddr=-1;</p><p>  used[i].length=0;</p><p>  strcpy(used[i].state,&q

37、uot;used ");</p><p><b>  }</b></p><p>  freelength=0;</p><p>  usedlength=0;</p><p>  free[0].tablenum=0;</p><p>  free[0].startaddr=0;<

38、;/p><p>  free[0].length=50;</p><p>  free[1].tablenum=1;</p><p>  free[1].startaddr=50;</p><p>  free[1].length=100;</p><p>  free[2].tablenum=2;</p>

39、<p>  free[2].startaddr=150;</p><p>  free[2].length=80;</p><p>  free[3].tablenum=3;</p><p>  free[3].startaddr=230;</p><p>  free[3].length=40;</p><p&

40、gt;  free[4].tablenum=4;</p><p>  free[4].startaddr=270;</p><p>  free[4].length=200;</p><p>  free[5].tablenum=5;</p><p>  free[5].startaddr=470;</p><p> 

41、 free[5].length=150;</p><p>  freelength=6;</p><p><b>  }</b></p><p>  void print()</p><p><b>  {</b></p><p>  cout<<"//

42、////////////////////////////////////////////////////////"<<endl;</p><p>  cout<<"空閑分區(qū)表:"<<endl<<"分區(qū)號/起始地址/大小/狀態(tài)"<<endl;</p><p>  for (int i

43、=0;i<freelength;i++)</p><p><b>  {</b></p><p>  cout<<free[i].tablenum<<'\t'<<free[i].startaddr<<'\t'<<free[i].length<<'\t&

44、#39;<<free[i].state<<endl;</p><p><b>  }</b></p><p>  cout<<"已分配分區(qū)表:"<<endl<<"分區(qū)號/起始地址/大小/狀態(tài)"<<endl;</p><p>  for

45、 (i=0;i<usedlength;i++)</p><p><b>  {</b></p><p>  cout<<used[i].tablenum<<'\t'<<used[i].startaddr<<'\t'<<used[i].length<<'

46、\t'<<used[i].state<<endl;</p><p><b>  }</b></p><p>  cout<<"//////////////////////////////////////////////////////////"<<endl;</p><p&

47、gt;<b>  }</b></p><p>  int transfer()</p><p><b>  {</b></p><p><b>  int m;</b></p><p>  cout<<"輸入要轉(zhuǎn)換的分區(qū)號:"<<en

48、dl<<"->";</p><p><b>  cin>>m;</b></p><p>  for (int i=0;i<usedlength;i++)</p><p><b>  {</b></p><p>  if (used[i].tab

49、lenum==m)</p><p><b>  {</b></p><p>  cout<<m<<"--->(物理地址)"<<used[i].startaddr<<endl;</p><p><b>  return 1;</b></p>

50、<p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"邏輯分區(qū)號輸入錯誤。"<<endl;</p><p><b>  return 0;</b></p><p>&l

51、t;b>  }</b></p><p>  void firstfit()</p><p><b>  {</b></p><p>  char procname[20];</p><p>  int proclength;</p><p>  int i,j,flag,t;&l

52、t;/p><p>  cout<<"輸入進(jìn)程的名稱和大小:"<<endl<<"->"; </p><p>  cin>>procname; </p><p>  cin>>proclength;</p><p>  for(i=0;i<

53、freelength;i++)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p><b>  { </b></p><p><b>  flag=1; </b></p>

54、<p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0)</p><p><b>  { </b></p><p>  cout<<endl<<"無滿足要求的空閑內(nèi)存,請

55、稍候再試"<<endl; </p><p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p><b>  t=0; </b></p><

56、;p><b>  i=0; </b></p><p>  while(t==0)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p><b>  { </b></p>

57、<p><b>  t=1; </b></p><p><b>  } </b></p><p><b>  i++; </b></p><p><b>  } </b></p><p><b>  i--; </b>&

58、lt;/p><p>  used[usedlength].startaddr=free[i].startaddr; </p><p>  strcat(used[usedlength].state,procname); </p><p>  used[usedlength].length=proclength; </p><p>  used[u

59、sedlength].tablenum=procnum;</p><p>  usedlength++;</p><p>  procnum++;</p><p>  if(free[i].length>proclength)</p><p>  { //空閑區(qū)域大于申請的區(qū)域</p><p>  free[i]

60、.startaddr+=proclength; </p><p>  free[i].length-=proclength; </p><p><b>  } </b></p><p><b>  else</b></p><p>  { //空閑區(qū)域等于申請的區(qū)域</p><p

61、>  for(j=i;j<freelength-1;j++)</p><p><b>  { </b></p><p>  free[j]=free[j+1]; </p><p><b>  } </b></p><p>  freelength--; </p><p

62、><b>  } </b></p><p>  cout<<"內(nèi)存空間分配成功"<<endl; </p><p><b>  } </b></p><p><b>  }</b></p><p>  void bestfit()

63、</p><p><b>  {</b></p><p>  //int procnum=0;</p><p>  char procname[20];</p><p>  int proclength;</p><p>  int i,j,flag,t;</p><p>

64、;  cout<<"輸入進(jìn)程的名稱和大小:"<<endl<<"->"; </p><p>  cin>>procname; </p><p>  cin>>proclength;</p><p><b>  flag=0; </b><

65、/p><p>  for(i=0;i<freelength;i++)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p><b>  { </b></p><p><b>

66、;  flag=1; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0)</p><p><b>  { </b></p><p>  cout<&l

67、t;endl<<"無滿足要求的空閑內(nèi)存,請稍候再試"<<endl; </p><p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p><b>

68、  t=0; </b></p><p><b>  i=0; </b></p><p>  while(t==0)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p>&

69、lt;b>  { </b></p><p><b>  t=1; </b></p><p><b>  } </b></p><p><b>  i++; </b></p><p><b>  } </b></p><

70、p><b>  i--; </b></p><p>  for(j=0;j<freelength;j++)</p><p><b>  { </b></p><p>  if((free[j].length>=proclength)&&(free[j].length<free[i].

71、length))</p><p><b>  { </b></p><p><b>  i=j; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  used[usedl

72、ength].startaddr=free[i].startaddr; </p><p>  strcat(used[usedlength].state,procname); </p><p>  used[usedlength].length=proclength;</p><p>  used[usedlength].tablenum=procnum;</

73、p><p>  usedlength++; </p><p>  procnum++;</p><p>  if(free[i].length>proclength)</p><p><b>  { </b></p><p>  free[i].startaddr+=proclength; &l

74、t;/p><p>  free[i].length-=proclength; </p><p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p>  for(j=i;j<f

75、reelength-1;j++)</p><p><b>  { </b></p><p>  free[j]=free[j+1]; </p><p><b>  } </b></p><p>  freelength--; </p><p><b>  } &l

76、t;/b></p><p>  cout<<"內(nèi)存空間分配成功"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void worstfit()</p><p>

77、;<b>  {</b></p><p>  //int procnum=0;</p><p>  char procname[20];</p><p>  int proclength;</p><p>  int i,j,flag,t;</p><p>  cout<<"

78、;輸入進(jìn)程的名稱和大小:"<<endl<<"->"; </p><p>  cin>>procname; </p><p>  cin>>proclength;</p><p><b>  flag=0; </b></p><p>  f

79、or(i=0;i<freelength;i++)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p><b>  { </b></p><p><b>  flag=1; </b>

80、;</p><p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0)</p><p><b>  { </b></p><p>  cout<<endl<<"

81、無滿足要求的空閑內(nèi)存,請稍候再試"<<endl; </p><p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p><b>  t=0; </b><

82、;/p><p><b>  i=0; </b></p><p>  while(t==0)</p><p><b>  { </b></p><p>  if(free[i].length>=proclength)</p><p><b>  { </b&g

83、t;</p><p><b>  t=1; </b></p><p><b>  } </b></p><p><b>  i++; </b></p><p><b>  } </b></p><p><b>  i--;

84、 </b></p><p>  for(j=0;j<freelength;j++)</p><p><b>  { </b></p><p>  if((free[j].length>=proclength)&&(free[j].length>free[i].length))</p>

85、<p><b>  { </b></p><p><b>  i=j; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  used[usedlength].startaddr=fre

86、e[i].startaddr; </p><p>  strcat(used[usedlength].state,procname); </p><p>  used[usedlength].length=proclength; </p><p>  used[usedlength].tablenum=procnum;</p><p>  u

87、sedlength++; </p><p>  procnum++;</p><p>  if(free[i].length>proclength)</p><p><b>  { </b></p><p>  free[i].startaddr+=proclength; </p><p>

88、  free[i].length-=proclength; </p><p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p>  for(j=i;j<freelength-1;j++)<

89、;/p><p><b>  { </b></p><p>  free[j]=free[j+1]; </p><p><b>  } </b></p><p>  freelength--; </p><p><b>  } </b></p&g

90、t;<p>  cout<<"內(nèi)存空間分配成功"<<endl;</p><p><b>  } </b></p><p><b>  }</b></p><p>  void terminal()</p><p><b>  {&l

91、t;/b></p><p>  char procname[20];</p><p>  int proclength;</p><p>  int i,j,flag,p=0;</p><p>  int start; </p><p>  int length;</p><p>  co

92、ut<<"輸入要結(jié)束的進(jìn)程名:"<<endl<<"->"; </p><p>  cin>>procname;</p><p>  char buffer[20];</p><p>  strcpy(buffer,"used ");</p>

93、<p>  strcat(buffer,procname);</p><p><b>  flag=-1; </b></p><p>  for(i=0;i<usedlength;i++)</p><p>  { //尋找指定名稱的作業(yè)</p><p>  if(!strcmp(used[i].stat

94、e,buffer))</p><p><b>  { </b></p><p><b>  flag=i; </b></p><p>  start=used[i].startaddr; </p><p>  length=used[i].length; </p><p>&

95、lt;b>  } </b></p><p><b>  } </b></p><p>  if(flag==-1)</p><p><b>  { </b></p><p>  cout<<"沒有這個進(jìn)程名"<<endl; </p&

96、gt;<p><b>  } </b></p><p><b>  else</b></p><p><b>  { </b></p><p>  for(i=0;i<freelength;i++)</p><p><b>  { </b&g

97、t;</p><p>  if((free[i].startaddr+free[i].length)==start)//與前邊的鄰接</p><p><b>  { </b></p><p>  if(((i+1)<freelength)&&(free[i+1].startaddr==start+length)) //分配

98、了一個空閑表表項</p><p><b>  {</b></p><p>  free[i].length=free[i].length+free[i+1].length+length; //三塊合并</p><p>  for(j=i+1;j<freelength;j++)</p><p><b>  

99、{ </b></p><p>  free[j]=free[j+1]; </p><p><b>  } </b></p><p>  freelength--; </p><p><b>  p=1; </b></p><p><b>  } <

100、/b></p><p>  else//兩塊合并</p><p><b>  { </b></p><p>  free[i].length+=length; </p><p><b>  p=1; </b></p><p><b>  } </b>

101、;</p><p><b>  } </b></p><p>  if(free[i].startaddr==(start+length))//與后邊鄰接</p><p><b>  { </b></p><p>  free[i].startaddr=start; </p><

102、p>  free[i].length+=length; </p><p><b>  p=1; </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  if(p==0)//既不與前鄰接,也不與后鄰接</p>

103、;<p><b>  { </b></p><p>  free[freelength].startaddr=start; </p><p>  free[freelength].length=length; </p><p>  free[freelength].tablenum=free[freelength-1].table

104、num+1;</p><p>  freelength++;</p><p><b>  }</b></p><p>  for(i=flag;i<usedlength;i++)</p><p><b>  { </b></p><p>  used[i]=us

105、ed[i+1]; </p><p><b>  } </b></p><p>  usedlength--; </p><p><b>  } </b></p><p><b>  }</b></p><p><b>  執(zhí)行文件名</b

106、></p><p>  三、實驗結(jié)果與分析(要有結(jié)果截圖)</p><p><b>  初始界面</b></p><p>  首次適應(yīng)算法創(chuàng)建進(jìn)程a 30</p><p>  最佳適應(yīng)算法創(chuàng)建進(jìn)程b 90</p><p>  最差適應(yīng)算法創(chuàng)建進(jìn)程c 100</p><p&

107、gt;<b>  結(jié)束進(jìn)程b</b></p><p>  邏輯地址轉(zhuǎn)換:輸入分區(qū)號2,找到了物理地址270</p><p><b>  退出程序</b></p><p><b>  四、設(shè)計總結(jié)</b></p><p><b>  可變分區(qū)存儲管理</b>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論