linux如何管理檔案
阿新 • • 發佈:2018-12-17
朱老師嵌入式核心課程筆記 檔案管理相關概念
檔案管理
Ⅰ. 硬碟中的靜態檔案和inode(i節點)
- 靜態檔案 檔案平時存在硬碟中,有固定的狀態,稱為靜態檔案
- inode inode,本質是一個結構體,包括檔名,檔案在硬碟上的扇區號、塊號等;
Ⅱ. 記憶體中被開啟的檔案和vnode(v節點)
- 動態檔案 一個程式的執行就是一個程序,在程序中開啟的檔案就屬於某個程序,每個程序都有一個數據結構記錄這個程序的所有資訊(程序資訊表),表中有一個指標指向一個檔案管理表,檔案管理表中記錄了當前程序的所有檔案及其相關資訊。檔案管理表中用來索引開啟的檔案的index就是檔案描述符fd,最終找到的就是一個被開啟的檔案的管理結構體vnode
- vnode vnode中記錄了一個被開啟的檔案的各種資訊,通過找到fd,可以找到檔案的vnode進而對該檔案進行操作
Ⅲ. 檔案與流(stream)的概念
-
檔案流 ① 檔案流:以外存檔案為輸入輸出物件的資料流: ② 輸出檔案流是從記憶體流向外存檔案的資料; ③ 輸入檔案是從外存檔案流向記憶體的資料; ④ 每一個檔案流都有一個記憶體緩衝區與之對應。
-
檔案 ① 檔案:儲存在外部介質上資料的集合; ② 作業系統是以檔案為單位對資料進行管理的。
-
檔案與檔案流 ① 檔案是作業系統操作資料的基本單元; ② 檔案流是編寫程式時對資料進行操作的物件。 ③ 檔案操作需要流物件,cout和cin是已定義的流物件。