目錄和文件在ext2系統中記錄數據
目錄:inode記錄目錄的相關權限和屬性,還有block號碼,而block記錄的是目錄下的文件名和該文件名占用的inode號碼數據
文件:分配一個inode和相對於該文件大小的block數量給文件
因此對於文件名的新增、刪除、重命名這些與目錄的x權限有關的特點,因為文件名是記錄在目錄的block之中的,當我們要讀取某個文件務必會經過目錄的inode和block,然後找到文件的inode號碼,最終才回讀到文件的block信息
由於目錄樹是由根目錄開始讀起,因此系統通過掛載的信息找到掛載點的inode號碼,此時能夠得到根目錄inode內容,並根據該inode讀取根目錄的block內的文件名數據,再一層一層往下讀到正確的文件名。
所有數據都得加載到內存後CPU才能夠對數據進行處理,如果要經常編輯一個大的文件,過程中要頻繁寫入磁盤,效率低
因此Linux通過異步處理的方式:當系統加載一個文件到內存後,如果文件沒有改動過,則在內存區段的文件數據會被設置為clean。但如果內存中的文件被改過了,被設置為dirty,此時所有操作還在內存中執行,並沒有寫入到磁盤去,系統會不定時將dirty數據寫回磁盤,以保持磁盤和內存數據的一致性。
而內存的速度要比硬盤快得多,因此系統將常用的文件放置在主存儲器的緩沖區,加速文件的讀寫,因此Linux的物理內存最後會被用光,這是正常情況,還可以手動使用sync來強迫內存中設置為dirty的文件寫回磁盤。
掛載
將文件系統與目錄樹結合的操作稱之為掛載,掛載點一定是目錄,該目錄是進入該文件系統的入口,因此必須要掛載到目錄樹的某個目錄後,才能夠使用該文件系統。