夏斯華
xiasihua00001@hotmail.***
檔案管理是作業系統中四大資源管理中重要一項。通過實現簡單的檔案系統的這樣的方式,加深對其原理的理解。由於檔案系統的博大和考慮的東西很多,再加上自己時間和能力的侷限性,故實現乙個較為簡單的檔案系統。
檔案系統主流的不乏有
windows
的fat,fat32,ntfs,
以及linux
的等。由於多種原因,我不可能實現很複雜的。在此,規定如下:
檔案儲存空間的管理:記憶體中開闢
一塊空間作為檔案儲存器,利用
fat表與位示圖
相結合的方式實現儲存空間的分配和**。檔案系統的現場由真正的外存檔案實現。
目錄結構:原想樹型結構較為複雜,想先採用二級目錄結構(主檔案目錄、使用者檔案目錄),結構包含:檔名、實體地址、長度等。但實際開發中採用了一種巧妙的方式,於是就採用了類似
linux
系統樹型目錄結構。
物理結構:鏈結檔案結構。
邏輯結構:流式檔案(字串行的集合,非「非結構的記錄式檔案」)。
訪問方式:順序訪問。(有讀寫指標)。
fcb檔案、目錄控制資訊
struct fcbfcb[fatlength];//
檔案或目錄的控制資訊
int fat[fatlength];//fat
表和位示圖的結合
用於分配物理塊和空閒塊的**
該檔案系統提供的操作:
格式化:對檔案儲存器進行格式化,即按照檔案系統的結構對儲存空間進行布局,並在其上建立根目錄及其用於管理檔案儲存空間等的資料結構。
format
建立子目錄
mkdir
刪除子目錄
rmdir
顯示目錄
pwd
更改當前目錄(回到上節目錄)
cd..
建立檔案mk
開啟檔案
open
關閉檔案
close
寫檔案vi
讀檔案cat
刪除檔案
rm本檔案系統採用了
vc++6.0
(mfc
)開發。已經打上靜態庫(所以可執行檔案
filesystem_static
較大),假使執行機器應許(包含有
mfc類庫
mfc42d.dll
)即可用共享庫方式
filesystem_share
執行可執行檔案。
介面截圖如下:
介面風格有點象
linux
的命令列。上面已經有所說明。執行可執行檔案,進入介面如上所示。顯示當前目錄名
/root
之後有命令列提示符
>.
可以輸入命令回車就可以。具體支援哪些命令可以
help或?
.下面試一試多節目錄管理:
建立如下結構
只要輸入下列命令就可。
要想在檔案
f2中寫寫內容,然後顯示;
還有其他的功能有待讀者自己去嘗試!
由於多種原因,沒有解決檔案目錄同名應許問題。
檔案內容修改功能沒有增加。
作業系統教師講義
網上資料
簡單檔案系統的實現
夏斯華 xiasihua00001 hotmail.com引言 檔案管理是作業系統中四大資源管理中重要一項。通過實現簡單的檔案系統的這樣的方式,加深對其原理的理解。由於檔案系統的博大和考慮的東西很多,再加上自己時間和能力的侷限性,故實現乙個較為簡單的檔案系統。概述 檔案系統主流的不乏有windows...
檔案系統的簡單操作
df ahikhtm 目錄或檔名 列出檔案系統的整體磁碟使用量 a 列出所有檔案系統,包括系統特有的 proc 等檔案 k 以kbytes 的容量顯示各檔案系統 m 以mbytes 的容量顯示各檔案系統 h 以 1m 1000k 替換1m 1024k 的進製方式 t 連同該硬碟分割槽的檔案系統名稱 ...
簡單檔案系統的實現(經驗分享)
哈嘍,歡迎來到小朱課堂,下面開始你的學習吧!簡單檔案系統的實現 經驗分享 廢話不多說,直接上 總結 實驗內容 通過對具體的檔案儲存空間的管理 檔案的物理結構 目錄結構和檔案操作的實現,加深對檔案系統內部功能和實現過程的理解。要求 1.在記憶體中開闢乙個虛擬磁碟空間作為檔案儲存器,在其上實現乙個簡單的...