



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)九 文件系統(tǒng)設(shè)計(jì)一. 實(shí)驗(yàn)?zāi)康?通過一個(gè)簡單多用戶文件系統(tǒng)的設(shè)計(jì),加深理解文件系統(tǒng)的內(nèi)部功能及內(nèi)部實(shí)現(xiàn)。二. 實(shí)驗(yàn)內(nèi)容 為linux系統(tǒng)設(shè)計(jì)一個(gè)簡單的二級(jí)文件系統(tǒng)。要求做到以下幾點(diǎn): (1)可以實(shí)現(xiàn)下列幾條命令(至少4條); login 用戶登陸 dir 列文件目錄 create 創(chuàng)建文件 delete 刪除文件 open 打開文件 close 關(guān)閉文件 read 讀文件 write 寫文件 (2)列目錄時(shí)要列出文件名、物理地址、保護(hù)碼和文件長度; (3)源文件可以進(jìn)行讀寫操作保護(hù)。三. 實(shí)驗(yàn)指導(dǎo)1. 設(shè)計(jì)思想本文件系統(tǒng)可采用兩級(jí)目錄,其中第一級(jí)對(duì)應(yīng)于用戶賬號(hào),第二級(jí)對(duì)應(yīng)于用戶帳號(hào)下的文件
2、。另外,為了簡便文件系統(tǒng)未考慮文件共享,文件系統(tǒng)安全以及管道文件與設(shè)備文件等特殊內(nèi)容。(1)首先應(yīng)確定文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):主目錄、子目錄及活動(dòng)文件等。主目錄和子目錄都以文件的形式存放于磁盤,這樣便于查找和修改。(2)用戶創(chuàng)建的文件,可以編號(hào)存儲(chǔ)于磁盤上。如file0,file1,file2.并以編號(hào)作為物理地址,在目錄中進(jìn)行登記。2. 主要數(shù)據(jù)結(jié)構(gòu) 可以設(shè)計(jì)如下數(shù)據(jù)結(jié)構(gòu):(1) I節(jié)點(diǎn)struct inodestruct inode *i_forw;struct inode *i_back;char I_flag;unsigned int i_into; /*磁盤i節(jié)點(diǎn)標(biāo)號(hào)*/unsigned
3、 int i_count; /*引用計(jì)數(shù)*/unsigned short di_number; /*關(guān)聯(lián)文件書,當(dāng)為0時(shí),則刪除該文件*/unsigned short di_mode; /*存取權(quán)限*/unsigned short di_uid; /*磁盤i節(jié)點(diǎn)用戶*/unsigned short di_gid; /*磁盤i節(jié)點(diǎn)組*/unsigned int di_addrNADDR; /*物理塊號(hào)*/(2) 磁盤i結(jié)點(diǎn)Struct dinodeunsigned short di_number; /*關(guān)聯(lián)文件數(shù)*/unsigned short di_mode; /*存取權(quán)限*/unsigned
4、 short di_uid;unsigned short di_gid;unsigned long di_size; /*文件大小*/unsigned int di_addrNADDR; /*物理塊號(hào)*/(3) 目錄項(xiàng)結(jié)構(gòu)Struct directchar d_nameDIRSIZ; /*目錄名*/unsigned int d_ino; /*目錄號(hào)*/(4) 超級(jí)塊Struct filsysunsigned short s_isize; /*i節(jié)點(diǎn)塊塊數(shù)*/unsigned long s_fsize; /*數(shù)據(jù)塊塊數(shù)*/unsigned int s_nfree; /*空閑塊塊數(shù)*/unsign
5、ed short s_pfree; /*空閑塊指針*/unsigned int s_freeNICFREE; /*空閑塊堆棧*/unsigned int s_ninode; /*空閑i節(jié)點(diǎn)數(shù)*/unsigned short s_pinode; /*空閑i節(jié)點(diǎn)指針*/unsigned int s_inodeNICINOD; /*空閑i節(jié)點(diǎn)數(shù)組*/unsigned int s_rinode; /*銘記i節(jié)點(diǎn)*/char s_fmod; /*超級(jí)塊修改標(biāo)志*/;(5) 用戶密碼Struct pwdunsigned short P_uid;unsigned short P_gid;char passw
6、ardPWOSIZ;(6) 目錄Struct dirstrut direct directDIRNUM;int size;(7) 查找i內(nèi)存節(jié)點(diǎn)的hash表Struct hinodestrut inode *iforw;(8) 系統(tǒng)打開表Struct filechar f_flag; /*文件操作標(biāo)志*/unsigned int f_count; /*引用計(jì)數(shù)*/struct inode *f_inode; /*指向內(nèi)存節(jié)點(diǎn)*/unsigned long f_off; /*讀/寫指針*/(9) 用戶打開表Struct user unsigned short u_default_mode;uns
7、igned short u_uid; /*用戶標(biāo)志*/unsigned short u_gid; /*用戶組標(biāo)志*/unsigned short u_ofileNOFILE; /*用戶打開表*/3. 主要函數(shù) 可以設(shè)計(jì)以下主要函數(shù):(1) i節(jié)點(diǎn)管理函數(shù) i節(jié)點(diǎn)內(nèi)容獲取函數(shù)iget()、i節(jié)點(diǎn)內(nèi)容釋放函數(shù)iput()、分配i節(jié)點(diǎn)區(qū)函數(shù)ialloc()、i釋放節(jié)點(diǎn)函數(shù)ifree( )、搜索當(dāng)前目錄下文件的函數(shù)iname( );(2) 磁盤塊分配與回收函數(shù)磁盤塊分配函數(shù)balloc()、磁盤塊釋放函數(shù)bfree();(3) 目錄管理函數(shù) 訪問控制函數(shù)access( );目錄創(chuàng)建函數(shù)mkdir()、目錄搜索函數(shù)namei()、 顯示目錄和文件函數(shù)_dir( )、改變當(dāng)前目錄用函數(shù)chdir( );(4) 文件訪問函數(shù)打開文件函數(shù)open( )、創(chuàng)建文件函數(shù)create( )、讀文件用函數(shù)read( )、寫文件用函數(shù)write( );(5) 文件系統(tǒng)管理函數(shù)用戶登陸函數(shù)login( )、用戶退出函數(shù)logout( )、文件系統(tǒng)格式化函數(shù)format( )、進(jìn)入文件系統(tǒng)函數(shù)install( )、關(guān)閉文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZRCMA 001-2024 城市軌道交通智慧實(shí)訓(xùn)系統(tǒng)技術(shù)規(guī)范
- 二零二五年度餐飲店面租賃合同含節(jié)假日促銷活動(dòng)
- 二零二五年度個(gè)人擔(dān)保合同-個(gè)人理財(cái)產(chǎn)品擔(dān)保服務(wù)條款
- 二零二五年度農(nóng)村墓地選購與祭祀活動(dòng)組織合同
- 二零二五年度茶飲品牌全國使用許可合同
- 二零二五年度互聯(lián)網(wǎng)保險(xiǎn)產(chǎn)品銷售委托理財(cái)服務(wù)協(xié)議
- 二零二五年度棋牌室合作伙伴關(guān)系管理與維護(hù)合同
- 2025年度順豐員工勞動(dòng)合同爭議解決機(jī)制合同
- 二零二五年度個(gè)人合同范本:智能家居控制系統(tǒng)研發(fā)合作合同
- 二零二五年度新型工業(yè)園區(qū)委托中介代理出租服務(wù)協(xié)議
- 2025年高考百日誓師大會(huì)校長致辭(二)
- 2025年河南機(jī)電職業(yè)學(xué)院單招職業(yè)技能測(cè)試題庫及參考答案
- 2025年黑龍江能源職業(yè)學(xué)院單招職業(yè)傾向性測(cè)試題庫完整
- 學(xué)校垃圾處理運(yùn)輸服務(wù)合同
- 廣西2025年01月南寧市良慶區(qū)公開考試招考專職化城市社區(qū)工作者筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 注塑產(chǎn)品生產(chǎn)流程
- 統(tǒng)編版(2025)七年級(jí)下冊(cè)道德與法治教學(xué)計(jì)劃
- 七年級(jí)數(shù)學(xué)下冊(cè) 第11章 單元測(cè)試卷(蘇科版 2025年春)
- 2024年天津市建筑安全員A證考試題庫及答案
- 2021年江蘇省公務(wù)員考試行測(cè)+申論真題及答案解析(A類卷)
- 2024年皖西衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫及答案解析
評(píng)論
0/150
提交評(píng)論