linux筆記 (12)
標籤(空格分隔): linux
目錄 當在 linux 下的檔案系統建立乙個目錄時,檔案系統會分配乙個 inode 與至少一塊 block 給該目錄。其中, inode 記錄該目錄的相關許可權與屬性,並可記錄分配到的那塊 block 號碼;而 block 則是記錄在這個目錄下的檔名與該檔名占用的 inode 號碼資料。
檔案 當在 linux 下的 ext2 建立乙個一般檔案時, ext2會分配乙個 inode 與相對於該檔案大小的 block 數量給該檔案。
目錄樹讀取
filesystem 大小與磁碟讀取效能
若要新增乙個檔案,此時檔案系統的行為是:
一般來說,我們將 inode table 與 data block 稱為資料存放區域,至於其他例如 superblock、block bitmap 與 inode bitmap 等區段就被稱為 metadata(中介資料)。因為 superblock,inode bitmap 及 block bitmap 的資料是經常變動的,每次新增、移除、編輯時都可能會影響到這三部分的資料。
資料的不一致(inconsistent)狀態
當檔案在寫入檔案系統時因為不知名原因導致系統中斷,導致最後乙個同步更新中介資料的步驟沒有做完,此時就會發生 metadata 的內容與實際資料存放區產生不一致(inconsistent)的情況。
在早期的 ext2 檔案系統中,如果發生這個問題,那麼系統在重新開機的時候,就會借由 superblock 當中記錄的 valid bit(是否有掛載)與 filesystem state(clean 與否)等狀態來判斷是否強制進行資料一致性的檢查。若有檢查時則以 e2fsck 這個程式來進行的。
日誌式檔案系統(journaling filesystem)
在 filesystem 中規劃出乙個區塊,該區塊專門記錄寫入或修訂檔案時的步驟。
非同步處理(asynchronously):
當系統載入乙個檔案到記憶體後,如果該檔案沒有被更動過,則在記憶體區段的檔案資料會被設定為 clean 。
但如果記憶體中的檔案資料被更改過,此時該記憶體中的資料會被設定為 dirty 。此時所有的動作都還在記憶體中執行,並沒有寫入到磁碟中。
系統會不定時的將記憶體中設定為 dirty 的資料寫回磁碟,以保持磁碟與記憶體資料的一致性。也可以利用 sync 指令來手動 強迫寫入磁碟。
檔案系統與記憶體的關係:
Linux學習筆記四 檔案系統
一 檔案含義 boot 用來存放與linux系統啟動有關的程式,比如啟動引導裝載程式等。linux系統的根目錄,所有的目錄都掛在這個目錄下面。home 存放普通使用者的資料,是普通使用者的宿主目錄。swap 實現虛擬記憶體,建議大小是物理記憶體的1 2倍。etc 系統配置檔案。var 包含經常發生變...
FAT12檔案系統總結
一 fat12 檔案系統 12位檔案分配表 檔案系統 邏輯層,不關心物理的儲存位置,將資料快抽象成線性的可隨機訪問的,從0開始的陣列 二 層次 扇區 最小單元,512位元組 引導扇區 0扇區 bpb biso paremeter block 簇 資料區儲存檔案資料的基本單位,包含乙個或多個扇區,2的...
Linux學習筆記 一 檔案系統
對於每乙個 linux 學習者來說,了解 linux 檔案系統的結構是十分有必要的 因為在 linux 中一切皆檔案,只有深入了解 linux 檔案系統,才會對 linux 有更深刻的認識 linux 檔案系統採用樹狀結構,檔案目錄的命名規範和存放標準遵循 filesystem hierarchy ...