操作系統課程設計報告--磁盤調度算法_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計報告</b></p><p>  題 目 磁盤調度算法 </p><p>  課 程 名 稱 操作系統課程設計 </p><p>  院 部 名 稱 信息技術學院 </p>

2、;<p>  專 業(yè) 計算機科學與技術 </p><p>  班 級 09計算機科學與技術(1) </p><p>  學 生 姓 名 </p><p>  學 號 </

3、p><p>  課程設計地點 </p><p>  課程設計學時 </p><p>  指 導 教 師 </p><p>  【注:根據課程設計大綱第四項具體要求撰寫課程設計報告】</p

4、><p>  程序設計的目的和要求</p><p>  磁盤是經常使用的一個外設,對磁盤數據的尋道時間的長短直接影響機器的整體運行速度,本設計要求用C語言(或高級語言)編寫程序模擬實現磁盤調度的常用算法。以加深對磁盤調度常用算法的理解和實現技巧。</p><p><b>  課程設計環(huán)境要求</b></p><p><

5、b>  1、硬件環(huán)境</b></p><p>  Intel Croe 2 Duo CPU</p><p><b>  2、軟件環(huán)境</b></p><p>  Windows7 Turbo C 2.0</p><p>  設計任務介紹及系統需求分析</p><p><

6、b>  1、系統分析</b></p><p>  設備的動態(tài)分配算法與進程調度相似,也是基于一定的分配策略的。常用的分配策略有先請求先分配、優(yōu)先級高者先分配等策略。在多道程序系統中,低效率通常是由于磁盤類旋轉設備使用不當造成的。操作系統中,對磁盤的訪問要求來自多方面,常常需要排隊。這時,對眾多的訪問要求按一定的次序響應,會直接影響磁盤的工作效率,進而影響系統的性能。訪問磁盤的時間因子由3部分構成

7、,它們是查找(查找磁道)時間、等待(旋轉等待扇區(qū))時間和數據傳輸時間,其中查找時間是決定因素。因此,磁盤調度算法先考慮優(yōu)化查找策略,需要時再優(yōu)化旋轉等待策略。</p><p><b>  2、系統設計:</b></p><p>  (1) 先來先服務.(First-Come,First-Served,FCFS):</p><p>  這是一種簡

8、單的磁盤調度算法。它根據進程請求訪問磁盤的先后次序進行調度。此算法的優(yōu)點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況。但此算法由于未對尋道進行優(yōu)化,致使平均尋道時間可能較長。</p><p>  (2) 最短尋道時間優(yōu)先(ShortestSeekTimeFirst,SSTF):</p><p>  該算法選擇這樣的進程,其要求訪問的磁道與當前磁

9、頭所在的磁道距離最近,以使每次的尋道時間最短,但這種調度算法卻不能保證平均尋道時間最短。</p><p>  (3) 掃描(SCAN)算法:</p><p>  SCAN算法不僅考慮到欲訪問的磁道與當前磁道的距離,更優(yōu)先考慮的是磁頭的當前移動方向。例如,當磁頭正在自里向外移動時,SCAN算法所選擇的下一個訪問對象應是其欲訪問的磁道既在當前磁道之外,又是距離最近的。這樣自里向外地訪問,直到再

10、無更外的磁道需要訪問才將磁臂換向,自外向里移動。這時,同樣也是每次選擇這樣的進程來調度,即其要訪問的磁道,在當前磁道之內,從而避免了饑餓現象的出現。由于這種算法中磁頭移動的規(guī)律頗似電梯的運行,故又稱為電梯調度算法。</p><p><b>  四、概要設計</b></p><p>  本系統劃分為三個模塊:先來先服務算法模塊void FCFS(int array[],

11、int m)、最短尋道時間優(yōu)先算法模塊void SSTF(int array[],int m)、掃描算法模塊void SCAN(int array[],int m)。</p><p><b>  系統模塊圖</b></p><p><b>  五、詳細設計</b></p><p>  1、先來先服務(FCFS)</p

12、><p>  這是一種簡單的磁盤調度算法。它根據進程請求訪問磁盤的先后次序進行調度。此算法的優(yōu)點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況。但此算法由于未對尋道進行優(yōu)化,致使平均尋道時間可能較長。</p><p>  先來先服務算法(FCFS)流程圖:</p><p>  2、最短尋道時間優(yōu)先(SSTF)</p>

13、;<p>  該算法選擇這樣的進程,其要求訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短,但這種調度算法卻不能保證平均尋道時間最短。</p><p>  最短尋道時間優(yōu)先流程圖:</p><p>  3、掃描算法(SCAN)</p><p>  SCAN算法不僅考慮到欲訪問的磁道與當前磁道的距離,更優(yōu)先考慮的是磁頭的當前移動方向。例如,

14、當磁頭正在自里向外移動時,SCAN算法所選擇的下一個訪問對象應是其欲訪問的磁道既在當前磁道之外,又是距離最近的。這樣自里向外地訪問,直到再無更外的磁道需要訪問才將磁臂換向,自外向里移動。這時,同樣也是每次選擇這樣的進程來調度,即其要訪問的磁道,在當前磁道之內,從而避免了饑餓現象的出現。由于這種算法中磁頭移動的規(guī)律頗似電梯的運行,故又稱為電梯調度算法。</p><p><b>  六、測試數據和結果<

15、;/b></p><p>  1、先來先服務調度(FCFS)輸入起始磁道(你可以輸入50),點確定,進入第二個界面,再輸入你要輸入的最大磁道(你可以輸入100),然后點確定。選擇磁盤調度算法1 2 3 中的任意一個,若選擇1后確認,則隨機輸出10個小于100的磁道數(41 67 34 0 69 24 78 58 62 64),則先來先服務調度(FCFS)輸出:(41 67 34 0 69 24 78 58

16、 62 64),在選擇1或者0,選著1則繼續(xù)其它算法的磁盤調度,選著0則結束磁盤調度</p><p><b>  運行結果圖:</b></p><p>  2、最短尋道時間優(yōu)先調度(SSTF) 輸入起始磁道(你可以輸入50),點確定,進入第二個界面,再輸入你要輸入的最大磁道(你可以輸入100),然后點確定。選擇磁盤調度算法1 2 3 中的任意一個,若選擇2后確認

17、,則隨機輸出10個小于100的磁道數 (41 67 34 0 69 24 78 58 62 64) ,則最短尋道時間優(yōu)先調度(SSTF):(58 62 64 67 69 78 41 34 24 0) 。在選擇1或者0,選著1則繼續(xù)其它算法的磁盤調度,選著0則結束磁盤調度</p><p><b>  運行結果圖:</b></p><p>  3、掃描調度算法(

18、SCAN) 輸入起始磁道(你可以輸入50),點確定,進入第二個界面,再輸入你要輸入的最大磁道(你可以輸入100),然后點確定。選擇磁盤調度算法1 2 3 中的任意一個,若選擇3后確認,則隨機輸出10個小于100的磁道數 :(41 67 34 0 69 24 78 58 62 64),則掃描調度算法(SCAN):(58 62 64 67 69 78 41 34 24 0) 。</p><p><

19、;b>  七、結論與體會</b></p><p>  至此,計算機操作系統課程設計算法已經完成。此次設計基本完成了所規(guī)定的功能,但由于這次設計的時間比較倉促,其中不免會有些紕漏,比如在程序的實現上還不夠嚴謹,出錯處理不夠完善等多方面問題,這些都有進一步改善。由于平時上課不是很認真許多概念沒有理解清楚,導致在做設計時有點無從下手的感覺,只好邊實驗邊看書直到弄懂概念后才開始做,最終在同學和老師的指導

20、下我完成了設計。</p><p>  此設計基本能夠實現規(guī)定的要求但是還是不夠完善,很多東西做的不夠好,程序不夠完善和嚴謹。此次課程設計中我學到了很多東西,無論在理論上還是實踐中,都得到不少的提高,這對于我以后的工作和學習都有一種巨大的幫助。</p><p><b>  八、參考文獻</b></p><p>  胡志剛,譚長庚等. 《計算機操作

21、系統》.中南大學出版社. 2005</p><p>  湯子瀛、哲鳳屏、湯小丹. 《計算機操作系統》.西安電子科技大學出版社, 2001,8.</p><p>  陳向群 楊芙清.《操作系統教程》. 北京大學出版社,2004,7.</p><p>  張堯學 史美林.《計算機操作系統教程》. 清華大學出版社, 2000.</p><p>  

22、龐麗萍.《操作系統原理》(第三版). 華中理工大學出版社,2000.</p><p>  羅宇,鄒鵬等.《操作系統》(第2版). 電子工業(yè)出版社. 2007.4</p><p><b>  附件:源程序清單</b></p><p>  #include "stdio.h"</p><p>  #inc

23、lude "stdlib.h"</p><p>  void CopyL(int Sour[],int Dist[] ,int x); //數組Sour復制到數組Dist,復制到x個數</p><p>  void SetDI(int DiscL[]); //隨機生成磁道數 </p><p>  void Print(int Pri[],in

24、t x); //打印輸出數組Pri</p><p>  void DelInq(int Sour[],int x,int y); //數組Sour把x位置的數刪除,并把y前面的數向前移動,y后的數保持不變(即會出現2個y) </p><p>  void FCFS(int Han,int DiscL[]); //先來先服務算法(FCFS)</p><p>  

25、void SSTF(int Han,int DiscL[]); //最短尋道時間優(yōu)先算法(SSTF)</p><p>  int SCAN(int Han,int DiscL[],int x,int y); //掃描算法(SCAN)</p><p>  void CSCAN(int Han,int DiscL[]); //循環(huán)掃描算法(CSCAN)</p><p&

26、gt;  void PaiXu(); //尋道長度由低到高排序</p><p>  void Pri();</p><p>  int NAll=0;</p><p>  int Best[5][2]; //用作尋道長度由低到高排序時存放的數組 </p><p>  int Limit=0; //輸入尋找的范圍磁道數i</p>

27、<p><b>  int Jage;</b></p><p>  float Aver=0;</p><p>  int main()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>

28、;  int DiscLine[10]; //聲明準備要生成的隨機磁道號的數組</p><p>  int Hand; //磁道數</p><p>  int Con=1;</p><p><b>  int n;</b></p><p>  while(Con==1)</p><p><

29、;b>  {</b></p><p><b>  Jage=0;</b></p><p>  printf("\n 請輸入初始的磁道數:");</p><p>  scanf("%d",&Hand);</p><p>  printf("\n+

30、輸入尋找的范圍:");</p><p>  scanf("%d",&Limit);</p><p>  if(Limit>65536){</p><p>  printf("超出磁道范圍!");</p><p><b>  } </b></p>

31、<p><b>  else{</b></p><p>  printf("1.先來先服務算法(FCFS )\n");</p><p>  printf("2.最短尋道時間優(yōu)先算法(SSTF)\n");</p><p>  printf("3.掃描算法(SCAN) \n&qu

32、ot;);</p><p>  scanf("%d",&n);</p><p>  if(n==0) exit(0);</p><p>  printf("\n");</p><p><b>  switch(n)</b></p><p><b

33、>  {</b></p><p><b>  case 1:</b></p><p>  SetDI(DiscLine); //隨機生成磁道數</p><p>  FCFS(Hand,DiscLine); //先來先服務算法(FCFS)</p><p><b>  break;</b&

34、gt;</p><p><b>  case 2:</b></p><p>  SetDI(DiscLine); //隨機生成磁道數</p><p>  SSTF(Hand,DiscLine); //最短尋道時間優(yōu)先算法(SSTF)</p><p><b>  break;</b></p&g

35、t;<p><b>  case 3:</b></p><p>  SetDI(DiscLine); //隨機生成磁道數</p><p>  SCAN(Hand,DiscLine,0,9); //掃描算法(SCAN)</p><p><b>  break;</b></p><p>

36、;  SetDI(DiscLine); //隨機生成磁道數</p><p>  FCFS(Hand,DiscLine); //先來先服務算法(FCFS)</p><p>  SSTF(Hand,DiscLine); //最短尋道時間優(yōu)先算法(SSTF)</p><p>  SCAN(Hand,DiscLine,0,9); //掃描算法(SCAN)</p>

37、;<p><b>  }</b></p><p>  printf("\n\n+ 是否繼續(xù)(按0結束,按1繼續(xù))?");</p><p>  scanf("%5d",&Con);</p><p><b>  }</b></p><p>&

38、lt;b>  }</b></p><p><b>  }</b></p><p>  //數組Sour復制到數組Dist,復制到x個數</p><p>  void CopyL(int Sour[],int Dist[] ,int x)</p><p><b>  {</b><

39、;/p><p><b>  int i;</b></p><p>  for(i=0;i<=x;i++)</p><p><b>  {</b></p><p>  Dist[i]=Sour[i];</p><p><b>  }</b></p&

40、gt;<p><b>  }</b></p><p>  //打印輸出數組Pri</p><p>  void Print(int Pri[],int x)</p><p><b>  {</b></p><p><b>  int i;</b></p>

41、;<p>  for(i=0;i<=x;i++)</p><p><b>  {</b></p><p>  printf("%5d",Pri[i]);</p><p><b>  }</b></p><p><b>  }</b><

42、;/p><p><b>  //隨機生成磁道數</b></p><p>  void SetDI(int DiscL[])</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=0;i<

43、;=9;i++)</p><p><b>  {</b></p><p>  DiscL[i]=rand()%Limit;//隨機生成10個磁道號</p><p><b>  }</b></p><p>  printf("+ 需要尋找的磁道號:");</p>&l

44、t;p>  Print(DiscL,9); //輸出隨機生成的磁道號</p><p>  printf("\n");</p><p><b>  }</b></p><p>  //數組Sour把x位置的數刪除,并把y前面的數向前移動,y后的數保持不變(即會出現2個y) </p><p>  

45、void DelInq(int Sour[],int x,int y)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=x;i<y;i++)</p><p><b>  { </b></p&g

46、t;<p>  Sour[i]=Sour[i+1];</p><p><b>  x++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //先來先服務算法(FCFS)</p><p

47、>  void FCFS(int Han,int DiscL[])</p><p><b>  {</b></p><p>  int RLine[10]; //將隨機生成的磁道數數組Discl[]復制給數組RLine[]</p><p>  int i,k,All,Temp; //Temp是計算移動的磁道距離的臨時變量</p&

48、gt;<p>  All=0; //統計全部的磁道數變量</p><p>  k=9; //限定10個的磁道數</p><p>  CopyL(DiscL,RLine,9); //復制磁道號到臨時數組RLine</p><p>  printf("\n+ FCFS訪問順序為:");</p><p>  

49、All=Han-RLine[0];</p><p>  for(i=0;i<=9;i++)</p><p><b>  {</b></p><p>  Temp=RLine[0]-RLine[1];//求出移動磁道數,前一個磁道數減去后一個磁道數得出臨時的移動距離</p><p>  if(Temp<0) &

50、lt;/p><p>  Temp=(-Temp);//移動磁道數為負數時,算出相反數作為移動磁道數</p><p>  printf("%5d",RLine[0]);</p><p>  All=Temp+All;//求全部磁道數的總和 </p><p>  DelInq(RLine,0,k);//每個磁道數向前移動一位<

51、;/p><p><b>  k--;</b></p><p><b>  }</b></p><p>  Best[Jage][1]=All;//Best[][1]存放移動磁道數 </p><p>  Best[Jage][0]=1; //Best[][0]存放算法的序號為:1 </p>

52、<p>  Jage++;//排序的序號加1</p><p>  Aver=((float) All)/10;//求平均尋道次數 </p><p>  printf("\n+ 移動磁道數:<%5d> ",All);</p><p>  printf("\n+ 平均尋道長度:*%0.2f* ",Aver);

53、</p><p><b>  }</b></p><p>  //最短尋道時間優(yōu)先算法(SSTF)</p><p>  void SSTF(int Han,int DiscL[])</p><p><b>  {</b></p><p>  int i,j,k,h,All;&

54、lt;/p><p>  int Temp; //Temp是計算移動的磁道距離的臨時變量</p><p>  int RLine[10]; //將隨機生成的磁道數數組Discl[]復制給數組RLine[]</p><p><b>  int Min;</b></p><p>  All=0; //統計全部的磁道數變量&

55、lt;/p><p>  k=9; //限定10個的磁道數</p><p>  CopyL(DiscL,RLine,9); //復制磁道號到臨時數組RLine</p><p>  printf("\n+ SSTF訪問順序為:");</p><p>  for(i=0;i<=9;i++)</p><p

56、><b>  {</b></p><p>  Min=64000;</p><p>  for(j=0;j<=k;j++) //內循環(huán)尋找與當前磁道號最短尋道的時間的磁道號 </p><p><b>  {</b></p><p>  if(RLine[j]>Han) //如果第

57、一個隨機生成的磁道號大于當前的磁道號,執(zhí)行下一句</p><p>  Temp=RLine[j]-Han; //求出臨時的移動距離</p><p><b>  else</b></p><p>  Temp=Han-RLine[j]; //求出臨時的移動距離</p><p>  if(Temp<Min) //

58、如果每求出一次的移動距離小于Min,執(zhí)行下一句</p><p><b>  {</b></p><p>  Min=Temp; //Temp臨時值賦予Min</p><p>  h=j; //把最近當前磁道號的數組下標賦予h</p><p><b>  }</b></p><

59、p><b>  }</b></p><p>  All=All+Min; //統計一共移動的距離</p><p>  printf("%5d",RLine[h]);</p><p>  Han=RLine[h]; </p><p>  DelInq(RLine,h,k); //每個磁道數向

60、前移動一位</p><p><b>  k--;</b></p><p><b>  }</b></p><p>  Best[Jage][1]=All;//Best[][1]存放移動磁道數 </p><p>  Best[Jage][0]=2;//Best[][0]存放算法的序號為:2</p

61、><p>  Jage++;//排序序號加1</p><p>  Aver=((float)All)/10;//求平均尋道次數 </p><p>  printf("\n+ 移動磁道數:<%5d> ",All);</p><p>  printf("\n+ 平均尋道長度:*%0.2f* ",Av

62、er);</p><p><b>  }</b></p><p>  //掃描算法(SCAN)</p><p>  int SCAN(int Han,int DiscL[],int x,int y)</p><p><b>  {</b></p><p>  int j,n,

63、k,h,m,All;</p><p><b>  int t=0;</b></p><p><b>  int Temp;</b></p><p><b>  int Min;</b></p><p>  int RLine[10]; //將隨機生成的磁道數數組Discl[]復

64、制給數組RLine[] </p><p>  int Order;</p><p><b>  Order=1;</b></p><p><b>  k=y;</b></p><p>  m=2; //控制while語句的執(zhí)行,即是一定要使當前磁道向內向外都要掃描到</p><

65、p>  All=0; //統計全部的磁道數變量</p><p>  CopyL(DiscL,RLine,9); //復制磁道號到臨時數組RLine</p><p>  printf("\n+ SCAN訪問順序為:");</p><p>  Min=64000;</p><p>  for(j=x;j<=y;

66、j++) //尋找與當前磁道號最短尋道的時間的磁道號</p><p><b>  {</b></p><p>  if(RLine[j]>Han) //如果第一個隨機生成的磁道號大于當前的磁道號,執(zhí)行下一句</p><p>  Temp=RLine[j]-Han; //求出臨時的移動距離</p><p>&l

67、t;b>  else</b></p><p>  Temp=Han-RLine[j]; //求出臨時的移動距離</p><p>  if(Temp<Min)</p><p><b>  {</b></p><p>  Min=Temp; //Temp臨時值賦予Min</p>&l

68、t;p>  h=j; //把最近當前磁道號的數組下標賦予h</p><p><b>  }</b></p><p><b>  }</b></p><p>  All=All+Min; </p><p>  printf("%5d",RLine[h]);</p&

69、gt;<p>  if(RLine[h]>=Han){ //判動方向,即是由里向外還是由外向里斷磁道的移</p><p><b>  Order=0;</b></p><p><b>  t=1;</b></p><p><b>  }</b></p><p&

70、gt;  Han=RLine[h];</p><p>  DelInq(RLine,h,k); //每個磁道數向前移動一位</p><p><b>  k--;</b></p><p>  while(m>0) </p><p><b>  {</b></p><p&g

71、t;  if(Order==1) //order是判斷磁盤掃描的方向標簽,order是1的話,磁道向內移動</p><p><b>  {</b></p><p>  for(j=x;j<=y;j++) </p><p><b>  {</b></p><p><b>  h=-

72、1;</b></p><p>  Min=64000;</p><p>  for(n=x;n<=k;n++) //判斷離當前磁道最近的磁道號</p><p><b>  {</b></p><p>  if(RLine[n]<=Han)</p><p><b>

73、;  {</b></p><p>  Temp=Han-RLine[n];</p><p>  if(Temp<Min)</p><p><b>  {</b></p><p>  Min=Temp; //Temp臨時值賦予Min</p><p>  h=n; //把最近當前

74、磁道號的數組下標賦予h</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(h!=-1)</b></p><p><b>

75、;  {</b></p><p>  All=All+Min; //疊加移動距離</p><p>  printf("%5d",RLine[h]);</p><p>  Han=RLine[h]; //最近的磁道號作為當前磁道</p><p>  DelInq(RLine,h,k);</p>&

76、lt;p><b>  k--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Order=0; //當完成向內的移動,order賦予0,執(zhí)行else語句,使磁道向外移動</p><p>  m--; //向

77、內完成一次,m減一次,保證while循環(huán)執(zhí)行兩次</p><p><b>  }</b></p><p>  else //order是0的話,磁道向外移動</p><p><b>  {</b></p><p>  for(j=x;j<=y;j++)</p><p>

78、;<b>  {</b></p><p><b>  h=-1;</b></p><p>  Min=64000;</p><p>  for(n=x;n<=k;n++) //判斷離當前磁道最近的磁道號</p><p><b>  {</b></p>&l

79、t;p>  if(RLine[n]>=Han)</p><p><b>  {</b></p><p>  Temp=RLine[n]-Han;</p><p>  if(Temp<Min)</p><p><b>  {</b></p><p>  Min

80、=Temp; //Temp臨時值賦予Min</p><p>  h=n; //把最近當前磁道號的數組下標賦予h</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

81、<b>  if(h!=-1)</b></p><p><b>  {</b></p><p>  All=All+Min; //疊加移動距離</p><p>  printf("%5d",RLine[h]);</p><p>  Han=RLine[h]; //最近的磁道號

82、作為當前磁道</p><p>  DelInq(RLine,h,k);</p><p><b>  k--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Order=1; //當完成向內的

83、移動,order賦予0,執(zhí)行else語句,使磁道向外移動</p><p>  m--; //向內完成一次,m減一次,保證while循環(huán)執(zhí)行兩次</p><p><b>  }</b></p><p><b>  }</b></p><p>  NAll=NAll+All;</p>

84、<p>  if((y-x)>5)</p><p><b>  {</b></p><p>  Best[Jage][1]=All;//Best[][1]存放移動磁道數 </p><p>  Best[Jage][0]=3;//Best[][0]存放算法的序號為:3</p><p>  Jage++;//

85、排序序號加1</p><p>  Aver=((float)All)/10;//求平均尋道次數 </p><p>  printf("\n+ 移動磁道數:<%5d> ",All);</p><p>  printf("\n+ 平均尋道長度:*%0.2f* ",Aver);</p><p>&

86、lt;b>  }</b></p><p>  if(t==1) printf("\n+ 磁道由內向外移動");</p><p>  else printf("\n+ 磁道由外向內移動");</p><p>  return(Han);</p><p><b>  }</

溫馨提示

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

評論

0/150

提交評論