n-step-scan_磁盤調(diào)度_操作系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p><b>  (操作系統(tǒng))</b></p><p>  題  目:  N-Step-SCAN 磁盤調(diào)度</p><p>  班  級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 計(jì)算機(jī)系 10-8班</p><p>  姓  名:      

2、 </p><p>  指導(dǎo)教師:     </p><p>  系主任: </p><p>  2013年03月01日</p><p><b>  目 錄</b></p><p>  1N-Step-SCAN 磁盤調(diào)度課程設(shè)計(jì)</p><p>  1.

3、1 題目分析1</p><p>  1.2 數(shù)據(jù)結(jié)構(gòu)1</p><p><b>  1.3 流程圖1</b></p><p>  1.4 實(shí)現(xiàn)技術(shù)2</p><p>  1.5 設(shè)計(jì)結(jié)論和心得2</p><p>  2 Linux代碼分析4</p><p>  

4、2.1 功能說(shuō)明18</p><p>  2.2 接口說(shuō)明.18</p><p>  2.3 局部數(shù)據(jù)結(jié)構(gòu).......20</p><p>  2.4 流程圖.....21</p><p>  2.5 以實(shí)例說(shuō)明運(yùn)行過程.........................................................

5、.............................22</p><p>  2.5 以實(shí)例說(shuō)明運(yùn)行過程5</p><p>  1N-Step-SCAN磁盤調(diào)度課程設(shè)計(jì)</p><p><b>  題目分析</b></p><p>  當(dāng)有一個(gè)或者幾個(gè)進(jìn)程對(duì)某一磁道有較高的訪問頻率,即這些進(jìn)程反復(fù)請(qǐng)求對(duì)某一磁道的

6、I/O操作,從而壟斷整個(gè)磁盤設(shè)備。在高密度的磁盤上容易出現(xiàn)此情況。N步SCAN算法是將磁道請(qǐng)求隊(duì)列若干個(gè)長(zhǎng)度為N的子隊(duì)列。而每處理一個(gè)隊(duì)列時(shí)又是按SCAN算法,對(duì)一個(gè)隊(duì)列處理完后,再處理其他隊(duì)列。</p><p><b>  數(shù)據(jù)結(jié)構(gòu)</b></p><p>  N-Step-SCAN磁盤調(diào)度中涉及的數(shù)據(jù)結(jié)構(gòu)包括N個(gè)隊(duì)列、隊(duì)列緩沖區(qū)、表示空緩沖區(qū)的信號(hào)量、表示滿緩沖區(qū)

7、的信號(hào)量…等。</p><p><b>  用偽代碼表示如下:</b></p><p>  #include"stdio.h"</p><p>  #include"stdlib.h"</p><p>  //#include"iostream.h"</p

8、><p>  #define maxsize 100 //定義最大數(shù)組域</p><p>  int now,s;</p><p>  void SSTF(int array[],int m)</p><p><b>  {</b></p><p><b>  int temp;</b

9、></p><p><b>  int k=1;</b></p><p>  int now,l,r; //當(dāng)前磁道號(hào)now;找出的當(dāng)前磁道左側(cè)的磁道l,右側(cè)的磁道r</p><p>  int i,j,sum=0;</p><p><b>  int avg;</b></p>

10、<p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  for(j=i+1;j<m;j++)//對(duì)磁道號(hào)進(jìn)行從小到大排列</p><p><b>  {</b></p><p>  if(array[i]>array[

11、j])//兩磁道號(hào)之間比較</p><p><b>  {</b></p><p>  temp=array[i];</p><p>  array[i]=array[j];</p><p>  array[j]=temp;</p><p><b>  }</b></p

12、><p><b>  }</b></p><p><b>  }</b></p><p>  for( i=0;i<m;i++)//輸出排序后的磁道號(hào)數(shù)組</p><p><b>  {</b></p><p>  printf("%d &

13、quot;,array[i]);</p><p><b>  }</b></p><p>  printf("\n 請(qǐng)輸入當(dāng)前的磁道號(hào):");</p><p>  scanf("%d",&now);</p><p>  printf("\n SSTF調(diào)度結(jié)果:

14、");</p><p>  if(array[m-1]<=now)//判斷整個(gè)數(shù)組里的數(shù)是否都小于當(dāng)前磁道號(hào)</p><p><b>  { </b></p><p>  for(i=m-1;i>=0;i--)//將數(shù)組磁道號(hào)從大到小輸出</p><p>  printf("%d &

15、quot;,array[i]);</p><p>  sum=now-array[0];//計(jì)算移動(dòng)距離</p><p><b>  }</b></p><p>  else if(array[0]>=now)//判斷整個(gè)數(shù)組里的數(shù)是否都大于當(dāng)前磁道號(hào)</p><p><b>  { </b>

16、</p><p>  for(i=0;i<m;i++)//將磁道號(hào)從小到大輸出</p><p>  printf("%d ",array[i]);</p><p>  sum=array[m-1]-now;//計(jì)算移動(dòng)距離</p><p><b>  }</b></p><

17、p><b>  else</b></p><p><b>  {</b></p><p>  while(array[k]<now)//逐一比較以確定K值</p><p><b>  {</b></p><p><b>  k++;</b>&l

18、t;/p><p><b>  }</b></p><p><b>  l=k-1;</b></p><p><b>  r=k;</b></p><p>  //確定當(dāng)前磁道在已排的序列中的位置</p><p>  while((l>=0)&&

19、amp;(r<m))</p><p><b>  {</b></p><p>  if((now-array[l])<=(array[r]-now))//判斷最短距離</p><p><b>  { </b></p><p>  printf("%d ",arr

20、ay[l]);</p><p>  sum+=now-array[l];//計(jì)算移動(dòng)距離</p><p>  now=array[l];</p><p><b>  l=l-1;</b></p><p><b>  }</b></p><p><b>  else&

21、lt;/b></p><p><b>  { </b></p><p>  printf("%d ",array[r]);</p><p>  sum+=array[r]-now;//計(jì)算移動(dòng)距離</p><p>  now=array[r];</p><p><

22、;b>  r=r+1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(l==-1)</b></p><p><b>  { </b></p>&

23、lt;p>  for(j=r;j<m;j++)</p><p><b>  { </b></p><p>  printf("%d ",array[j]);</p><p><b>  }</b></p><p>  sum+=array[m-1]-array[

24、0];//計(jì)算移動(dòng)距離</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p>  for(j=l;j>=0;j--)</p><p><b> 

25、 { </b></p><p>  printf("%d ",array[j]);</p><p><b>  }</b></p><p>  sum+=array[m-1]-array[0];//計(jì)算移動(dòng)距離</p><p><b>  }</b></p

26、><p><b>  }</b></p><p>  avg=sum/m;</p><p>  printf("\n 移動(dòng)的總道數(shù): %d \n",sum);</p><p>  printf(" 平均尋道長(zhǎng)度: %d \n",avg);</p><p><

27、;b>  }</b></p><p>  void SCAN(int array[],int m,int d)//先要給出當(dāng)前磁道號(hào)和移動(dòng)臂的移動(dòng)方向</p><p><b>  {</b></p><p><b>  int k=1;</b></p><p><b> 

28、 int l,r;</b></p><p>  int i,j,sum=0;</p><p><b>  int avg;</b></p><p>  int temp; //用于排序的臨時(shí)參數(shù)</p><p><b>  int q;</b></p><p>

29、;  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  for(j=i+1;j<m;j++)</p><p><b>  {</b></p><p>  if(array[i]>array[j])//對(duì)磁道號(hào)進(jìn)行從小到大排列</p&

30、gt;<p><b>  {</b></p><p>  temp=array[i];</p><p>  array[i]=array[j];</p><p>  array[j]=temp;</p><p><b>  }</b></p><p><b

31、>  }</b></p><p><b>  }</b></p><p>  if(array[m-1]<=now)//判斷整個(gè)數(shù)組里的數(shù)是否都小于當(dāng)前磁道號(hào)</p><p><b>  { </b></p><p>  printf("\n SCAN調(diào)度結(jié)果:

32、 ");</p><p>  for(i=m-1;i>=0;i--)</p><p><b>  {</b></p><p>  printf("%d ",array[i]);//將數(shù)組磁道號(hào)從大到小輸出</p><p>  q=array[i];</p><p

33、><b>  }</b></p><p>  sum=now-q;//計(jì)算移動(dòng)距離</p><p><b>  s=s+sum;</b></p><p><b>  now=q;</b></p><p><b>  }</b></p>

34、<p>  else if(array[0]>=now)//判斷整個(gè)數(shù)組里的數(shù)是否都大于當(dāng)前磁道號(hào)</p><p><b>  { </b></p><p>  printf("\n SCAN調(diào)度結(jié)果: ");</p><p>  for(i=0;i<m;i++)</p><p

35、><b>  {</b></p><p>  printf("%d ",array[i]);//將磁道號(hào)從小到大輸出</p><p>  q=array[i];</p><p><b>  }</b></p><p>  sum=array[m-1]-now;//計(jì)算移動(dòng)

36、距離</p><p><b>  s=s+sum;</b></p><p><b>  now=q;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b> 

37、 {</b></p><p>  while(array[k]<now)//逐一比較以確定K值</p><p><b>  {</b></p><p><b>  k++;</b></p><p><b>  }</b></p><p>

38、;<b>  l=k-1;</b></p><p><b>  r=k;</b></p><p>  printf("\n SCAN調(diào)度結(jié)果: ");</p><p><b>  if(d==0)</b></p><p><b>  {</

39、b></p><p>  for(j=l;j>=0;j--)</p><p><b>  {</b></p><p>  printf("%d ",array[j]);</p><p>  q=array[j];</p><p><b>  }</

40、b></p><p>  for(j=r;j<m;j++)</p><p><b>  {</b></p><p>  printf("%d ",array[j]);</p><p>  q=array[j];</p><p><b>  }</b

41、></p><p>  sum=now-2*array[0]+array[m-1];//計(jì)算移動(dòng)距離</p><p><b>  s=s+sum;</b></p><p><b>  now=q;</b></p><p>  }//磁道號(hào)減小方向</p><p><

42、;b>  else</b></p><p><b>  {</b></p><p>  for(j=r;j<m;j++)</p><p><b>  {</b></p><p>  printf("%d ",array[j]);</p>&

43、lt;p>  q=array[j];</p><p><b>  }</b></p><p>  for(j=l;j>=0;j--)</p><p><b>  {</b></p><p>  printf("%d ",array[j]);</p>&

44、lt;p>  q=array[j];</p><p><b>  }</b></p><p>  sum=-now-array[0]+2*array[m-1];//計(jì)算移動(dòng)距離</p><p><b>  s=s+sum;</b></p><p><b>  now=q;</b

45、></p><p>  }//磁道號(hào)增加方向</p><p><b>  }</b></p><p>  avg=sum/m;</p><p>  printf("\n 該子隊(duì)列移動(dòng)的總道數(shù): %d \n",sum);</p><p>  printf(" 該子

46、隊(duì)列平均尋道長(zhǎng)度: %d \n",avg);</p><p><b>  }</b></p><p>  void NStepSCAN(int array[],int m)</p><p><b>  { </b></p><p>  int sn,N,d; //sn標(biāo)記每一子

47、隊(duì)列的長(zhǎng)度,N記錄子隊(duì)列個(gè)數(shù),now標(biāo)記當(dāng)前磁道號(hào)</p><p>  int b[100],c[100]; //b[100]儲(chǔ)存前幾個(gè)子隊(duì)列,c[100]儲(chǔ)存最后一個(gè)子隊(duì)列</p><p>  int i=0,j=0,k=0,n=1;</p><p><b>  int ave; </b></p><p>  pri

48、ntf("請(qǐng)輸入當(dāng)前磁道號(hào):\n");</p><p>  scanf("%d",&now);</p><p>  printf("請(qǐng)輸入子隊(duì)列的個(gè)數(shù):\n");</p><p>  scanf("%d",&N);</p><p>  while(

49、N<1||N>m)</p><p><b>  {</b></p><p>  printf("超出范圍,文件中的磁道數(shù)不夠分組,請(qǐng)重新輸入:\n");</p><p>  scanf("%d",&N);</p><p><b>  }</b&g

50、t;</p><p>  printf("請(qǐng)輸入當(dāng)前移動(dòng)臂的移動(dòng)的方向 (1 磁道號(hào)增加方向,0磁道號(hào)減小方向) : ");</p><p>  scanf("%d",&d); </p><p><b>  sn=m/N;</b></p><p>  while(N!=1)

51、 //當(dāng)不是最后一個(gè)子隊(duì)列時(shí),循環(huán)進(jìn)行SCAN調(diào)度</p><p><b>  {</b></p><p><b>  j=0;</b></p><p>  for(i=k;i<sn*n;i=k,j++)</p><p><b>  {</b></p>

52、;<p>  b[j]=array[i];</p><p><b>  k=k+1;</b></p><p><b>  }</b></p><p>  printf("\n第%d個(gè)隊(duì)列的排序結(jié)果為:\n",n); </p><p>  SCAN(b,sn,d);&

53、lt;/p><p><b>  N=N-1;</b></p><p><b>  n=n+1;</b></p><p><b>  }</b></p><p>  if(N==1) //最后一個(gè)子隊(duì)列時(shí)進(jìn)行SCAN調(diào)度</p><p><

54、;b>  {</b></p><p>  for(i=k,j=0;i<m;i++,j++)</p><p><b>  {</b></p><p>  c[j]=array[i];</p><p><b>  }</b></p><p>  print

55、f("\n最后一個(gè)隊(duì)列的調(diào)度結(jié)果為:\n");</p><p>  SCAN(c,m-k,d);</p><p><b>  }</b></p><p><b>  ave=s/m;</b></p><p>  printf("\n該調(diào)度總的結(jié)果為:\n");

56、</p><p>  printf("\n 移動(dòng)的總道數(shù): %d \n",s);</p><p>  printf(" 平均尋道長(zhǎng)度: %d \n",ave);</p><p><b>  }</b></p><p>  int main()</p><p>

57、;<b>  {</b></p><p><b>  int c;</b></p><p><b>  int C=1;</b></p><p>  FILE *fp;//定義指針文件</p><p>  int cidao[maxsize];//定義磁道號(hào)數(shù)組</p&g

58、t;<p>  int i=0,count;</p><p>  fp=fopen("cidao.txt","r+");//讀取cidao.txt文件</p><p>  if(fp==NULL)//判斷文件是否存在</p><p><b>  {</b></p><p&

59、gt;  printf("\n 請(qǐng) 先 設(shè) 置 磁 道! \n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  while(!feof(fp))//如果磁道文件存在</p><p><b>  {&

60、lt;/b></p><p>  fscanf(fp,"%d",&cidao[i]);//調(diào)入磁道號(hào)</p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  count=i;</b>&l

61、t;/p><p>  printf("\n --------------------------------------------------\n");</p><p>  printf(" 磁盤調(diào)度算法模擬");</p><p>  printf("\n -------------------------

62、-------------------------\n");</p><p>  printf("\n 磁道讀取結(jié)果:\n");</p><p>  for(i=0;i<count;i++)</p><p><b>  {</b></p><p>  printf("%5d&

63、quot;,cidao[i]);//輸出讀取的磁道的磁道號(hào)</p><p><b>  }</b></p><p>  printf("\n ");</p><p>  while(C==1)</p><p><b>  {</b></p>&l

64、t;p>  printf(" ║ 操作系統(tǒng)課程設(shè)計(jì) ║ \n");</p><p>  printf(" ╭═════┤ 磁盤調(diào)度算法 ├═════╮ \n ");</p><p>  printf(" ║

65、 1.返回 ║ \n");</p><p>  printf(" ║ 2.N步掃描算法(NStepScan) ║ \n");</p><p>  printf(" ╰═┤ 請(qǐng)輸入你的選擇的算法(輸

66、入0離開) ├═╯ \n");</p><p>  scanf("%d",&c);</p><p>  if(c==0) exit(0);</p><p>  printf(" ");</p><p>  while(c!=1&&c!=2)</p>

67、;<p><b>  {</b></p><p>  printf("輸入數(shù)據(jù)超出范圍,請(qǐng)重新輸入您想進(jìn)行的調(diào)度算法:\n");</p><p>  scanf("%d",&c);</p><p><b>  }</b></p><p>

68、<b>  switch(c)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  SSTF(cidao,count);//最短尋道時(shí)間優(yōu)先算法</p><p>  printf("\n")

69、;</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p><b>  i=0;</b></p><p>  fp=fopen("cidao.txt","r+");//讀取ci

70、dao.txt文件</p><p>  if(fp==NULL)//判斷文件是否存在</p><p><b>  {</b></p><p>  printf("\n 請(qǐng) 先 設(shè) 置 磁 道! \n");</p><p><b>  exit(0);</b></p>

71、<p><b>  }</b></p><p>  while(!feof(fp))//如果磁道文件存在</p><p><b>  {</b></p><p>  fscanf(fp,"%d",&cidao[i]);//調(diào)入磁道號(hào)</p><p><b

72、>  i++;</b></p><p><b>  }</b></p><p><b>  count=i;</b></p><p>  printf("\n 磁道讀取結(jié)果:\n");</p><p>  for(i=0;i<count;i++)</

73、p><p><b>  {</b></p><p>  printf("%5d",cidao[i]);//輸出讀取的磁道的磁道號(hào)</p><p><b>  }</b></p><p>  printf("\n ");</p><p>  

74、NStepSCAN(cidao,count);//N步掃描算法</p><p>  printf("\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf(" 是否繼續(xù)(按0結(jié)束,按1繼續(xù))

75、?");</p><p>  scanf("%5d",&C);</p><p><b>  }</b></p><p>  return(0);</p><p><b>  流程圖</b></p><p><b>  實(shí)現(xiàn)技術(shù)&

76、lt;/b></p><p>  為實(shí)現(xiàn)上述設(shè)計(jì),采用C++語(yǔ)言,VS2008開發(fā)環(huán)境。</p><p><b>  運(yùn)行結(jié)果如下:</b></p><p><b>  設(shè)計(jì)結(jié)論和心得</b></p><p>  通過課程設(shè)計(jì)得到如下結(jié)論:</p><p>  在N步掃

77、描算法中,還出現(xiàn)了這樣一個(gè)問題。就是,在對(duì)磁道號(hào)進(jìn)行分組時(shí),最后一列的處理問題。在開始時(shí)由于籠統(tǒng)地進(jìn)行了平均分組,而沒有考慮無(wú)法完全分盡的情況,進(jìn)而導(dǎo)致最后一個(gè)甚至一些磁道號(hào)丟失的問題。不過最后,在單列最后一組后(即將最后一組與前面各組分開后)問題得到了解決。將余下的一個(gè)或一些磁道號(hào)全部加至最后一列末尾,很好地處理了數(shù)據(jù)丟失問題</p><p>  有如下幾點(diǎn)心得體會(huì):</p><p> 

78、 通過這次的課程設(shè)計(jì)使我認(rèn)識(shí)到要將操作系統(tǒng)這門計(jì)算機(jī)專業(yè)的課學(xué)好不僅僅是要把書上的基本知識(shí)學(xué)好而且還要不斷進(jìn)行實(shí)踐,將所學(xué)的跟實(shí)踐操作結(jié)合起來(lái)才能更好地鞏固所學(xué),才能提高自己實(shí)踐能力.通過這次的設(shè)計(jì)使我認(rèn)識(shí)到只停留在表面理解問題是很難使問題得到很好的解決的,實(shí)踐能力與理論知識(shí)同樣重要??梢哉f(shuō)此課程設(shè)計(jì)的理論難度并不大,但是若要深入發(fā)掘其中的東西,并且實(shí)際去編程實(shí)現(xiàn),就遇到了相當(dāng)大的難度。因?yàn)榕c之涉及的很多方面并沒有學(xué)過,需要自己去自學(xué)和

79、實(shí)踐檢驗(yàn)。通過模擬磁盤調(diào)度及進(jìn)程排隊(duì)算法來(lái)加深對(duì)操作系統(tǒng)中各個(gè)磁臂調(diào)度算法概念的理解。模擬磁盤調(diào)度算法(SSTF,NstepSCAN),實(shí)現(xiàn)各種不同調(diào)度算法的過程,并計(jì)算各算法的平均尋道長(zhǎng)度,以便于我們判斷各種算法的優(yōu)劣以及各種算法使用的場(chǎng)合。</p><p>  2 Linux代碼分析</p><p>  為了進(jìn)一步了解操作系統(tǒng)內(nèi)核,學(xué)習(xí)了Linux操作系統(tǒng)的進(jìn)程同步程序,主要程序源代碼

80、如下:</p><p>  #!/bin/sh </p><p>  # Author: Guo Wenxue(guowenxue@gmail.com) </p><p>  # Date: Wen Mar 5 17:56:44 CST 2013 </p><p>  # Version: 1.0.

81、0 </p><p>  # Description: This shell script used to format all the source code in current forlder </p><p>  # and convert source code file format from windows to linux </p&

82、gt;<p>  find -iname "*.c" -exec dos2unix {} \; </p><p>  find -iname "*.h" -exec dos2unix {} \; </p><p>  find -iname "makefile" -exec dos2unix {} \; <

83、;/p><p>  find -iname "Makefile" -exec dos2unix {} \;</p><p>  # -npro 不要讀取indent的配置文件.indent.pro </p><p>  # -kr 使用Kernighan&Ritchie的格式 </p><p>  #

84、-i4 設(shè)置縮排的格數(shù)為4 </p><p>  # -di28 將聲明區(qū)段的變量置于指定的欄位(28) </p><p>  # -ts4 設(shè)置tab的長(zhǎng)度為4 </p><p>  # -bls 定義結(jié)構(gòu),"struct"和"{"分行 </p><p>  # -

85、bl if(或是else,for等等)與后面執(zhí)行區(qū)段的”{“不同行,且”}”自成一行。 </p><p>  # -bli0 設(shè)置{ }縮排的格數(shù)為0 </p><p>  # -cli2 使用case時(shí),switch縮排的格數(shù) </p><p>  # -ss 若for或whiile區(qū)段只有一行時(shí),在分號(hào)前加上空格 </p&

86、gt;<p>  # -bad 在聲明區(qū)段后加上空白行 </p><p>  # -bbb 塊注釋前加空行 </p><p>  # -bap 函數(shù)結(jié)束后加空行 </p><p>  # -sc 在每行注釋左側(cè)加上星號(hào)(*)。 </p><p>  # -bc 在聲明區(qū)段中,若出現(xiàn)逗號(hào)即

87、換行。 </p><p>  # -sob 刪除多余的空白行 </p><p>  # -l100 非注釋行最長(zhǎng)100 </p><p>  # -ncs 不要在類型轉(zhuǎn)換后面加空格 </p><p>  # -nce 不要將else置于”}”之后 </p><p>  # -nut

88、 不要使用tab來(lái)縮進(jìn) </p><p>  INDET_FORMAT="-npro -kr -i4 -ts4 -bls -bl -bli0 -cli2 -ss -bap -sc -sob -l100 -ncs -nce -nut" </p><p>  find -iname "*.c" -exec indent $INDET_FORMAT {

89、} \; </p><p>  find -iname "*.h" -exec indent $INDET_FORMAT {} \; </p><p>  find -iname "*.h~" | xargs rm -rf {} \;</p><p><b>  功能說(shuō)明</b></p>

90、<p>  這一段程序的主要功能為:</p><p>  (1)在 /usr/sbin/目錄下創(chuàng)建format_sg文件</p><p> ?。?)更改其屬性為777</p><p><b>  接口說(shuō)明</b></p><p>  本程序的輸入?yún)?shù)為:INDET_FORMAT="-npro -kr

91、 -i4 -ts4 -bls -bl -bli0 -cli2 -ss -bap -sc -sob -l100 -ncs -nce -nut" </p><p><b>  局部數(shù)據(jù)結(jié)構(gòu)</b></p><p>  本程序共有6個(gè)局部變量及數(shù)據(jù)結(jié)構(gòu),其類型定義及語(yǔ)義如下:</p><p>  -npro 不要讀取indent的配置文

92、件.indent.pro </p><p>  # -kr 使用Kernighan&Ritchie的格式 </p><p>  # -i4 設(shè)置縮排的格數(shù)為4 </p><p>  # -di28 將聲明區(qū)段的變量置于指定的欄位(28) </p><p>  find -iname "*.c&quo

93、t; -exec dos2unix {} \; </p><p>  find -iname "*.h" -exec dos2unix {} \; </p><p>  find -iname "makefile" -exec dos2unix {} \; </p><p>  find -iname "Mak

94、efile" -exec dos2unix {} \;</p><p><b>  流程圖</b></p><p><b>  本程序的流程圖所示</b></p><p><b>  圖2 程序流程圖</b></p><p><b>  2.5 實(shí)例說(shuō)明:&

95、lt;/b></p><p><b>  format_sg</b></p><p>  [root@ShiGuang songjingbing]# format_sgdos2unix: converting file ./tcp_process.c to UNIX format ...dos2unix: converting file ./tcp_clie

96、nt.c to UNIX format ...dos2unix: converting file ./tcp_server.c to UNIX format ...dos2unix: converting file ./Makefile to UNIX format ...dos2unix: converting file ./Makefile to UNIX format ...[root@ShiGuang songjingb

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論