操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計

操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計

ID:9938912

大?。?71.00 KB

頁數(shù):18頁

時間:2018-05-16

操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計_第1頁
操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計_第2頁
操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計_第3頁
操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計_第4頁
操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計_第5頁
資源描述:

《操作系統(tǒng)課程設(shè)計報告:linux二級文件系統(tǒng)設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

1、操作系統(tǒng)課程設(shè)計報告操作系統(tǒng)課程設(shè)計報告專業(yè):計算機科學與技術(shù)學號:********姓名:***提交日期:2013-3-817操作系統(tǒng)課程設(shè)計報告【設(shè)計目的】(1)本實驗的目的是通過一個簡單多用戶文件系統(tǒng)的設(shè)計,加深理解文件系統(tǒng)的內(nèi)部功能和內(nèi)部實現(xiàn)。(2)結(jié)合數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計、計算機原理等課程的知識,設(shè)計一個二級文件系統(tǒng),進一步理解操作系統(tǒng)。(3)通過分對實際問題的分析、設(shè)計、編程實現(xiàn),提高學生實際應(yīng)用、編程的能力【設(shè)計內(nèi)容】二級文件系統(tǒng)設(shè)計【實驗環(huán)境】C++/VC++【相關(guān)知識綜述】1.背景知識(1)外存管理文件系統(tǒng)是一個含有大量的文件及其屬性,對文

2、件進行操作、管理的軟件,以及向用戶提供使用文件的接口的一個集合。在邏輯上它的層次結(jié)構(gòu)是這樣的:文件系統(tǒng)接口對對象的操作和管理的軟件集合邏輯文件系統(tǒng)基本I/O管理程序(文件組織模塊)基本文件系統(tǒng)(物理I/O層)I/O控制層(設(shè)備驅(qū)動程序)對象及其屬性說明作為產(chǎn)品的操作系統(tǒng)有各自的文件系統(tǒng)。比如MS的WINDOWS系列使用的是FAT16、FAT32或NTFS的文件系統(tǒng)、LINUX使用的是EXT2、EXT3文件系統(tǒng)等等。(2)linux的EXT2文件系統(tǒng)linux使用一個叫虛擬文件系統(tǒng)的技術(shù)從而可以支持多達幾十種的不同文件系統(tǒng),而EXT2是linux自己的文件

3、系統(tǒng)。它有幾個重要的數(shù)據(jù)結(jié)構(gòu),一個是超級塊,用來描述目錄和文件在磁盤上的物理位置、文件大小和結(jié)構(gòu)等信息。inode也是一個重要的數(shù)據(jù)結(jié)構(gòu)。文件系統(tǒng)中的每個目錄和文件均由一個inode描述。它包含:文件模式(類型和存取權(quán)限)、數(shù)據(jù)塊位置等信息。一個文件系統(tǒng)除了重要的數(shù)據(jù)結(jié)構(gòu)之外,還必須為用戶提供有效的接口操作。比如EXT2提供的OPEN/CLOSE接口操作。(3)用內(nèi)存來模擬外存真正的文件系統(tǒng)對外存進行管理,涉及到許多硬件、設(shè)備管理方面的底層技術(shù),一方面這些技術(shù)不屬于操作系統(tǒng)核心內(nèi)容,一方面過多的內(nèi)容不免造成實驗者顧此失彼,所以這里推薦一種使用內(nèi)存來模擬外

4、存的方式,可以跳過這些硬件技術(shù)而直接把精力放在數(shù)據(jù)結(jié)構(gòu)設(shè)計和操作算法設(shè)計上面。假定pInode是一個指向inode結(jié)構(gòu)的指針,而且它已經(jīng)放入的需要放入的數(shù)值了,現(xiàn)在需要將其寫入到特定位置??捎萌缦麓a:……fd=fopen(“filesystem”,”w+b”);//fd是FILE指針類型,w便是寫方式,b表示二進制fseek(fd,specific_area,SEEK_SET);//fd是文件指針;specific_area為整形,//為需要入pInode的位置17操作系統(tǒng)課程設(shè)計報告fwrite(pInode,sizeof(inode),1,fd);

5、//寫入pInode信息2、原理算法本文件系統(tǒng)采用兩級目錄,其中第一級對應(yīng)于用戶賬號,第二級對應(yīng)于用戶帳號下的文件。另外,為了簡便文件系統(tǒng)未考慮文件共享,文件系統(tǒng)安全以及管道文件與設(shè)備文件等特殊內(nèi)容。首先應(yīng)確定文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):主目錄、子目錄及活動文件等。主目錄和子目錄都以文件的形式存放于磁盤,這樣便于查找和修改。用戶創(chuàng)建的文件,可以編號存儲于磁盤上。如:file0,file1,file2…并以編號作為物理地址,在目錄中進行登記?!驹O(shè)計思路】1、數(shù)據(jù)結(jié)構(gòu)#defineMAXNAME25/*mfdname,ufdname,filename的最大長度*/#

6、defineMAXCHILD50/*最大的子文件個數(shù)*/#defineMAX(MAXCHILD*MAXCHILD)/*物理地址計數(shù)fpaddrno的最大長度*/typedefstruct/*結(jié)構(gòu)體OSFILE(文件)*/{intfpaddr;/*文件的物理地址號0,1,2...*/intflength;/*文件的長度*/intfmode;/*文件模式:0-ReadOnly;1-WriteOnly;2-ReadandWrite;3-protrcted;*/charfname[MAXNAME];/*文件名*/}OSFILE;typedefstruct/*結(jié)構(gòu)

7、體OSUFD(用戶目錄)*/{charufdname[MAXNAME];/*ufd的名字*/OSFILEufdfile[MAXCHILD];/*ufd自己的文件*/}OSUFD;typedefstruct/*結(jié)構(gòu)體OSUFD'LOGIN(用戶注冊)*/{charufdname[MAXNAME];/*ufd的名字*/charufdpword[8];/*ufd的密碼*/}OSUFD_LOGIN;typedefstruct/*文件打開模式*/{intifopen;/*打開情況:0-close,1-open*/intopenmode;/*讀寫模式0-readon

8、ly,1-writeonly,2-readandwrite*/}OSUFD_OP

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。