簡單檔案系統的實現

2021-03-31 08:57:01 字數 1892 閱讀 9413

夏斯華

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.在記憶體中開闢乙個虛擬磁碟空間作為檔案儲存器,在其上實現乙個簡單的...