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

下載本文檔

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

文檔簡介

1、<p>  操作系統(tǒng)課程設(shè)計(jì)報(bào)告 </p><p><b>  1、概述</b></p><p><b>  一、設(shè)計(jì)目的</b></p><p>  1.對死鎖避免中的銀行家算法作進(jìn)一步理解。</p><p>  2.加深理解死鎖的概念。 </p><p>  

2、3.加深理解安全序列和安全狀態(tài)的概念。</p><p>  4.通過編寫和調(diào)試一個(gè)系統(tǒng)動(dòng)態(tài)分配資源的簡單模擬程序,觀察死鎖產(chǎn)生的條件,并采用適當(dāng)?shù)乃惴?,有效地防止和避免死鎖地發(fā)生。</p><p>  二、開發(fā)環(huán)境 操作系統(tǒng) Windows xp</p><p>  編譯環(huán)境 VC++6.0</p><p&g

3、t;  生成文件 銀行家算法.cpp</p><p><b>  2、需求分析</b></p><p><b>  一、死鎖概念:</b></p><p>  是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過程中,因爭奪資源而造成的一種互相等待的現(xiàn)象,若無外力作用,它們都將無法推進(jìn)下去.此時(shí)稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死

4、鎖,這些永遠(yuǎn)在互相等待的進(jìn)程稱為死鎖進(jìn)程.  由于資源占用是互斥的,當(dāng)某個(gè)進(jìn)程提出申請資源后,使得有關(guān)進(jìn)程在無外力協(xié)助下,永遠(yuǎn)分配不到必需的資源而無法繼續(xù)運(yùn)行,這就產(chǎn)生了死鎖。</p><p>  二、關(guān)于死鎖的一些結(jié)論:</p><p>  1.參與死鎖的進(jìn)程最少是兩個(gè)(兩個(gè)以上進(jìn)程才會(huì)出現(xiàn)死鎖) </p><p>  2.參與死鎖的進(jìn)程至少有兩個(gè)已經(jīng)占有資源

5、</p><p>  3.參與死鎖的所有進(jìn)程都在等待資源 </p><p>  4.參與死鎖的進(jìn)程是當(dāng)前系統(tǒng)中所有進(jìn)程的子集 </p><p>  如果死鎖發(fā)生,會(huì)浪費(fèi)大量系統(tǒng)資源,甚至導(dǎo)致系統(tǒng)崩潰。 </p><p><b>  資源分類:</b></p><p><b>  永久性資

6、源: </b></p><p>  可以被多個(gè)進(jìn)程多次使用(可再用資源) </p><p>  1)  可搶占資源 </p><p>  2)   不可搶占資源 </p><p><b>  臨時(shí)性資源:</b></p><p>  只

7、可使用一次的資源;如信號量,中斷信號,同步信號等(可消耗性資源) </p><p>  “申請--分配--使用--釋放”模式 </p><p>  產(chǎn)生死鎖的四個(gè)必要條件:</p><p>  1、互斥使用(資源獨(dú)占) </p><p>  一個(gè)資源每次只能給一個(gè)進(jìn)程使用 </p><p>  2、不可強(qiáng)占(不可剝奪)

8、 </p><p>  資源申請者不能強(qiáng)行的從資源占有者手中奪取資源,資源只能由占有者自愿釋放 </p><p>  3、請求和保持(部分分配,占有申請) </p><p>  一個(gè)進(jìn)程在申請新的資源的同時(shí)保持對原有資源的占有(只有這樣才是動(dòng)態(tài)申請,動(dòng)態(tài)分配) </p><p><b>  4、循環(huán)等待 </b><

9、/p><p>  存在一個(gè)進(jìn)程等待隊(duì)列  {P1 , P2 , … , Pn}, 其中P1等待P2占有的資源,P2等待P3占有的資源,…,Pn等待P1占有的資源,形成一個(gè)進(jìn)程等待環(huán)路 。</p><p><b>  死鎖的解決方案</b></p><p>  5.1產(chǎn)生死鎖的例子 </p><p>  申請不同類型

10、資源產(chǎn)生死鎖 </p><p><b>  P1: </b></p><p><b>  … </b></p><p><b>  申請打印機(jī) </b></p><p><b>  申請掃描儀 </b></p><p><b&

11、gt;  使用 </b></p><p><b>  釋放打印機(jī) </b></p><p><b>  釋放掃描儀 </b></p><p><b>  … </b></p><p><b>  P2: </b></p><

12、p><b>  … </b></p><p><b>  申請掃描儀 </b></p><p><b>  申請打印機(jī) </b></p><p><b>  使用 </b></p><p><b>  釋放打印機(jī) </b><

13、;/p><p><b>  釋放掃描儀 </b></p><p><b>  … </b></p><p>  申請同類資源產(chǎn)生死鎖(如內(nèi)存) </p><p>  設(shè)有資源R,R有m個(gè)分配單位,由n個(gè)進(jìn)程P1,P2,…,Pn(n > m)共享。假設(shè)每個(gè)進(jìn)程對R的申請和釋放符合下列原則: <

14、/p><p>  * 一次只能申請一個(gè)單位 </p><p>  * 滿足總申請后才能使用 </p><p>  * 使用完后一次性釋放 </p><p><b>  m=2,n=3 </b></p><p>  資源分配不當(dāng)導(dǎo)致死鎖產(chǎn)生</p><p><b>  

15、5.2死鎖預(yù)防:</b></p><p><b>  摒棄“請求和保持”</b></p><p><b>  摒棄“不剝奪”條件</b></p><p><b>  摒棄“環(huán)路等待”</b></p><p>  5.3安全狀態(tài)與不安全狀態(tài) :</p>

16、<p>  安全狀態(tài) :如果操作系統(tǒng)能保證所有的進(jìn)程在 有限的時(shí)間 內(nèi)得到需要的 全部資源 ,則稱系統(tǒng)處于“安全狀態(tài)”。</p><p><b>  3、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p>  一、可利用資源向量矩陣AVAILABLE。這是一個(gè)含有M個(gè)元素的數(shù)組,其中的每一個(gè)元素代表一類可利用的資源數(shù)目,其初始值是系統(tǒng)中所配置的該類全部可用資源的數(shù)目,其數(shù)

17、值隨該類資源的分配和回收而動(dòng)態(tài)地改變。如果AVAILABLE [j]= K,則表示系統(tǒng)中現(xiàn)有R類資源K個(gè)</p><p>  二、最大需求矩陣MAX。這是一個(gè)N*M的矩陣,用以表示每一個(gè)進(jìn)程對M類資源的最大需求。如果MAX [i,j]=K,則表示進(jìn)程I需要R類資源的數(shù)目為K。</p><p>  三、分配矩陣ALLOCATION。這也是一個(gè)N*M的矩陣,它定義了系統(tǒng)中每一類資源當(dāng)前已分配給

18、每一進(jìn)程的資源數(shù)。如果ALLOCATION [i,j]=K,則表示進(jìn)程i當(dāng)前已分得R類資源的數(shù)目為K。</p><p>  四、需求矩陣NEED。這也是一個(gè)n*m的矩陣,用以表示每一個(gè)進(jìn)程尚需的各類資源數(shù)。如果NEED [i,j]=K,則表示進(jìn)程i還需要R類資源K個(gè),才能完成其任務(wù)。 上述矩陣存在下述關(guān)系:</p><p>  NEED [i,j]= MAX[i,j]﹣ AL

19、LOCATION[i,j] 4、算法的實(shí)現(xiàn)</p><p><b>  初始化</b></p><p>  由用戶輸入數(shù)據(jù),分別對可利用資源向量矩陣AVAILABLE、最大需求矩陣MAX、分配矩陣ALLOCATION、需求矩陣NEED賦值。</p><p><b>  銀行家算法</b></p>

20、<p>  在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖。</p><p>  銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的;若是,才分配。它是最具有代表性的避免死鎖的算法。</p><p>  設(shè)進(jìn)程cusneed提出請求REQUEST

21、[i],則銀行家算法按如下規(guī)則進(jìn)行判斷。</p><p>  (1)如果REQUEST [cusneed] [i]<= NEED[cusneed][i],則轉(zhuǎn)(2);否則,出錯(cuò)。</p><p>  (2)如果REQUEST [cusneed] [i]<= AVAILABLE[cusneed][i],則轉(zhuǎn)(3);否則,出錯(cuò)。</p><p>  (3)系

22、統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù):</p><p>  AVAILABLE[i]-=REQUEST[cusneed][i];</p><p>  ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];</p><p>  NEED[cusneed][i]-=REQUEST[cusneed][i];</p><p>

23、;  (4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險(xiǎn)性分配作廢,系統(tǒng)恢復(fù)原狀,進(jìn)程等待。</p><p><b>  三、安全性檢查算法</b></p><p>  (1)設(shè)置兩個(gè)工作向量Work=AVAILABLE;FINISH</p><p>  (2)從進(jìn)程集合中找到一個(gè)滿足下述條件的進(jìn)程,</p><p&g

24、t;  FINISH==false;</p><p>  NEED<=Work;</p><p>  如找到,執(zhí)行(3);否則,執(zhí)行(4)</p><p>  (3)設(shè)進(jìn)程獲得資源,可順利執(zhí)行,直至完成,從而釋放資源。</p><p>  Work+=ALLOCATION;</p><p>  Finish=tr

25、ue;</p><p><b>  GOTO 2</b></p><p>  (4)如所有的進(jìn)程Finish= true,則表示安全;否則系統(tǒng)不安全。</p><p><b>  四、各算法流程圖 </b></p><p><b>  初始化算法流程圖:</b></p&g

26、t;<p><b>  銀行家算法流程圖:</b></p><p><b>  源程序清單</b></p><p>  #include "iostream.h"</p><p>  int main(int argc, char* argv[])</p><p>

27、<b>  {</b></p><p>  int I,J,i,i1,j,n,sign;</p><p>  int avail[10],max[10][10],alloc[10][10],need[10][10],requ[10][10],work[10],finish[10];</p><p>  cout<<"請輸入

28、進(jìn)程數(shù)和資源數(shù),以空格分開:";</p><p>  cin>>I>>J;</p><p>  for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  for(j=0;j<J;j++)</p><p><b&

29、gt;  {</b></p><p>  cout<<"請輸入進(jìn)程"<<i<<"對資源"<<j<<"的最大需求量:";</p><p>  cin>>max[i][j]; /*初始化max*/</p><p><

30、b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  for(j=0;j<J;j++)</p><p><b>  

31、{</b></p><p>  cout<<"請輸入進(jìn)程"<<i<<"已分配到資源"<<j<<"的數(shù)量:";</p><p>  cin>>alloc[i][j]; /*初始化alloc*/</p><p><b&g

32、t;  }</b></p><p><b>  }</b></p><p>  for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  for(j=0;j<J;j++)</p><p><b>  {&l

33、t;/b></p><p>  cout<<"請輸入進(jìn)程"<<i<<"還需要資源"<<j<<"的數(shù)量:";</p><p>  cin>>need[i][j]; /*初始化need*/</p><p><b>  }

34、</b></p><p><b>  }</b></p><p>  for(j=0;j<J;j++)</p><p><b>  {</b></p><p>  cout<<"資源"<<j<<"可利用數(shù)量:&quo

35、t;;</p><p>  cin>>avail[j]; /*初始化avail*/</p><p><b>  }</b></p><p>  /*************用安全性算法判斷系統(tǒng)初始化后的當(dāng)前狀態(tài)是否安全 START ************/</p><p>  for(j=0;j&

36、lt;J;j++)</p><p><b>  {</b></p><p>  work[j]=avail[j];</p><p><b>  }</b></p><p>  for(i=0;i<I;i++)</p><p><b>  {</b>

37、</p><p>  finish[i]=0; /*設(shè)置兩個(gè)工作向量*/</p><p><b>  }</b></p><p>  A1:for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  sign=1;

38、 /*sign==1表示need<=work*/</p><p>  for(j=0;j<J;j++)</p><p><b>  {</b></p><p>  if(need[i][j]>work[j])</p><p><b>  {</b></p&g

39、t;<p><b>  sign=0;</b></p><p>  } </p><p><b>  }</b></p><p>  if(finish[i]==0&&sign==1)</p><p><b>  

40、{</b></p><p>  for(j=0;j<J;j++)</p><p><b>  {</b></p><p>  work[j]=work[j]+alloc[i][j];</p><p><b>  }</b></p><p>  finish[

41、i]=1; /*設(shè)置finish向量*/ </p><p>  cout<<"P"<<i<<endl; /*輸出安全序列*/</p><p><b>  goto A1;</b></p><p><b>  }</b></p&

42、gt;<p><b>  }</b></p><p>  sign=1; /*判斷系統(tǒng)狀態(tài)是否安全*/</p><p>  for(i=0;i<I;i++) </p><p><b>  {</b></p><p>  if(finish[i]==0)</p&g

43、t;<p>  sign=0; </p><p><b>  }</b></p><p>  if(sign==0)</p><p><b>  {</b></p><p>  cout<<"當(dāng)前系統(tǒng)處于不安全狀態(tài)."<<en

44、dl; </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"當(dāng)前系統(tǒng)處于安全狀態(tài),可以接受資源請求."<<endl;

45、 </p><p><b>  }</b></p><p>  /*************用安全性算法判斷系統(tǒng)初始化后的當(dāng)前狀態(tài)是否安全 END ************/</p><p>  /***********************設(shè)置請求向量 START ***********************/</p&g

46、t;<p>  S:cout<<"請輸入請求資源的進(jìn)程的進(jìn)程號:";</p><p>  cin>>i; i1=i;</p><p>  for(j=0;j<J;j++)</p><p><b>  {</b></p><p>  cout<&l

47、t;"請輸入進(jìn)程"<<i<<"請求的資源"<<j<<"的數(shù)量:";</p><p>  cin>>requ[i][j];/*進(jìn)程請求資源*/</p><p><b>  }</b></p><p>  for(j=0;j&

48、lt;J;j++)</p><p><b>  {</b></p><p>  if(requ[i][j]>need[i][j])</p><p><b>  {</b></p><p>  cout<<"錯(cuò)誤!請求數(shù)超過需要數(shù)!"<<endl;&l

49、t;/p><p><b>  goto S;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(j=0;j<J;j++)</p><p><b>  {</b>&l

50、t;/p><p>  if(requ[i][j]>avail[j])</p><p><b>  {</b></p><p>  cout<<"可利用資源不足,無法分配。"<<endl;</p><p><b>  goto S;</b></p&g

51、t;<p><b>  }</b></p><p><b>  }</b></p><p>  /***********************設(shè)置請求向量 END ***********************/</p><p>  for(j=0;j<J;j++)</p><p&

52、gt;<b>  {</b></p><p>  avail[j]=avail[j]-requ[i][j]; /*系統(tǒng)嘗試分配資源*/</p><p>  alloc[i][j]=alloc[i][j]+requ[i][j];</p><p>  need[i][j]=need[i][j]-requ[i][j];</

53、p><p><b>  }</b></p><p>  /*************************安全性算法START****************************/</p><p>  for(j=0;j<J;j++)</p><p><b>  {</b></p>

54、;<p>  work[j]=avail[j];</p><p><b>  }</b></p><p>  for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  finish[i]=0; /*設(shè)置兩個(gè)工作向量*/</

55、p><p><b>  }</b></p><p>  A2:for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  sign=1; /*sign==1表示need<=work*/</p><p>  fo

56、r(j=0;j<J;j++)</p><p><b>  {</b></p><p>  if(need[i][j]>work[j])</p><p><b>  {</b></p><p><b>  sign=0;</b></p><p>

57、;  } </p><p><b>  }</b></p><p>  if(finish[i]==0&&sign==1)</p><p><b>  {</b></p><p>  for(j=0;j<J;j++)</p&g

58、t;<p><b>  {</b></p><p>  work[j]=work[j]+alloc[i][j];</p><p><b>  }</b></p><p>  finish[i]=1; /*設(shè)置finish向量*/ </p><p>  co

59、ut<<"P"<<i<<endl; /*輸出安全序列*/</p><p><b>  goto A2;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

60、b>  sign=1;</b></p><p>  for(i=0;i<I;i++)</p><p><b>  {</b></p><p>  if(finish[i]==0)</p><p>  sign=0; /*判斷系統(tǒng)狀態(tài)是否安全*/</p><p&

61、gt;<b>  }</b></p><p>  if(sign==0)</p><p><b>  {</b></p><p>  cout<<"不安全,系統(tǒng)已收回嘗試分配的資源!"<<endl; /*若不安全,不予分配,并將數(shù)據(jù)修改回原來的值*/</p>

62、<p>  for(j=0;j<J;j++) </p><p><b>  {</b></p><p>  avail[j]=avail[j]+requ[i1][j];</p><p>  alloc[i1][j]=alloc[i1][j]-requ[i1][j];</p><p&g

63、t;  need[i1][j]=need[i1][j]+requ[i1][j];</p><p><b>  }</b></p><p><b>  goto S;</b></p><p><b>  }</b></p><p><b>  else</b>

64、;</p><p><b>  {</b></p><p>  cout<<"安全,可以分配."<<endl; /*若安全,則可以分配*/</p><p><b>  goto S;</b></p><p><b>  }</b

65、></p><p>  /*************************安全性算法END****************************/</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  5、結(jié)束

66、語 </b></p><p>  心得與體會(huì):銀行家算法是避免死鎖的一種重要方法,通過編寫一個(gè)簡單的銀行家算法程序,加深了解有關(guān)資源申請、避免死鎖等概念,并體會(huì)和了解死鎖和避免死鎖的具體實(shí)施方法。銀行家算法是為了使系統(tǒng)保持安全狀態(tài)。我們可以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進(jìn)程向操作系統(tǒng)請求分配資源相當(dāng)于用戶向銀行家貸款。操作系統(tǒng)按照銀行家制定的規(guī)則為進(jìn)程分配資源,當(dāng)進(jìn)

67、程首次申請資源時(shí),要測試該進(jìn)程對資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請量分配資源,否則就推遲分配。當(dāng)進(jìn)程在執(zhí)行中繼續(xù)申請資源時(shí),先測試該進(jìn)程已占用的資源數(shù)與本次申請的資源數(shù)之和是否超過了該進(jìn)程對資源的最大需求量。若超過則拒絕分配資源,若沒有超過則再測試系統(tǒng)現(xiàn)存的資源能否滿足該進(jìn)程尚需的最大資源量,若能滿足則按當(dāng)前的申請量分配資源,否則也要推遲分配。 </p><p>  死鎖的產(chǎn)

68、生,必須同時(shí)滿足四個(gè)條件,即一個(gè)資源每次只能由一個(gè)進(jìn)程占有;第二個(gè)為等待條件,即一個(gè)進(jìn)程請求資源不能滿足時(shí),它必須等待,單它仍繼續(xù)寶石已得到的所有其他資源;第三個(gè)為非剝奪條件,即在出現(xiàn)死鎖的系統(tǒng)中一定有不可剝奪使用的資源;第四個(gè)為循環(huán)等待條件,系統(tǒng)中存在若干個(gè)循環(huán)等待的進(jìn)程,即其中每一個(gè)進(jìn)程分別等待它前一個(gè)進(jìn)程所持有的資源。防止死鎖的機(jī)構(gòu)只能確保上述四個(gè)條件之一不出現(xiàn),則系統(tǒng)就不會(huì)發(fā)生死鎖。通過這個(gè)算法可以用來解決生活中的實(shí)際問題,如銀

69、行貸款等。</p><p>  銀行家算法能保證系統(tǒng)時(shí)時(shí)刻刻都處于安全狀態(tài),但它要不斷檢測每個(gè)進(jìn)程對各類資源的占用和申請情況,需花費(fèi)較多的時(shí)間。</p><p>  經(jīng)過這次設(shè)計(jì),讓我基明白了銀行家算法的基本原理,加深了對課堂上知識的理解,也懂得了如何讓銀行家算法實(shí)現(xiàn)。</p><p><b>  實(shí)例:</b></p><

70、p> ?。?)下列狀態(tài)是否安全?(三個(gè)進(jìn)程共享12個(gè)同類資源)</p><p>  進(jìn)程                      已分配資源數(shù)    

71、;                        最大需求數(shù)</p><p>  1       

72、0;                              1      &

73、#160;                                   4

74、0;        (狀態(tài)a)</p><p>  2                       

75、60;              4                      

76、                    4</p><p>  3            

77、60;                         5           

78、                               8</p><p>  1 

79、60;                                    1

80、                                    

81、0;     4         (狀態(tài)b)</p><p>  2                 &#

82、160;                    4                

83、;                          6</p><p>  3      &#

84、160;                               6     

85、;                                    

86、60;8</p><p>  狀態(tài)a安全,序列為:2-->1--> 3</p><p>  狀態(tài)b不安全,只剩1個(gè)可用資源,收不回已分配資源。</p><p> ?。?)考慮下列系統(tǒng)狀態(tài)</p><p>  分配矩陣         

87、0;                            最大需求矩陣       &#

88、160;                        可用資源矩陣</p><p>  0  0  1  2 &#

89、160;                              0  0  1  2&

90、#160;                                 1  5

91、60; 2  0</p><p>  1  0  0  0                      &#

92、160;         1  7  5  0</p><p>  1  3  5  4          

93、;                      2  3  5  6</p><p>  0  6 

94、0;3  2                                0  

95、;6  5  2</p><p>  0  0  1  4                     

96、60;          0  6  5  6</p><p>  問系統(tǒng)是否安全?若安全就給出所有的安全序列。若進(jìn)程2請求(0420),可否立即分配?</p><p>  答:安全。安全序列為:1-->3-->2--&

97、gt;5-->4。</p><p>  若進(jìn)程2請求(0420),可立即分配。分配后可用資源為1 1 0 0,回收1進(jìn)程資源,</p><p>  可用資源數(shù)為:1 1 1 2,然后執(zhí)行3-->2-->5-->4序列。</p><p><b>  6、參考文獻(xiàn)</b></p><p>  1、湯子

溫馨提示

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

評論

0/150

提交評論