計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)-基于RISC-V代理內(nèi)核 課件 第六章實(shí)驗(yàn)4:文件系統(tǒng)_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)-基于RISC-V代理內(nèi)核 課件 第六章實(shí)驗(yàn)4:文件系統(tǒng)_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)-基于RISC-V代理內(nèi)核 課件 第六章實(shí)驗(yàn)4:文件系統(tǒng)_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)-基于RISC-V代理內(nèi)核 課件 第六章實(shí)驗(yàn)4:文件系統(tǒng)_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)-基于RISC-V代理內(nèi)核 課件 第六章實(shí)驗(yàn)4:文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于RISC-V代理內(nèi)核的操作系統(tǒng)課程實(shí)驗(yàn)與課程設(shè)計(jì)第六章.實(shí)驗(yàn)4:文件系統(tǒng)目錄實(shí)驗(yàn)4的基礎(chǔ)知識(shí)PKE文件系統(tǒng)架構(gòu)文件系統(tǒng)提供的接口虛擬文件系統(tǒng)VFSRFS文件系統(tǒng)實(shí)驗(yàn)內(nèi)容lab4_1文件操作lab4_2目錄文件lab4_3硬鏈接實(shí)驗(yàn)4的基礎(chǔ)知識(shí)PKElab4的設(shè)計(jì)目標(biāo):為PKE添加文件系統(tǒng)支持PKE的文件系統(tǒng)應(yīng)該:1.為進(jìn)程提供合適的接口;2.支持VFS,以同時(shí)實(shí)現(xiàn)對(duì)hostfs文件和定制文件系統(tǒng)的訪問(wèn);3.提供RFS(ramdiskfilesystem)作為實(shí)驗(yàn)平臺(tái);PKElab4的特點(diǎn):

代碼量偏大(新增~1700行),因?yàn)槲募到y(tǒng)是OS最復(fù)雜的部分

代碼理解閱讀需花費(fèi)較長(zhǎng)時(shí)間(所以作為課設(shè)內(nèi)容)PKE文件系統(tǒng)架構(gòu)特點(diǎn)應(yīng)用既可以訪問(wèn)hostfs,又可以訪問(wèn)RFS對(duì)多個(gè)文件系統(tǒng)的訪問(wèn)通過(guò)虛擬文件系統(tǒng)進(jìn)行統(tǒng)一接近真實(shí)場(chǎng)景文件系統(tǒng)的進(jìn)程接口提供一組用戶(hù)態(tài)函數(shù)調(diào)用OS的系統(tǒng)調(diào)用通過(guò)VFS層實(shí)現(xiàn)VFS根據(jù)目錄位置進(jìn)行判斷,調(diào)用具體文件系統(tǒng)的實(shí)現(xiàn)完成所需動(dòng)作VFS的實(shí)現(xiàn)VFS的本質(zhì)是在內(nèi)存中建立了一套整個(gè)文件系統(tǒng)的鏡像構(gòu)造VFS的基礎(chǔ)vinode:i節(jié)點(diǎn)的抽象dentry:directoryentry,目錄在VFS層的抽象super_block:文件系統(tǒng)相關(guān)的信息file:文件在VFS層的抽象VFS層的目錄組織/dir1/file1/RAMDISK0/dir2/file2根目錄只有1個(gè)跨具體文件系統(tǒng)的存在一切(包括文件)皆dentry采用hashcache做dentry的緩存(提供緩存查找函數(shù))關(guān)于RFS(設(shè)計(jì)思想)分配一段RAM作為Disk(1diskblock=4096bytes)索引(直接索引)文件系統(tǒng)采用位圖法管理Disk空間RFS的基礎(chǔ)構(gòu)成superblock:超級(jí)塊。包含的是文件系統(tǒng)的重要信息,比如diskinode總個(gè)數(shù)、塊總個(gè)數(shù)、數(shù)據(jù)塊總個(gè)數(shù)等等dinode:diskinode,“課本上”的“I節(jié)點(diǎn)”。包含(直接)索引表bitmap:簡(jiǎn)單位圖RFS的目錄文件“課本上”的目錄文件<名字,dinode編號(hào)>的集合RFS中的硬鏈接“課本上”的硬鏈接目錄實(shí)驗(yàn)4的基礎(chǔ)知識(shí)PKE文件系統(tǒng)架構(gòu)文件系統(tǒng)提供的接口虛擬文件系統(tǒng)VFSRFS文件系統(tǒng)實(shí)驗(yàn)內(nèi)容lab4_1文件操作lab4_2目錄文件lab4_3硬鏈接lab4_1文件操作給定應(yīng)用預(yù)期輸出lab4_1文件操作實(shí)驗(yàn)內(nèi)容:在PKE操作系統(tǒng)內(nèi)核中完善對(duì)RFS文件的操作,使得它能夠正確處理用戶(hù)進(jìn)程的打開(kāi)、創(chuàng)建、讀寫(xiě)文件請(qǐng)求。。修改kernel/rfs.c文件中的rfs_create()函數(shù)。填寫(xiě)diskinode完成RFS文件的創(chuàng)建過(guò)程。lab4_2目錄文件給定應(yīng)用預(yù)期輸出lab4_2目錄文件實(shí)驗(yàn)內(nèi)容:在PKE操作系統(tǒng)內(nèi)核中完善對(duì)RFS目錄文件的訪問(wèn)操作,使得它能夠正確處理用戶(hù)進(jìn)程的打開(kāi)、讀取目錄文件請(qǐng)求。。完善kernel/rfs.c中的rfs_readdir()函數(shù),使得該函數(shù)能夠正確返回dir結(jié)構(gòu)(應(yīng)用態(tài)的ls能夠把目錄項(xiàng)都列出來(lái))。lab4_3硬鏈接給定應(yīng)用預(yù)期輸出lab4_3硬鏈接實(shí)驗(yàn)內(nèi)容:在PKE操作系統(tǒng)內(nèi)核中完善對(duì)RFS文件的訪問(wèn)操作,使得它能夠正確處理用戶(hù)進(jìn)程的創(chuàng)建、刪除硬鏈接的請(qǐng)求。。完善kernel/rfs.c中的rfs_link()函數(shù),使其能夠完成硬鏈接過(guò)程。lab4_challenge1相對(duì)路徑給定應(yīng)用預(yù)期輸出……lab4_challenge1相對(duì)路徑實(shí)驗(yàn)內(nèi)容:通過(guò)修改PKE文件系統(tǒng)代碼,提供解析相對(duì)路徑的支持。具體來(lái)說(shuō),用戶(hù)應(yīng)用程序在使用任何需要傳遞路徑字符串的函數(shù)時(shí),都可以傳遞相對(duì)路徑而不會(huì)影響程序的功能。完成用戶(hù)層pwd函數(shù)(顯示進(jìn)程當(dāng)前工作目錄)、cd函數(shù)(切換進(jìn)程當(dāng)前工作目錄)。lab4_challenge2重載執(zhí)行給定應(yīng)用預(yù)期輸出lab4_challenge2重載執(zhí)行實(shí)驗(yàn)內(nèi)容:通過(guò)修改PKE內(nèi)核和系統(tǒng)調(diào)用,為用戶(hù)程序提供exec函數(shù)的功能。exec接受一個(gè)可執(zhí)行程序的路徑名作為參數(shù),表示要重新載入的elf文件。exec函數(shù)在執(zhí)行成功時(shí)不會(huì)返回,執(zhí)行失敗時(shí)返回-1。lab4_challenge3簡(jiǎn)易Shell給定應(yīng)用預(yù)期輸出……lab4_challenge3簡(jiǎn)易Shell實(shí)驗(yàn)內(nèi)容:通過(guò)修改PKE內(nèi)核和系統(tǒng)調(diào)用,為用戶(hù)程序提供exec函數(shù)的功能。exec接受一個(gè)可執(zhí)行程序的路徑名,以及一個(gè)字符串作為參數(shù)。(實(shí)際上,exec系統(tǒng)調(diào)用的第二個(gè)參數(shù)本應(yīng)是一個(gè)參數(shù)數(shù)組,即char**類(lèi)型,這里為簡(jiǎn)單起見(jiàn)僅需傳入一個(gè)參數(shù)即可。如果

溫馨提示

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

評(píng)論

0/150

提交評(píng)論