操作系統(tǒng)課程設計論文(設計)_第1頁
操作系統(tǒng)課程設計論文(設計)_第2頁
操作系統(tǒng)課程設計論文(設計)_第3頁
操作系統(tǒng)課程設計論文(設計)_第4頁
操作系統(tǒng)課程設計論文(設計)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河北大學2009屆本科生學年論文(設計)目 錄1 引言11.1 操作系統(tǒng)課程設計的性質11.2 操作系統(tǒng)課程設計的目的11.3 操作系統(tǒng)課程設計的具體內容和要求11.4 操作系統(tǒng)課程設計的意義11.5 論文的結構安排12 系統(tǒng)分析與設計22.1 系統(tǒng)要求22.2 模塊說明22.2.1 文件的邏輯結構22.2.2 文件、目錄的物理結構32.2.3 磁盤塊的分配與回收32.2.4 用戶接口43 系統(tǒng)實現(xiàn)43.1 磁盤管理43.1.1 全局變量43.1.2 初始化43.1.3 磁盤塊的分配53.1.4 磁盤塊的回收63.2文件63.2.1 查找同名文件63.2.2 移動文件73.3目錄93.2.1

2、刪除目錄94體會與收獲1011河北大學2009屆本科生學年論文(設計)1 引言1.1 操作系統(tǒng)課程設計的性質操作系統(tǒng)是計算機科學與技術專業(yè)的主要專業(yè)基礎課和主干課。操作系統(tǒng)對計算機系統(tǒng)資源實施管理,是所有其他軟件與計算機硬件的唯一接口,所有用戶在使用計算機時都要得到操作系統(tǒng)提供的服務。操作系統(tǒng)課程設計有助于學生對操作系統(tǒng)的地位,作用產生更全面更詳盡的認識、理解。1.2 操作系統(tǒng)課程設計的目的 1、通過模擬操作系統(tǒng)原理的實現(xiàn),加深對操作系統(tǒng)工作原理和操作系統(tǒng)實現(xiàn)方法的理解;2、通過模擬操作系統(tǒng)原理的實現(xiàn)練習編程。1.3 操作系統(tǒng)課程設計的具體內容和要求1、文件管理和用戶接口;2、存儲管理;3、設

3、備管理;4、進程管理。1.4 操作系統(tǒng)課程設計的意義通過模擬操作系統(tǒng)原理的實現(xiàn),加深對操作系統(tǒng)工作原理和操作系統(tǒng)實現(xiàn)方法的理解,掌握了初步分析實際問題的能力,為其今后在相關領域開展工作打下堅實的基礎。同時使學生系統(tǒng)科學地受到分析問題和解決問題的訓練,提高運用理論知識解決實際問題的能力。1.5 論文的結構安排本論文主要闡述四部分內容。一、引言部分,主要說明本次操作系統(tǒng)課程設計的性質、教學目的、教學任務與要求、意義以及論文的結構安排;二、系統(tǒng)分析與設計部分,主要闡述系統(tǒng)的主要功能模塊以及每個模塊計劃采用的實現(xiàn)方法和原理;三、系統(tǒng)實現(xiàn)部分,主要通過pdl等工具描述主要模塊的實現(xiàn)流程;四、結束語部分,

4、主要書寫已經實現(xiàn)的本系統(tǒng)存在的不足、改進方案和在課程設計中的體會與收獲。2 系統(tǒng)分析與設計2.1 系統(tǒng)要求1、文件管理和用戶接口部分實現(xiàn)的主要是單用戶的磁盤文件管理部分,包括:(1)、文件的邏輯結構(2)、文件的物理結構(3)、目錄結構(4)、文件與目錄操作(5)、磁盤塊分配與回收2、磁盤模擬(1)、磁盤是斷電后內容不丟失的,因此用文件模擬磁盤。要求模擬系統(tǒng)存在兩塊硬盤:(2)、用一個文件disk1模擬磁盤(3)、磁盤的每個盤塊128字節(jié),模擬磁盤共有256塊。(4)、磁盤中第0塊存放專用塊內容,第1、2塊存放根目錄,其余存放子目錄和文件。2.2 模塊說明2.2.1 文件的邏輯結構1、文件的邏

5、輯結構采用流式結構;2、文件的內容:文件的內容均采用文本文件,系統(tǒng)中有兩種文件:(1)、一種是存放任意字符的文件(2)、一種是可執(zhí)行文件:可執(zhí)行文件的內容就是系統(tǒng)內進程的程序體。3、文件中要有一種特定命令的“可執(zhí)行”文件,文件中的命令非常簡單,僅僅包括以下幾種指令:(1)、x=?: 給i賦值一位數(shù)。(2)、x+: i加1。(3)、x-: i減1。(4)、!?: 第一個?為a,b,c中某個設備,第二個?為一位數(shù),表示使用設備的時間(由于沒有實際設備,所以無法知道設備何時工作完成,所以假定一個數(shù),這個數(shù)隨著系統(tǒng)時間增加而遞減,減到0時,認為是設備工作完成)。(5)、end: 表示文件結束,同時將結

6、果寫入文件out,其中包括文件路徑名和i的值。2.2.2 文件、目錄的物理結構文件的物理結構采用索引文件方式。索引文件由三張表組成,第一張表為一個256*6的二維表,每一行記錄文件的索引信息,包括文件名(目錄名)、文件目錄、文件屬性;第二張表是一個256*128的二維表,存放著文件的索引塊號;第三張表是一個長度為256的一維表,第i個單元代表第一張表與第二張表的第i行信息是否為有效信息。目錄采用三級目錄,最多能實現(xiàn)“我的電腦c:folderfolder文件”。采用目錄項分解法,即把目錄分為兩部分:符號目錄項(文件名即相應的盤塊號)和基本目錄項(包含除了文件名外的其余全部信息)。具體方式如圖2-

7、1:圖2-1 目錄分項分解圖2.2.3 磁盤塊的分配與回收磁盤使用情況用空閑塊成組鏈接法來記錄:把空閑塊分成若干組,把指向一組中各空閑塊的指針集中在一起,每一組的第一個空閑塊中登記下一組空閑塊的塊號和空閑塊數(shù),余下不足一組塊數(shù)的空閑塊的塊號級快數(shù)登記在一個專用塊中,這樣既可方便查找,又可減少為修改指針而啟動的磁盤的次數(shù),在本系統(tǒng)中將第0塊作為專用塊,其余的存放在一個二維數(shù)組中。每一個空閑塊可索引32項,一共有四個空閑塊,可索引128塊。圖2-2是空閑塊成組鏈接示意圖:圖2-2 空閑塊成組鏈接示意圖2.2.4 用戶接口用戶接口提供用戶命令接口,具體實現(xiàn)以下命令:1.創(chuàng)建文件:create 文件名

8、2.拷貝文件:copy 源文件名 目標文件名 3.刪除文件:delete 文件名4.移動文件:move 源文件名 目標文件名(磁盤內和磁盤間文件移動不同,磁盤內的移動實際只是目錄的改變,并不需要真的移動文件;磁盤間的文件移動實際上是先拷貝文件到目標磁盤,然后再刪除源文件。)5.編輯文件:edit 文件名(此命令完成對文件的編輯,只讀文件不可以修改。)6.改變文件屬性:change 文件名 屬性(將文件在只讀和非只讀、隱藏和非隱藏之間轉換。)7.磁盤格式化命令:format8建立目錄:makdir 目錄名(建立目錄,若有同名目錄存在,則建立失敗。)9.刪除目錄:deldir 目錄名(既可以刪除空

9、目錄,又可以刪除非空目錄,對與非空目錄,首先要刪除其下文件和目錄,然后才能刪除其本身。)3 系統(tǒng)實現(xiàn)3.1 磁盤管理3.1.1 全局變量public byte menu = new byte256; /根目錄,兩個盤塊public byte disk = new byte32768; /每個盤塊128字節(jié),每個磁盤128塊。兩個盤塊 public int zmy_point = 31; /空閑首地址指針public int zmy_get = 31; /得到的空閑區(qū)域指針public int zmy_num = new int4;public int zmy_sum = 0; /分出的空閑塊數(shù)

10、static int zmy_k = 0; /回收時回收區(qū)的第二維角標public byte, zmy_block = new byte32, 3; /空閑塊3.1.2 初始化根據(jù)成組連接法,將磁盤的空閑塊進行鏈接,具體如下:public void create() zmy_num0 = 32; /專用塊剩余塊數(shù) zmy_num1 = 32; zmy_num2 = 64; zmy_num3 = 96; for (int i = 3; i 32; i+)/專用塊 diski = convert.tobyte(i); /索引快 for (int i = 0; i 32; i+) zmy_block

11、i, 0 = convert.tobyte(zmy_num1+); for (int i = 0; i 32; i+) zmy_blocki, 1 = convert.tobyte(zmy_num2+); for (int i = 0; i 1 i=l+空閑塊數(shù); 從i單元得到一個空閑塊號; 把該塊分配給申請者; 空閑塊數(shù)減一;當空閑塊數(shù)=1 取出l+1單元內容(第一塊塊號或0); 其值=0無空閑塊,申請失敗提示; 其值!=0 把該塊內容復制到專用塊內;把該塊分配給申請者;專用塊的內容讀到內存l開始的區(qū)域。3.1.4 磁盤塊的回收釋放空閑塊的時候與回收正好相反,從后往前分配,先將釋放的空閑塊放

12、到第一組,第一組滿了,在第一組前再開辟一組,之前的第一組變成第二組。具體算法如下:查詢l單元內容(空閑塊數(shù))當空閑塊數(shù)32 空閑塊數(shù)加一;j=l+空閑塊數(shù); 歸還該塊給j單元; 當空閑塊數(shù)=32 把內存中登記的信息寫入歸還塊中; 把歸還號填入l+1單元; 把l單元置1。3.2 文件3.2.1 查找同名文件查找是否存在同名文件只需查詢索引表即可。具體算法如下:分割路徑;如果路徑長度為6,代表三級文件for(int i=0;i256;i+)找尋表zmy_path的第一列,看是否與目標文件符合;如果符合,繼續(xù)查找zmy_path的第二列,看是否與目標文件符合;如果符合,繼續(xù)查找zmy_path的第三

13、列,看是否與目標文件符合;如果符合,繼續(xù)查找zmy_path的第四、五列,看是否與目標文件符合;如果符合,返回找到的行號i;如果不符合,返回-1;如果路徑長度為5,代表二級文件for(int i=0;i256;i+)找尋表zmy_path的第一列,看是否與目標文件符合;如果符合,繼續(xù)查找zmy_path的第二列,看是否與目標文件符合;如果符合,繼續(xù)查找zmy_path的第三、四列,看是否與目標文件符合;如果符合,返回找到的行號i;如果不符合,返回-1;如果路徑長度為4,代表根級文件for(int i=0;i256;i+)找尋表zmy_path的第一列,看是否與目標文件符合;如果符合,繼續(xù)查找z

14、my_path的第二、三列,看是否與目標文件符合;如果符合,返回找到的行號i;如果不符合,返回-1;該算法既可以用來找是否存在同名文件,也可以用于查找目標文件是否存在。3.2.2 移動文件由于該系統(tǒng)的目錄為三級目錄,故移動文件時會出現(xiàn)5種情況:(1)、兩個一級目錄下文件;(2)、一個一級目錄下文件,一個二級目錄下文件;(3)、兩個二級目錄下文件;(4)、一個二級目錄下文件,一個三級目錄下文件;(5)、兩個三級目錄下文件。每種情況又分為同目錄下文件,不同目錄下文件。具體算法如下:查找目標文件是否存在;如果目標文件不存在出錯提示;如果目標文件存在返回源文件在目錄表中的位置,以修改目錄登記項;如果是

15、兩個一級目錄下文件如果是相同目錄下的文件修改目錄項;如果是不同目錄下的文件調用copy函數(shù),將源文件復制到目標處;調用delete函數(shù),刪除源文件;修改目錄項;如果是一個一級目錄下文件,一個二級目錄下文件如果是“move x:a.txt y:foldera.txt”情況如果是不同根目錄查找目標文件夾是否存在,源文件在目標文件夾中是否存在同名文件;如果不存在同名文件如果目標文件夾不存在,創(chuàng)建目標文件夾;刪除源文件;修改目錄項;如果是同一根目錄查找目標文件夾是否存在,源文件在目標文件夾中是否存在同名文件;如果目標文件夾存在,無重名文件修改登記項;否則創(chuàng)建目標文件夾;修改目錄項;如果是“move y

16、:foldera.txt x:a.txt”情況如果是同一根目錄修改登記項;如果是不同根目錄調用拷貝函數(shù)復制文件;修改登記項;如果是兩個二級目錄下文件如果是同目錄下文件修改登記項;如果是不同目錄下文件查看目標文件夾是否存在;如果不存在創(chuàng)建目標文件夾;修改登記項;如果是一個二級目錄下文件,一個三級目錄下文件查看是否是“move y:folder a.txt x: folder folder a.txt”情況如果是不同根目錄查找目標文件夾是否存在,源文件在目標文件夾中是否存在同名文件;如果不存在同名文件如果目標文件夾不存在,創(chuàng)建目標文件夾;刪除源文件;修改目錄項;如果是同一根目錄查找目標文件夾是否存

17、在,源文件在目標文件夾中是否存在同名文件;如果目標文件夾存在,無重名文件修改登記項;否則創(chuàng)建目標文件夾;修改目錄項;查看是否是“move x: folder folder a.txt y:folder a.txt”情況如果是同一根目錄修改登記項;如果是不同根目錄調用拷貝函數(shù)復制文件;修改登記項;如果是兩個三級目錄下文件如果是同目錄下文件修改登記項;如果是不同目錄下文件查看目標文件夾是否存在;如果不存在創(chuàng)建目標文件夾;修改登記項;其他文件命令由本組另一個組員完成。3.3 目錄該系統(tǒng)支持三級目錄結構。目錄操作包括創(chuàng)建目錄,刪除目錄。3.2.1 刪除目錄刪除目錄要考慮目錄中內容的刪除。具體算法如下:查看目標目錄是否存在如果目標存在查看該目錄是幾級目錄如果是三級目錄查找該目錄下的文件;調用delete函數(shù)刪除文件;如果是二級目錄查找該目錄下是否還存在目錄如果還存在目錄,查找次目錄下的文件,調用delete函數(shù)刪除文件如果不存在其他目錄,查找目標目錄下的文件,調用delete函數(shù)刪除文件。如果目標不存在出錯提示;4 體會與收獲通過本次實驗

溫馨提示

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

評論

0/150

提交評論