操作系統(tǒng)課程設(shè)計(jì)-頁(yè)面置換算法c語(yǔ)言_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  頁(yè)面置換算法的演示</b></p><p><b>  一.題目要求:</b></p><p>  設(shè)計(jì)一個(gè)虛擬存儲(chǔ)區(qū)和內(nèi)存工作區(qū),編程序演示下述算法的具體實(shí)現(xiàn)過(guò)程,并計(jì)算訪(fǎng)問(wèn)命中率:</p><p>  要求設(shè)計(jì)主界面以靈活選擇某算法,且以下算法都要實(shí)現(xiàn)</p><p&g

2、t;  1) 最佳置換算法(OPT):將以后永不使用的或許是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪(fǎng)問(wèn)的頁(yè)面換出。</p><p>  2) 先進(jìn)先出算法(FIFO):淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久的頁(yè)面予以淘汰。</p><p>  3) 最近最久未使用算法(LRU):淘汰最近最久未被使用的頁(yè)面。</p><p>  4) 最不經(jīng)常使用算法(LFU)<

3、;/p><p><b>  二.實(shí)驗(yàn)?zāi)康模?lt;/b></p><p>  1、用C語(yǔ)言編寫(xiě)OPT、FIFO、LRU,LFU四種置換算法。</p><p>  2、熟悉內(nèi)存分頁(yè)管理策略。</p><p>  3、了解頁(yè)面置換的算法。</p><p>  4、掌握一般常用的調(diào)度算法。</p>

4、<p>  5、根據(jù)方案使算法得以模擬實(shí)現(xiàn)。</p><p>  6、鍛煉知識(shí)的運(yùn)用能力和實(shí)踐能力。</p><p><b>  三.相關(guān)知識(shí):</b></p><p>  1.虛擬存儲(chǔ)器的引入:</p><p>  局部性原理:程序在執(zhí)行時(shí)在一較短時(shí)間內(nèi)僅限于某個(gè)部分;相應(yīng)的,它所訪(fǎng)問(wèn)的存儲(chǔ)空間也局限于某個(gè)區(qū)

5、域,它主要表現(xiàn)在以下兩個(gè)方面:時(shí)間局限性和空間局限性。</p><p>  2.虛擬存儲(chǔ)器的定義:</p><p>  虛擬存儲(chǔ)器是只具有請(qǐng)求調(diào)入功能和置換功能,能從邏輯上對(duì)內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。</p><p>  3.虛擬存儲(chǔ)器的實(shí)現(xiàn)方式:</p><p>  分頁(yè)請(qǐng)求系統(tǒng),它是在分頁(yè)系統(tǒng)的基礎(chǔ)上,增加了請(qǐng)求調(diào)頁(yè)功能、頁(yè)面置換

6、功能所形成的頁(yè)面形式虛擬存儲(chǔ)系統(tǒng)。</p><p>  請(qǐng)求分段系統(tǒng),它是在分段系統(tǒng)的基礎(chǔ)上,增加了請(qǐng)求調(diào)段及分段置換功能后,所形成的段式虛擬存儲(chǔ)系統(tǒng)。</p><p><b>  4.頁(yè)面分配:</b></p><p>  平均分配算法,是將系統(tǒng)中所有可供分配的物理塊,平均分配給各個(gè)進(jìn)程。</p><p>  按比例分

7、配算法,根據(jù)進(jìn)程的大小按比例分配物理塊。</p><p>  考慮優(yōu)先的分配算法,把內(nèi)存中可供分配的所有物理塊分成兩部分:一部分按比例地分配給各進(jìn)程;另一部分則根據(jù)個(gè)進(jìn)程的優(yōu)先權(quán),適當(dāng)?shù)脑黾悠湎鄳?yīng)份額后,分配給各進(jìn)程。</p><p><b>  5.頁(yè)面置換算法:</b></p><p>  常用的頁(yè)面置換算法有OPT、FIFO、LRU、Cl

8、ock、LFU、PBA等。</p><p><b>  四.設(shè)計(jì)思想:</b></p><p>  選擇置換算法,先輸入所有頁(yè)面號(hào),為系統(tǒng)分配物理塊,依次進(jìn)行置換:</p><p><b>  OPT基本思想:</b></p><p>  是用一維數(shù)組page[pSIZE]存儲(chǔ)頁(yè)面號(hào)序列,memer

9、y[mSIZE]是存儲(chǔ)裝入物理塊中的頁(yè)面。數(shù)組next[mSIZE]記錄物理塊中對(duì)應(yīng)頁(yè)面的最后訪(fǎng)問(wèn)時(shí)間。每當(dāng)發(fā)生缺頁(yè)時(shí),就從物理塊中找出最后訪(fǎng)問(wèn)時(shí)間最大的頁(yè)面,調(diào)出該頁(yè),換入所缺的頁(yè)面。</p><p><b>  【特別聲明】</b></p><p>  若物理塊中的頁(yè)面都不再使用,則每次都置換物理塊中第一個(gè)位置的頁(yè)面。</p><p>&l

10、t;b>  FIFO基本思想:</b></p><p>  是用隊(duì)列存儲(chǔ)內(nèi)存中的頁(yè)面,隊(duì)列的特點(diǎn)是先進(jìn)先出,與該算法是一致的,所以每當(dāng)發(fā)生缺頁(yè)時(shí),就從隊(duì)頭刪除一頁(yè),而從隊(duì)尾加入缺頁(yè)?;蛘呓柚o助數(shù)組time[mSIZE]記錄物理塊中對(duì)應(yīng)頁(yè)面的進(jìn)入時(shí)間,每次需要置換時(shí)換出進(jìn)入時(shí)間最小的頁(yè)面。</p><p><b>  LRU基本思想:</b><

11、/p><p>  是用一維數(shù)組page[pSIZE]存儲(chǔ)頁(yè)面號(hào)序列,memery[mSIZE]是存儲(chǔ)裝入物理塊中的頁(yè)面。數(shù)組flag[10]標(biāo)記頁(yè)面的訪(fǎng)問(wèn)時(shí)間。每當(dāng)使用頁(yè)面時(shí),刷新訪(fǎng)問(wèn)時(shí)間。發(fā)生缺頁(yè)時(shí),就從物理塊中頁(yè)面標(biāo)記最小的一頁(yè),調(diào)出該頁(yè),換入所缺的頁(yè)面。</p><p><b>  五.流程圖:</b></p><p><b>  

12、如下頁(yè)所示</b></p><p><b>  六.源代碼:</b></p><p>  如下頁(yè)所示【使用C語(yǔ)言】</p><p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p><b&

13、gt;  /*全局變量*/</b></p><p>  int mSIZE; /*物理塊數(shù)*/</p><p>  int pSIZE; /*頁(yè)面號(hào)引用串個(gè)數(shù)*/</p><p>  static int memery[10]={0}; /*物理塊中的頁(yè)號(hào)*/</p><p>  static int page[100]={0};

14、 /*頁(yè)面號(hào)引用串*/</p><p>  static int temp[100][10]={0}; /*輔助數(shù)組*/</p><p>  /*置換算法函數(shù)*/</p><p>  void FIFO();</p><p>  void LRU();</p><p>  void OPT();</p>

15、<p><b>  /*輔助函數(shù)*/</b></p><p>  void print(unsigned int t);</p><p>  void designBy();</p><p>  void download();</p><p>  void mDelay(unsigned int Delay)

16、;</p><p><b>  /*主函數(shù)*/</b></p><p>  void main()</p><p><b>  {</b></p><p>  int i,k,code;</p><p>  system("color 0A");</

17、p><p>  designBy();</p><p>  printf("┃請(qǐng)按任意鍵進(jìn)行初始化操作... ┃\n");</p><p>  printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");</p><p>  printf(&q

18、uot; >>>");</p><p><b>  getch();</b></p><p>  system("cls");</p><p>  system("color 0B");</p><p>  printf("請(qǐng)輸入物理塊的個(gè)數(shù)(

19、M<=10):");</p><p>  scanf("%d",&mSIZE);</p><p>  printf("請(qǐng)輸入頁(yè)面號(hào)引用串的個(gè)數(shù)(P<=100):");</p><p>  scanf("%d",&pSIZE);</p><p> 

20、 puts("請(qǐng)依次輸入頁(yè)面號(hào)引用串(連續(xù)輸入,無(wú)需隔開(kāi)):");</p><p>  for(i=0;i<pSIZE;i++)</p><p>  scanf("%1d",&page[i]);</p><p>  download();</p><p>  system("cl

21、s");</p><p>  system("color 0E");</p><p><b>  do{ </b></p><p>  puts("輸入的頁(yè)面號(hào)引用串為:");</p><p>  for(k=0;k<=(pSIZE-1)/20;k++)</p

22、><p><b>  {</b></p><p>  for(i=20*k;(i<pSIZE)&&(i<20*(k+1));i++)</p><p><b>  {</b></p><p>  if(((i+1)%20==0)||(((i+1)%20)&&(i

23、==pSIZE-1)))</p><p>  printf("%d\n",page[i]);</p><p><b>  else</b></p><p>  printf("%d ",page[i]);</p><p><b>  }</b></p

24、><p><b>  }</b></p><p>  printf("* * * * * * * * * * * * * * * * * * * * * * *\n");</p><p>  printf("* 請(qǐng)選擇頁(yè)面置換算法:\t\t\t *\n");</p><p>  

25、printf("* ----------------------------------------- *\n");</p><p>  printf("* 1.先進(jìn)先出(FIFO) 2.最近最久未使用(LRU) *\n");</p><p>  printf("* 3.最佳(OPT) 4.退出

26、 *\n");</p><p>  printf("* * * * * * * * * * * * * * * * * * * * * * *\n");</p><p>  printf("請(qǐng)選擇操作:[ ]\b\b");</p><p>  scanf("%d",&code);&l

27、t;/p><p>  switch(code)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  FIFO();</b></p><p><b>  break;</b&g

28、t;</p><p><b>  case 2:</b></p><p><b>  LRU();</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p><

29、;b>  OPT();</b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  system("cls");</p><p>  system("color 0A");

30、</p><p>  designBy(); /*顯示設(shè)計(jì)者信息后退出*/</p><p>  printf("┃謝謝使用頁(yè)面置換算法演示器! 正版授權(quán) ㊣┃\n");</p><p>  printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");</p><p&

31、gt;<b>  exit(0);</b></p><p><b>  default:</b></p><p>  printf("輸入錯(cuò)誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p>  printf("按任意鍵

32、重新選擇置換算法:>>>");</p><p><b>  getch();</b></p><p>  system("cls");</p><p>  }while (code!=4);</p><p><b>  getch();</b><

33、/p><p><b>  }</b></p><p><b>  /*載入數(shù)據(jù)*/</b></p><p>  void download()</p><p><b>  {</b></p><p><b>  int i;</b>&l

34、t;/p><p>  system("color 0D");</p><p>  printf("╔════════════╗\n");</p><p>  printf("║正在載入數(shù)據(jù),請(qǐng)稍候 !!!║\n");</p><p>  printf("╚═══════════

35、═╝\n");</p><p>  printf("Loading...\n");</p><p>  printf(" O");</p><p>  for(i=0;i<51;i++)</p>&l

36、t;p>  printf("\b");</p><p>  for(i=0;i<50;i++)</p><p><b>  {</b></p><p>  mDelay((pSIZE+mSIZE)/2);</p><p>  printf(">");</p&

37、gt;<p><b>  }</b></p><p>  printf("\nFinish.\n載入成功,按任意鍵進(jìn)入置換算法選擇界面:>>>");</p><p><b>  getch();</b></p><p><b>  }</b><

38、/p><p><b>  /*設(shè)置延遲*/</b></p><p>  void mDelay(unsigned int Delay)</p><p><b>  { </b></p><p>  unsigned int i; </p><p>  for(;Delay>

39、0;Delay--) </p><p><b>  { </b></p><p>  for(i=0;i<124;i++) </p><p><b>  {</b></p><p>  printf(" \b");</p><p><b&g

40、t;  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  /*顯示設(shè)計(jì)者信息*/ </p><p>  void designBy()</p><p><b>  {</b>&

41、lt;/p><p>  printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p>  printf("┃㊣ 課題三:頁(yè)面置換算法 ㊣┃\n");</p><p>  printf("┃ 學(xué)號(hào):081001

42、117 ┃\n");</p><p>  printf("┃ 姓名:邢磊 <Visual C++ 6.0>┃\n");</p><p>  printf("┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n");</p><

43、;p><b>  }</b></p><p>  void print(unsigned int t)</p><p><b>  {</b></p><p>  int i,j,k,l;</p><p><b>  int flag;</b></p>&l

44、t;p>  for(k=0;k<=(pSIZE-1)/20;k++)</p><p><b>  {</b></p><p>  for(i=20*k;(i<pSIZE)&&(i<20*(k+1));i++)</p><p><b>  {</b></p><p&

45、gt;  if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))</p><p>  printf("%d\n",page[i]);</p><p><b>  else</b></p><p>  printf("%d ",page[i]);<

46、;/p><p><b>  }</b></p><p>  for(j=0;j<mSIZE;j++)</p><p><b>  {</b></p><p>  for(i=20*k;(i<mSIZE+20*k)&&(i<pSIZE);i++)</p>&

47、lt;p><b>  {</b></p><p><b>  if(i>=j)</b></p><p>  printf(" |%d|",temp[i][j]);</p><p><b>  else</b></p><p>  printf(&

48、quot; | |");</p><p><b>  }</b></p><p>  for(i=mSIZE+20*k;(i<pSIZE)&&(i<20*(k+1));i++)</p><p><b>  {</b></p><p>  for(flag=0,l

49、=0;l<mSIZE;l++)</p><p>  if(temp[i][l]==temp[i-1][l])</p><p><b>  flag++;</b></p><p>  if(flag==mSIZE)/*頁(yè)面在物理塊中*/</p><p>  printf(" ");</

50、p><p><b>  else</b></p><p>  printf(" |%d|",temp[i][j]);</p><p><b>  }</b></p><p>  /*每行顯示20個(gè)*/</p><p>  if(i%20==0)</p&g

51、t;<p><b>  continue;</b></p><p>  printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("---------

52、-------------------------------\n");</p><p>  printf("缺頁(yè)次數(shù):%d\t\t",t+mSIZE);</p><p>  printf("缺頁(yè)率:%d/%d\n",t+mSIZE,pSIZE);</p><p>  printf("置換次數(shù):%d\t\t

53、",t);</p><p>  printf("訪(fǎng)問(wèn)命中率:%d%%\n",(pSIZE-(t+mSIZE))*100/pSIZE);</p><p>  printf("----------------------------------------\n");</p><p><b>  }</b

54、></p><p>  /*計(jì)算過(guò)程延遲*/</p><p>  void compute()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  printf("正在進(jìn)行相關(guān)計(jì)算,請(qǐng)稍候")

55、;</p><p>  for(i=1;i<20;i++)</p><p><b>  {</b></p><p>  mDelay(15);</p><p>  if(i%4==0)</p><p>  printf("\b\b\b\b\b\b \b\b\b\b\b\b

56、");</p><p><b>  else</b></p><p>  printf("Θ");</p><p><b>  }</b></p><p>  for(i=0;i++<30;printf("\b"));</p>&

57、lt;p>  for(i=0;i++<30;printf(" "));</p><p>  for(i=0;i++<30;printf("\b"));</p><p><b>  }</b></p><p>  /*先進(jìn)先出頁(yè)面置換算法*/</p><p>  v

58、oid FIFO()</p><p><b>  {</b></p><p>  int memery[10]={0};</p><p>  int time[10]={0}; /*記錄進(jìn)入物理塊的時(shí)間*/</p><p>  int i,j,k,m;</p><p>  int max=0; /

59、*記錄換出頁(yè)*/</p><p>  int count=0; /*記錄置換次數(shù)*/</p><p>  /*前mSIZE個(gè)數(shù)直接放入*/</p><p>  for(i=0;i<mSIZE;i++)</p><p><b>  {</b></p><p>  memery[i]=page[

60、i];</p><p>  time[i]=i;</p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];</p><p><b>  }</b></p><p>  for(i=mSIZE;i<pSIZE;i++)&

61、lt;/p><p><b>  {</b></p><p>  /*判斷新頁(yè)面號(hào)是否在物理塊中*/</p><p>  for(j=0,k=0;j<mSIZE;j++)</p><p><b>  {</b></p><p>  if(memery[j]!=page[i])

62、</p><p><b>  k++;</b></p><p><b>  }</b></p><p>  if(k==mSIZE) /*如果不在物理塊中*/</p><p><b>  {</b></p><p><b>  count++;

63、</b></p><p><b>  /*計(jì)算換出頁(yè)*/</b></p><p>  max=time[0]<time[1]?0:1;</p><p>  for(m=2;m<mSIZE;m++)</p><p>  if(time[m]<time[max])</p><

64、p><b>  max=m;</b></p><p>  memery[max]=page[i];</p><p>  time[max]=i; /*記錄該頁(yè)進(jìn)入物理塊的時(shí)間*/</p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];<

65、;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];&

66、lt;/p><p><b>  } </b></p><p><b>  }</b></p><p>  compute();</p><p>  print(count);</p><p><b>  }</b></p><p> 

67、 /*最近最久未使用置換算法*/</p><p>  void LRU()</p><p><b>  {</b></p><p>  int memery[10]={0};</p><p>  int flag[10]={0}; /*記錄頁(yè)面的訪(fǎng)問(wèn)時(shí)間*/</p><p>  int i,j,k

68、,m;</p><p>  int max=0; /*記錄換出頁(yè)*/</p><p>  int count=0; /*記錄置換次數(shù)*/</p><p>  /*前mSIZE個(gè)數(shù)直接放入*/</p><p>  for(i=0;i<mSIZE;i++)</p><p><b>  {</b>

69、</p><p>  memery[i]=page[i];</p><p>  flag[i]=i;</p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];</p><p><b>  }</b></p>&

70、lt;p>  for(i=mSIZE;i<pSIZE;i++)</p><p><b>  {</b></p><p>  /*判斷新頁(yè)面號(hào)是否在物理塊中*/</p><p>  for(j=0,k=0;j<mSIZE;j++)</p><p><b>  {</b></p&

71、gt;<p>  if(memery[j]!=page[i])</p><p><b>  k++;</b></p><p><b>  else </b></p><p>  flag[j]=i; /*刷新該頁(yè)的訪(fǎng)問(wèn)時(shí)間*/</p><p><b>  }</b>

72、;</p><p>  if(k==mSIZE) /*如果不在物理塊中*/</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  /*計(jì)算換出頁(yè)*/</b></p><p>  max=

73、flag[0]<flag[1]?0:1;</p><p>  for(m=2;m<mSIZE;m++)</p><p>  if(flag[m]<flag[max])</p><p><b>  max=m;</b></p><p>  memery[max]=page[i];</p>&

74、lt;p>  flag[max]=i; /*記錄該頁(yè)的訪(fǎng)問(wèn)時(shí)間*/</p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];</p><p><b>  }</b></p><p><b>  else</b></

75、p><p><b>  {</b></p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];</p><p><b>  }</b></p><p><b>  }</b></p

76、><p>  compute();</p><p>  print(count);</p><p><b>  }</b></p><p>  /*最佳置換算法*/</p><p>  void OPT()</p><p><b>  {</b></

77、p><p>  int memery[10]={0};</p><p>  int next[10]={0}; /*記錄下一次訪(fǎng)問(wèn)時(shí)間*/</p><p>  int i,j,k,l,m;</p><p>  int max; /*記錄換出頁(yè)*/</p><p>  int count=0; /*記錄置換次數(shù)*/</

78、p><p>  /*前mSIZE個(gè)數(shù)直接放入*/</p><p>  for(i=0;i<mSIZE;i++)</p><p><b>  {</b></p><p>  memery[i]=page[i];</p><p>  for(j=0;j<mSIZE;j++)</p>

79、<p>  temp[i][j]=memery[j];</p><p><b>  }</b></p><p>  for(i=mSIZE;i<pSIZE;i++)</p><p><b>  {</b></p><p>  /*判斷新頁(yè)面號(hào)是否在物理塊中*/</p>

80、<p>  for(j=0,k=0;j<mSIZE;j++)</p><p><b>  {</b></p><p>  if(memery[j]!=page[i])</p><p><b>  k++;</b></p><p><b>  }</b><

81、;/p><p>  if(k==mSIZE) /*如果不在物理塊中*/</p><p><b>  {</b></p><p><b>  count++;</b></p><p>  /*得到物理快中各頁(yè)下一次訪(fǎng)問(wèn)時(shí)間*/</p><p>  for(m=0;m<mSIZ

82、E;m++)</p><p><b>  {</b></p><p>  for(l=i+1;l<pSIZE;l++)</p><p>  if(memery[m]==page[l])</p><p><b>  break;</b></p><p>  next[m]

83、=l;</p><p><b>  }</b></p><p><b>  /*計(jì)算換出頁(yè)*/</b></p><p>  max=next[0]>=next[1]?0:1;</p><p>  for(m=2;m<mSIZE;m++)</p><p>  if(

84、next[m]>next[max])</p><p><b>  max=m;</b></p><p>  /*下一次訪(fǎng)問(wèn)時(shí)間都為pSIZE,則置換物理塊中第一個(gè)*/</p><p>  memery[max]=page[i];</p><p>  for(j=0;j<mSIZE;j++)</p>

85、<p>  temp[i][j]=memery[j];</p><p><b>  }</b></p><p><b>  else {</b></p><p>  for(j=0;j<mSIZE;j++)</p><p>  temp[i][j]=memery[j];</

86、p><p><b>  }</b></p><p><b>  }</b></p><p>  compute();</p><p>  print(count);</p><p><b>  }</b></p><p><b&

87、gt;  七.運(yùn)行結(jié)果:</b></p><p>  【運(yùn)行環(huán)境——Visual C++ 6.0】</p><p>  1. 按任意鍵進(jìn)行初始化:</p><p><b>  2. 載入數(shù)據(jù):</b></p><p>  3. 進(jìn)入置換算法選擇界面:</p><p>  4.運(yùn)算中延遲

88、操作:</p><p>  5.三種算法演示結(jié)果:</p><p><b>  6.退出界面:</b></p><p><b>  八.參考文獻(xiàn):</b></p><p>  1. 嚴(yán)蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu). 清華大學(xué)出版社, 2005.11</p><p>  2. 譚

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論