linux程式設計之檔案系統

2021-08-04 05:18:30 字數 781 閱讀 8852

linux中的檔案系統有ext2

block:ext2檔案系統組織檔案時是以block為單位組織的,磁碟上一般是以扇區為單位的,乙個扇區大小為512b,block是磁碟上的一塊區域,大小一般為8個扇區,為4k。

inode表:inode表就是一塊區域記錄著檔案資訊inode結點的**

inode節點:inode結點表中的一項

圖1 ext2全貌 

從圖1中可以看到,ext2 將磁碟分成了乙個乙個的「組」(除了第乙個小方格外)。接下來,又把每個組具體再細分,劃分出了超級塊,組描述符表,塊點陣圖,inode 位圖,inode 表,資料塊。

點陣圖點陣圖,是一種常見的資料結構。它就好像是一張地圖,每個 bit 位代表乙個位置,如果為 0,表示這個位置沒有被占用,如果為 1,表示該位置被占用。

那麼 inode 位圖就是用來記錄 inode 表中哪個位置被占用了,block 位圖,就是記錄哪個 block 被占用了。等到後面的實驗中,你就會深刻理解這一點。

組描述符

乙個組描述符表,它不僅儲存當前組的資訊,也會儲存其它組的資訊。這是一種備份思想。組描述符表中儲存的組描述符。

組描述符中儲存了 inode 點陣圖和 block 點陣圖在哪個 block 上。除此還有 inode 表的位置等等。

超級塊超級塊記錄了一全域性資訊,比如 inode 節點的個數,第乙個資料塊的位置,block 的大小(是1kb還是2kb還是4kb?),block 的個數等等。

系統程式設計之檔案系統程式設計

系統呼叫 所有的作業系統都提供多種服務的入口點,程式由此向核心請求服務。這些可直接進入核心的入口點被稱為系統呼叫。不同作業系統提供了自己的一套系統呼叫,所以系統呼叫無法實現跨平台使用。而且頻繁地系統呼叫,在使用者態和核心態之間切換,很耗費資源,效率不高。c標準庫提供了操作檔案的標準i o函式庫,與系...

Linux系統程式設計之檔案程式設計

目錄 一 檔案程式設計 1 linux檔案 2 檔案描述符 file descriptor 3 常用api open write read lseek close 1 open 開啟檔案函式 2 close 關閉檔案 3 write 寫檔案 4 read 讀檔案 5 lseek 游標定位 linux...

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...