版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> *******************</p><p><b> 實踐教學</b></p><p> *******************</p><p><b> 計算機與通信學院</b></p><p><b> 2010年秋季學期</b>&
2、lt;/p><p><b> 操作系統(tǒng) 課程設(shè)計</b></p><p> 題 目:磁盤空間管理模擬實驗 </p><p> 專業(yè)班級: 08級計算機1班 </p><p> 姓 名: </p><p> 學 號:
3、 </p><p> 指導教師: ****** </p><p> 成 績: </p><p><b> 目 錄</b></p><p><b> 摘 要3</b></p><p
4、><b> 前 言4</b></p><p><b> 正 文5</b></p><p><b> 1. 實驗目的5</b></p><p><b> 2. 設(shè)計思想5</b></p><p> 3. 實驗結(jié)構(gòu)圖6</p&g
5、t;<p> 4. 各模塊的偽碼算法7</p><p> 5. 測試分析10</p><p> 6. 測試結(jié)果10</p><p><b> 7. 源程序14</b></p><p><b> 總 結(jié)20</b></p><p><b&
6、gt; 參考文獻21</b></p><p><b> 致 謝22</b></p><p><b> 摘 要</b></p><p> 要把文件信息存放在存儲介質(zhì)上,必須先找出存儲介質(zhì)上可供使用的空閑塊。存儲介質(zhì)上某個文件不再需要時,又要收回它所占的存儲空間作為空閑塊。用戶作業(yè)在執(zhí)行期間經(jīng)常要求建
7、立一個新文件或撤消一個不再需要的文件,因此,文件系統(tǒng)必須要為它們分配存儲空間或收回它所占的存儲空間。如何實現(xiàn)存儲空間的分配和收回,取決于對空閑塊的管理方法,主要有兩種對磁盤存儲空間的分配和收回的方法:位示圖法(用一張位示圖(簡稱位圖)來指示磁盤存儲空間的使用情況),空閑塊鏈接法(在UNIX操作系統(tǒng)中,把磁盤存儲空間的空閑塊成組鏈接)。</p><p> 關(guān)鍵詞:磁盤的分配和回收管理;位示圖;成組鏈接。<
8、/p><p><b> 前 言</b></p><p> 通過該題目的設(shè)計過程,掌握磁盤存儲管理的原理、軟件開發(fā)方法并提高解決實際問題的能力。學習使用位示圖管理磁盤空間的分配與回收,了解程序運行前和回收磁盤的物理地址過程。學會用模擬UNIX系統(tǒng)的成組鏈接法實現(xiàn)磁盤空間的管理。了解UNIX的命令及使用格式,熟悉UNIX/LINUX的常用基本命令,練習并掌握UNIX提供的
9、vi編輯器來編譯C程序,學會利用gcc、gdb編譯、調(diào)試C程序。希望通過本次設(shè)計過程可以提高自己的分析問題的能力和實際動手的能力,將學到的知識用于實踐中。</p><p><b> 正 文</b></p><p><b> 實驗目的</b></p><p> 磁盤格式化時,系統(tǒng)把磁盤存儲空間分成許多磁道。每個磁道又分
10、成若干個扇區(qū)(又叫做塊)。這些空間就是用來存放用戶文件的。當用戶的文件不再需要時,就應(yīng)該刪除。把一個文件存放到磁盤上時,可以組織成連續(xù)文件,鏈接文件,索引文件等。因此,磁盤空間的分配方法也有兩種,一種是連續(xù)空間的分配;一種是不連續(xù)空間的分配(又叫動態(tài)分配)。如何充分有效的利用磁盤空間,是操作系統(tǒng)應(yīng)解決的重要課題之一。通過本實驗,使學生對磁盤空間的分配與回收有一個較深入的理解。</p><p><b>
11、 設(shè)計思想</b></p><p><b> 位示圖法:</b></p><p> 一個簡單的管理方法是用一張位示圖(簡稱位圖)來指示磁盤存儲空間的使用情況。一個盤組的分塊確定后,根據(jù)分配的總塊數(shù)決定位圖由多少個字組成,位圖中的每一位與盤組分塊一一對應(yīng)。位示圖是一張可以反映磁盤空間是否被占有的模擬圖,用一個二維數(shù)組表示磁盤的空間,數(shù)組內(nèi)每一個元素表示磁
12、盤內(nèi)相應(yīng)的分塊,數(shù)組元素為“1”表示該塊已被占,“0”表示該塊為空。數(shù)組元素位置與磁盤分塊一一對應(yīng),即可描述出磁盤空間的利用情況。</p><p><b> 成組鏈接法:</b></p><p> 首先定義磁盤分配數(shù)組并初始化,9個一維數(shù)組分別表示9個空閑塊,程序運行時,先將專用塊A〔0〕復制到內(nèi)存中,然后進行功能選擇,分配時,查MA,從中找出空閑塊號,當一組的空
13、閑塊只剩第一塊時,應(yīng)把該塊中指出的下一組的空閑塊數(shù)和塊號復制到專用塊這,然后把該塊分配給申請者,當一組的空閑塊分配完后則把專用塊內(nèi)容(下一組鏈接情況)復制到內(nèi)存,再為申請者分配。 回收時,輸入待回收的塊號,查找該塊是否已被分配,若未分配,退出,否則,當前組不滿規(guī)定塊數(shù)時,將歸還塊登記入該組,若當前組已滿,則另建一新組,這時歸還塊作為新一組的第一塊,應(yīng)把內(nèi)存中登記的一組鏈接情況MA復制到歸還塊中,然后在MA這重新登記一個新組。顯示分組情
14、況。系統(tǒng)初始化時先將專用塊內(nèi)容讀入 內(nèi)存 ,當有申請空閑塊要求時,就直接在內(nèi)存專用塊中找到哪些塊是空閑的,每分配一塊后把空閑塊數(shù)減 1。但要把一組中第一塊分配出去之前,可以先把登記在該塊中的下一組的塊號保存在專用塊中(此時 ,原專用塊中的信息巳經(jīng)無用了 ,因它指示的一組空閑塊都已分配掉)。當中文組空閑塊分配完后,則將下一組內(nèi)容讀入內(nèi)存專用塊中,以便繼續(xù)分配時查找。</p><p><b> 實驗結(jié)構(gòu)圖
15、</b></p><p><b> 各模塊的偽碼算法</b></p><p><b> 對位示圖法</b></p><p><b> 定義分配函數(shù):</b></p><p> void assign()</p><p><b&g
16、t; { </b></p><p> unsigned int n=0,i,s=1,j,k,q,m,sq,zhm,cid;</p><p> for(i=0 ,k=0;i<5;i++)</p><p> {q=size[i] ;</p><p><b> j=0;</b></p>
17、<p> while(1) </p><p><b> { </b></p><p><b> j++ ;</b></p><p> if((q%2)==0)</p><p> { if(j==1) size[i]+=1;</p><p><
18、b> else</b></p><p> {for(m=1;m<j;m++)</p><p><b> s*=2 ;</b></p><p> size[i]+=s;}</p><p><b> k=1;</b></p><p> br
19、eak ;/*完成后退出*/</p><p><b> }</b></p><p><b> q=q/2;</b></p><p><b> }</b></p><p> if(k==1) /*將找到的位示圖位轉(zhuǎn)換成物理地址*/</p><p>
20、 { if((j-1)/8==1)</p><p> {zhm=2*i+1;</p><p> cid=(j-9)/4;</p><p> sq=(j-9)%4;}</p><p><b> else</b></p><p><b> {zhm=2*i;</b>&
21、lt;/p><p> cid=(j-1)/4;</p><p> sq=(j-1)%4;</p><p><b> }</b></p><p><b> n=1;</b></p><p> break;/*退出for循環(huán)*/</p><p>&l
22、t;b> }</b></p><p><b> }</b></p><p><b> if(n==0)</b></p><p> printf("沒有空間可分配!\n");</p><p><b> else</b></p&
23、gt;<p> {printf("分配成功!\n");/*輸出物理地址*/</p><p> printf("柱面號為: %d\n",zhm);</p><p> printf("磁道號為: %d\n",cid);</p><p> printf("扇區(qū)號為: %d\n&qu
24、ot;,sq);</p><p><b> }</b></p><p> printf("分配后的位示圖為:\n");</p><p><b> out();</b></p><p><b> }</b></p><p>&l
25、t;b> 定義回收函數(shù):</b></p><p> void callback()/*回收函數(shù)*/</p><p> { unsigned int i,j,s=1,q,m,sq,zhm,cid;</p><p> printf("確定要回收塊的柱面號、磁道號、扇區(qū)號:\n");</p><p>
26、 printf("請輸入柱面號:");</p><p> scanf("%d",&zhm);</p><p> printf("\n請輸入磁道號:");</p><p> scanf("%d",&cid);</p><p> printf
27、("\n請輸入扇區(qū)號:");</p><p> scanf("%d",&sq);</p><p> if(zhm%2==0)/*計算對應(yīng)的位示圖位置*/</p><p> { i=zhm/2;</p><p> j=cid*4+sq+1;</p><p><
28、b> }</b></p><p><b> else</b></p><p> { i=(zhm-1)/2;</p><p> j=cid*4+sq+9;</p><p><b> }</b></p><p> q=size[i];</p&
29、gt;<p><b> m=j-1;</b></p><p><b> while(m)</b></p><p><b> {q=q/2;</b></p><p><b> m--;}</b></p><p> if(q%2==1)
30、/*判斷該塊是否被分配*/</p><p> {if(j==1)size[i]-=1;/*將位示圖對應(yīng)為置零*/</p><p><b> else </b></p><p> {for(m=1;m<j;m++)</p><p><b> s*=2 ;</b></p&g
31、t;<p> size[i]-=s;}</p><p> printf("回收成功!");</p><p> printf("回收后的位示圖為:\n");</p><p><b> out();</b></p><p><b> }</b&g
32、t;</p><p><b> else</b></p><p> printf("該塊以被分配!");</p><p><b> }</b></p><p><b> 對成組鏈接法</b></p><p><b>
33、 分配函數(shù):</b></p><p> void assign() </p><p><b> {int s,i;</b></p><p> if(MA[0]>1) /*若該組不止一個空閑塊*/</p><p> { i=MA[0];</p><p><b&g
34、t; s=MA[i];</b></p><p><b> MA[0]--;</b></p><p> printf("\nnumber of the block:%d",s); </p><p><b> }</b></p><p>
35、 else if(MA[0]==1) /*只剩一個空閑塊*/</p><p> {if(MA[1]!=0) /*還有其它空閑塊組*/</p><p> { s=MA[1];</p><p> for(i=0;i<=3;i++)</p><p> A[0][i]=A[s][i];</p><p>
36、;<b> MA[0]--;</b></p><p> printf("\nnumber of the block:%d",s); </p><p><b> }</b></p><p> else /*沒有其它空閑塊組*/</p><p> { prin
37、tf("\nThere isn't any space");</p><p><b> return;</b></p><p><b> } </b></p><p><b> }</b></p><p> else /
38、*當前組已分配完*/</p><p> {for(i=0;i<=3;i++)</p><p> MA[i]=A[0][i];</p><p> assign(); </p><p><b> }</b></p><p> display(); /*顯示分組情況*/
39、</p><p><b> }</b></p><p><b> 回收函數(shù):</b></p><p> void callback() </p><p> { int i,j,temp;</p><p> printf("\ninput the No.
40、 of the block you want to callback:");</p><p> scanf("%d",&j);</p><p> getchar(); /*得到待回收的空閑塊號*/</p><p> for(temp=1;temp<=No;temp++)</p><p&g
41、t; { if(mark[temp]==j)</p><p><b> break;}</b></p><p> if(temp<No+1) /*若該空閑塊已在,退出*/</p><p> { printf("\nThe block is in the disk");</p><p>
42、<b> return;</b></p><p><b> } </b></p><p> if(MA[0]<3) /*當前組不滿3塊*/</p><p> { i=MA[0];</p><p> MA[i+1]=j;</p><p><
43、b> MA[0]++;</b></p><p><b> }</b></p><p> else /*已有3塊*/</p><p> {for(i=0;i<=3;i++)</p><p> A[j][i]=MA[i];</p><p><b>
44、 MA[0]=1;</b></p><p> MA[1]=j; </p><p><b> } </b></p><p> display(); /*顯示*/ </p><p><b> }</b></p><p><
45、b> 測試分析</b></p><p> 用位示圖表示的磁盤空間可以很形象的反映出磁盤中空間的利用情況,不足之處在于每次分配與回收只可以對單一的分塊進行操作,不能同時進行幾個塊的分配與回收,要進行多個塊的分配時,只能單獨分配,且塊之間沒有相互鏈接,對于大的空間分配只能在連續(xù)空間進行。</p><p> 用成組鏈接法模擬的磁盤空間能夠解決用位示圖中存在的問題,它可以通
46、過鏈表的形式存取信息,對于較大的空間分配,若一個磁盤空間不夠,通過指針找到下一個空閑的分區(qū),但操作過程比較復雜,沒有位示圖方便,簡捷。</p><p><b> 測試結(jié)果</b></p><p><b> 位示圖法</b></p><p><b> 編譯及連接時界面:</b></p>
47、<p><b> 剛運行時界面:</b></p><p><b> 分配空間時界面:</b></p><p><b> 回收空間時界面:</b></p><p><b> 成組鏈接法</b></p><p><b> 分配
48、空間時界面:</b></p><p><b> 回收空間時界面:</b></p><p><b> 源程序</b></p><p><b> 位示圖法:</b></p><p> #include<stdio.h></p><
49、p> unsigned int size[5]={1,1,1,1,1};/*保存位示圖*/</p><p> void out()/*輸出位示圖函數(shù)*/</p><p> { unsigned int i,j,m;</p><p> for(j=0;j<5;j++)/*循環(huán)輸出size的各個數(shù)的各個二進制位*/</p><p
50、> {m=size[j];</p><p> for(i=0;i<16;i++)/**/</p><p> {printf("%d ",m%2);</p><p><b> m=m/2;</b></p><p><b> if(i==7)</b></p
51、><p> printf("\n");</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></
52、p><p> void callback()/*回收函數(shù)*/</p><p> { unsigned int i,j,s=1,q,m,sq,zhm,cid;</p><p> printf("確定要回收塊的柱面號、磁道號、扇區(qū)號:\n");</p><p> printf("請輸入柱面號:");&
53、lt;/p><p> scanf("%d",&zhm);</p><p> printf("\n請輸入磁道號:");</p><p> scanf("%d",&cid);</p><p> printf("\n請輸入扇區(qū)號:");</p&
54、gt;<p> scanf("%d",&sq);</p><p> if(zhm%2==0)/*計算對應(yīng)的位示圖位置*/</p><p> { i=zhm/2;</p><p> j=cid*4+sq+1;</p><p><b> }</b></p>&
55、lt;p><b> else</b></p><p> { i=(zhm-1)/2;</p><p> j=cid*4+sq+9;</p><p><b> }</b></p><p> q=size[i];</p><p><b> m=j-1;
56、</b></p><p><b> while(m)</b></p><p><b> {q=q/2;</b></p><p><b> m--;}</b></p><p> if(q%2==1)/*判斷該塊是否被分配*/</p><p&
57、gt; {if(j==1)size[i]-=1;/*將位示圖對應(yīng)為置零*/</p><p><b> else </b></p><p> {for(m=1;m<j;m++)</p><p><b> s*=2 ;</b></p><p> size[i]-=s;}<
58、/p><p> printf("回收成功!");</p><p> printf("回收后的位示圖為:\n");</p><p><b> out();</b></p><p><b> }</b></p><p><b>
59、; else</b></p><p> printf("該塊以被分配!");</p><p><b> }</b></p><p> void assign()</p><p><b> { </b></p><p> unsign
60、ed int n=0,i,s=1,j,k,q,m,sq,zhm,cid;</p><p> for(i=0 ,k=0;i<5;i++)</p><p> {q=size[i] ;</p><p><b> j=0;</b></p><p> while(1) </p><p>
61、<b> { </b></p><p><b> j++ ;</b></p><p> if((q%2)==0)</p><p> { if(j==1) size[i]+=1;</p><p><b> else</b></p><p> {
62、for(m=1;m<j;m++)</p><p><b> s*=2 ;</b></p><p> size[i]+=s;}</p><p><b> k=1;</b></p><p> break ;/*完成后退出*/</p><p><b>
63、 }</b></p><p><b> q=q/2;</b></p><p><b> }</b></p><p> if(k==1) /*將找到的位示圖位轉(zhuǎn)換成物理地址*/</p><p> { if((j-1)/8==1)</p><p> {zhm
64、=2*i+1;</p><p> cid=(j-9)/4;</p><p> sq=(j-9)%4;}</p><p><b> else</b></p><p><b> {zhm=2*i;</b></p><p> cid=(j-1)/4;</p>
65、<p> sq=(j-1)%4;</p><p><b> }</b></p><p><b> n=1;</b></p><p> break;/*退出for循環(huán)*/</p><p><b> }</b></p><p><
66、b> }</b></p><p><b> if(n==0)</b></p><p> printf("沒有空間可分配!\n");</p><p><b> else</b></p><p> {printf("分配成功!\n");
67、/*輸出物理地址*/</p><p> printf("柱面號為: %d\n",zhm);</p><p> printf("磁道號為: %d\n",cid);</p><p> printf("扇區(qū)號為: %d\n",sq);</p><p><b> }<
68、/b></p><p> printf("分配后的位示圖為:\n");</p><p><b> out();</b></p><p><b> }</b></p><p> void menu() /*功能選擇函數(shù)*/</p&g
69、t;<p> { int choice;</p><p> char judge;</p><p> printf("\n請選擇操作:(1--分配,2--回收):");</p><p> scanf("%d",&choice);</p><p> getchar();
70、</p><p> if(choice==1)</p><p><b> assign();</b></p><p> else if(choice==2)</p><p> callback();</p><p><b> else</b></p>
71、<p> printf("\n沒有此項!");</p><p> printf("\n繼續(xù)還是退出?(y--繼續(xù),n--退出):");</p><p> scanf("%c",&judge);</p><p> getchar();</p><p> if
72、(judge=='y')</p><p><b> menu();</b></p><p><b> else</b></p><p> { printf("\n現(xiàn)在的位示圖:\n");</p><p><b> out();</b&g
73、t;</p><p> printf("\n按任意鍵退出!\n");</p><p> getchar();</p><p><b> }</b></p><p><b> }</b></p><p><b> main()</b
74、></p><p><b> {</b></p><p> printf("\t\t————歡迎進入磁盤空間管理模擬實驗———— \n");</p><p> printf( " \n"); </p>&
75、lt;p> printf("★★★★08級計算機一 08240128 李彥博★★★★\n");</p><p> printf("﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌\n");</p><p><b> out();</b></p><p><b>
76、; menu();</b></p><p><b> }</b></p><p><b> 成組鏈接法:</b></p><p> #include<stdio.h></p><p> int MA[4]; /*空閑塊數(shù)組*/</p><p&g
77、t; intA[9][4]={{3,1,2,3},{3,4,5,6},{0,0,0,0},{0,0,0,0},{3,0,7,8},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; /*磁盤空間*/</p><p> int mark[9]; /*存放已分配的塊*/</p><p> int No=0; /*已分配的塊數(shù)*/</p&g
78、t;<p> void display1()</p><p> {int i,j,temp,count;</p><p><b> No=0;</b></p><p> if(MA[1]!=0)</p><p><b> {i=MA[0];</b></p>&l
79、t;p> printf("\ngroup1:");</p><p> for(j=1;j<=i;j++)</p><p> { printf("%d ",MA[j]);</p><p> mark[++No]=MA[j];</p><p> }
80、 </p><p> temp=MA[1];</p><p><b> count=2;</b></p><p> while(A[temp][1]!=0)</p><p> { printf("\ngroup%d:",count
81、);</p><p> i=A[temp][0];</p><p> for(j=1;j<=i;j++)</p><p> {printf("%d ",A[temp][j]);</p><p> mark[++No]=A[temp][j];</p><p> }
82、 </p><p><b> count++;</b></p><p> temp=A[temp][1];</p><p><b> }</b></p><p> printf("\ngroup%d:",count);</p><p>
83、i=A[temp][0];</p><p> for(j=2;j<=i+1;j++)</p><p> if(A[temp][j]>0)</p><p> {printf("%d ",A[temp][j]);</p><p> mark[++No]=A[temp][j];</p>
84、<p> } </p><p><b> }</b></p><p><b> else</b></p><p><b> {i=MA[0];</b></p><p><b> if(i==1)</b></p
85、><p> printf("\nThe blocks are all assigned");</p><p> else </p><p> {printf("\ngroup1:");</p><p> for(j=2;j<=i;j++)</p><p>
86、{printf("%d ",MA[j]);</p><p> mark[++No]=MA[j];</p><p> } </p><p> } </p><p><b> }</b></p><p><b>
87、}</b></p><p> void display() /*顯示分組情況*/</p><p> { int i,j;</p><p> if(MA[0]!=0)</p><p> display1(); </p><p> else </p>&
88、lt;p><b> {i=MA[1];</b></p><p> for(j=0;j<=3;j++)</p><p> MA[j]=A[i][j]; </p><p> display1(); </p><p><b> } </b></
89、p><p><b> }</b></p><p> void assign() /*分配空閑塊*/</p><p><b> {int s,i;</b></p><p> if(MA[0]>1) /*若該組不止一個空閑塊*/</p><p> { i=MA[0
90、];</p><p><b> s=MA[i];</b></p><p><b> MA[0]--;</b></p><p> printf("\nnumber of the block:%d",s); </p><p><b> }&l
91、t;/b></p><p> else if(MA[0]==1) /*只剩一個空閑塊*/</p><p> {if(MA[1]!=0) /*還有其它空閑塊組*/</p><p> { s=MA[1];</p><p> for(i=0;i<=3;i++)</p><p> A[0][i
92、]=A[s][i];</p><p><b> MA[0]--;</b></p><p> printf("\nnumber of the block:%d",s); </p><p><b> }</b></p><p> else /*沒有其它空閑塊組*
93、/</p><p> { printf("\nThere isn't any space");</p><p><b> return;</b></p><p><b> } </b></p><p><b> }</b><
94、/p><p> else /*當前組已分配完*/</p><p> {for(i=0;i<=3;i++)</p><p> MA[i]=A[0][i];</p><p> assign(); </p><p><b> }</b></p><p
95、> display(); /*顯示分組情況*/ </p><p><b> }</b></p><p> void callback() /*回收空閑塊*/</p><p> { int i,j,temp;</p><p> printf("\ninput the No.
96、of the block you want to callback:");</p><p> scanf("%d",&j);</p><p> getchar(); /*得到待回收的空閑塊號*/</p><p> for(temp=1;temp<=No;temp++)</p><p>
97、; { if(mark[temp]==j)</p><p><b> break;</b></p><p><b> }</b></p><p> if(temp<No+1) /*若該空閑塊已在,退出*/</p><p> { printf("\nThe block is
98、 in the disk");</p><p><b> return;</b></p><p><b> } </b></p><p> if(MA[0]<3) /*當前組不滿3塊*/</p><p> { i=MA[0];</p><p
99、> MA[i+1]=j;</p><p><b> MA[0]++;</b></p><p><b> }</b></p><p> else /*已有3塊*/</p><p> {for(i=0;i<=3;i++)</p><p> A[j]
100、[i]=MA[i];</p><p><b> MA[0]=1;</b></p><p> MA[1]=j; </p><p><b> } </b></p><p> display(); /*顯示*/ </p><p><b&
101、gt; }</b></p><p> void menu() /*功能選擇函數(shù)*/</p><p> { int choice;</p><p> char judge;</p><p> printf("\n做出選擇:(1--分配,2--回收):");</p><p&g
102、t; scanf("%d",&choice);</p><p> getchar();</p><p> if(choice==1)</p><p><b> assign();</b></p><p> else if(choice==2)</p><p>
103、 callback();</p><p><b> else</b></p><p> printf("\n錯誤請求!");</p><p> printf("\ncontinue or not (y--Yes,n--Not):");</p><p> scanf(&
104、quot;%c",&judge);</p><p> getchar();</p><p> if(judge=='y')</p><p><b> menu();</b></p><p><b> else</b></p><p>
105、 { printf("\nNow the graph is:");</p><p> display();</p><p> printf("\npress any key to quit");</p><p> } </p><p><b> } </b&g
106、t;</p><p><b> main()</b></p><p> { int i;</p><p> for(i=0;i<=3;i++)</p><p> MA[i]=A[0][i];</p><p> display();</p><p><
107、;b> menu();</b></p><p><b> } </b></p><p><b> 總 結(jié)</b></p><p> 經(jīng)過本次課程設(shè)計,完成題目“磁盤空間管理模擬實驗”, 熟悉了UNIX/LINUX的常用基本命令,理解并掌握了UNIX提供的vi編輯器來編譯C程序,學會利用gcc、gd
108、b編譯、調(diào)試C程序。</p><p> 做課程設(shè)計是為了對平時學習的理論知識與實際操作相結(jié)合,在理論和實踐上進一步鞏固已學基本理論及應(yīng)用知識并加以綜合提高,學會將知識應(yīng)用于實際的方法,提高分析和解決問題的能力。在做課程設(shè)計的過程中,深深感覺到自身所學知識的有限。有些題目書本上沒有提及,所以就沒有去研究過,做的時候突然間覺得自己真的有點無知,雖然現(xiàn)在去看依然可以解決問題,但還是浪費了許多,這一點是必須在以后的學習
109、中加以改進的地方,同時也要督促自己在學習的過程中不斷的完善自我。在設(shè)計過程中的思考和討論,對現(xiàn)有知識能夠運用計算機來解決現(xiàn)實生活中的實際問題確立了信心,對模塊化程序設(shè)計思想有了比較清晰的印象,為今后的程序設(shè)計奠定了一定的心理和技術(shù)上的準備。</p><p> 這次課程設(shè)計加強了我對計算機操作系統(tǒng)的認識,對我個人而言是對所學課程內(nèi)容掌握情況的一次自我驗證。通過課程設(shè)計提高了我對所學知識的綜合應(yīng)用能力,全面檢查并掌
110、握所學的內(nèi)容,培養(yǎng)獨立思考,在分析問題、解決問題的過程中,更是獲得一種成功的喜悅。</p><p><b> 參考文獻</b></p><p> 湯子瀛,哲鳳屏.《計算機操作系統(tǒng)》.西安電子科技大學學出版社.</p><p> 王清,李光明.《計算機操作系統(tǒng)》.冶金工業(yè)出版社.</p><p> 孫鐘秀等. 操作
111、系統(tǒng)教程. 高等教育出版社</p><p> 曾明. Linux操作系統(tǒng)應(yīng)用教程. 陜西科學技術(shù)出版社. </p><p> 張麗芬,劉利雄.《操作系統(tǒng)實驗教程》. 清華大學出版社.</p><p> 孟靜, 操作系統(tǒng)教程--原理和實例分析. 高等教育出版社</p><p> 周長林,計算機操作系統(tǒng)教程. 高等教
112、育出版社</p><p> 張堯?qū)W,計算機操作系統(tǒng)教程,清華大學出版社</p><p> 任滿杰,操作系統(tǒng)原理實用教程,電子工業(yè)出版社</p><p><b> 致 謝</b></p><p> 完成項目以后,我了解了“團結(jié)”、“耐心”、“基礎(chǔ)”、“效率”、“溝通”的重要性。在此,我衷心的感謝王旭陽老師對我細心
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計報告磁盤空間管理
- linux操作系統(tǒng)課程設(shè)計
- 操作系統(tǒng)課程設(shè)計---磁盤文件操作
- 操作系統(tǒng)課程設(shè)計---磁盤調(diào)度報告
- 操作系統(tǒng)課程設(shè)計---磁盤調(diào)度算法
- 操作系統(tǒng)課程設(shè)計報告----磁盤管理模塊告
- 操作系統(tǒng)課程設(shè)計——操作系統(tǒng)課程設(shè)計模擬操作系統(tǒng)
- linux課程設(shè)計報告--linux操作系統(tǒng)應(yīng)用
- 操作系統(tǒng)課程設(shè)計--磁盤調(diào)度算法實踐
- 操作系統(tǒng)課程設(shè)計報告--磁盤調(diào)度算法
- 操作系統(tǒng)課程設(shè)計報告--磁盤調(diào)度算法
- 操作系統(tǒng)磁盤調(diào)度算法課程設(shè)計報告
- 操作系統(tǒng)課程設(shè)計報告--磁盤調(diào)度算法
- 操作系統(tǒng)課程設(shè)計報告--磁盤調(diào)度算法
- 操作系統(tǒng)課程設(shè)計-磁盤調(diào)度模擬法
- cscan磁盤調(diào)度算法---操作系統(tǒng)課程設(shè)計
- linux操作系統(tǒng)基礎(chǔ)課程設(shè)計
- 操作系統(tǒng)課程設(shè)計-- 操作系統(tǒng)
- 操作系統(tǒng)課程設(shè)計
- 操作系統(tǒng)課程設(shè)計
評論
0/150
提交評論