操作系統中文件系統的邏輯結構覆蓋
發布時間:2021-10-27 05:30:23
這個技能就在技能欄的上方 Linux系統中每個進程都有兩個數據結構用來描述進程與文件相關的信息,其中一個是fs_struct結構,它包含兩個指向VFS索引節點的指針,分別指向root(即根目錄節點)和pwd(即當前目錄節點); 另一個是files_struct結構,它保存該進程打開文件的有關信息。每個進程能夠同時打開的文件至多是256個,分別由fd[0]~fd[255]所表示的指針指向對應的file結構。前面在I/O重定向中用到的文件描述字(如0、1、2等)其實就是fd指針數組的索引下標。 在file結構中,f_mode是文件打開的模式,如“只讀”、“只寫”、“讀寫”等;f_pos是文件當前的讀寫位置; f_flag包含許多標志位,用以表示文件的一些屬性;f_count表示對該文件的共享計數;f_inode指向VFS中該文件的索引節點;f_op是指向file_operations結構的指針,該結構中包含了對該文件進行操作的各種例程。利用f_op可以針對不同的文件定義不同的操作函數。 Linux系統進程啟動時自動打開三個文件,即標準輸入、標準輸出和標準錯誤輸出,它們的文件描述字分別是0、1和2。如果在進程運行時進行輸入輸出重定向,則這些文件描述字就指向給定的文件,而不是標準的終端輸入/輸出。 每當進程打開一個文件時,就從files_struct結構中找一個空閑的文件描述字,使它指向打開文件的描述結構file。對文件的操作要通過file結構中定義的文件操作例程和VFS索引節點的信息來完成。
西寧治療婦科習慣性流產費用多少錢初元復合肽1型
淄博治療白癜風的醫院
猜你會喜歡的
猜你會喜歡的