




已閱讀5頁,還剩37頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第10章LINUX文件系統 10 1LINUX文件系統的特點與文件類別10 2LINUX的虛擬文件系統10 3文件系統的注冊和掛裝10 4進程與文件系統的聯系10 5ext2文件系統10 6塊設備啟動10 7字符設備啟動本章小結習題 10 1LINUX文件系統的特點與文件類別10 1 1特點從用戶的角度看 LINUX文件系統具有如圖10 1所示的樹形層次結構 在圖中 根目錄root之下有dev設備子目錄 bin實用程序子目錄 lib庫文件子目錄 tmp臨時文件子目錄 usr通用子目錄等 圖10 1LINUX文件系統的層次結構例 常用用戶命令 操作系統核心程序 設備子目錄 庫文件子目錄 存放配置文件 超級用戶子目錄 存放系統管理程序 binbootdevetchomelibmediamntprocrootsbinsystmpusr 用戶文件主目錄 存放與設備有關的系統信息 bindocetcincludeliblocal Zhangliu 路徑名確定一個文件在文件系統中的位置 一個完整的路徑名由代表根目錄的斜杠開始 到所指定的文件為止 例如在圖10 1中 usr bin man 確定了文件man在文件系統中的位置 絕對路徑 路徑名也可從正在執行進程的當前目錄開始指定 例如 若在圖10 1中的當前目錄是zhang的話 路徑名a txt與 home zhang a txt具有相同的效果 相對路徑 LINUX文件系統特點 樹形結構 文件是無結構的字符流式文件 文件可以動態地增長或減少 文件數據可由文件擁有者設置相應的訪問權限而受到保護 外部設備 例如終端用磁帶 磁盤設備 鍵盤等都被看作文件 在文件系統中 設備文件占據著文件系統目錄結構中相應的位置 用戶程序按與存取其他文件時所使用的系統調用和語法來讀 寫設備文件 用戶程序既沒有必要知道設備的內部特性 也不必在更換或增加設備之后修改自己 10 1 2文件類型6種 普通文件 存儲用戶和系統的有關數據和程序的文件 它是無結構 無記錄概念的字符流式文件 2 目錄文件是由文件系統中的各個目錄所形成的文件 在形式上同普通文件一樣 由系統將其解釋成目錄 在LINUX系統中 一個目錄文件由多個目錄項組成 而每個目錄項則由文件名及指示相應的文件索引節點 inode 的標識符id組成 普通文件和目錄文件都是無結構 無記錄概念的字符流式文件 3 設備文件與普通文件和目錄文件不同 它除了在目錄文件和文件索引節點表中占據相應的位置外 并不占有實際的物理存儲塊 對設備文件的讀 寫操作實際上為對設備的操作 而對設備文件的保護也將變成對設備的保護 例如 cp dev tty1terminalread把在第一個終端上敲進的字符 設備文件 dev tty1是用戶終端1 讀入 并把它們復制到文件terminalread上 4 有名管道 FIFO 5 軟鏈接6 UNIX域套接字 10 2LINUX虛擬文件系統10 2 1虛擬文件系統VFS框架LINUX內核使用虛擬文件系統VFS VirtualFileSwitch 給用戶提供文件系統接口 使用多個不同的文件系統 VFS提供一個抽象基類 由這個基類派生的子類支持具體的文件系統 支持的文件系統有 a 基于磁盤的文件系統 ext2 ext3 reiserfs JFS XFS等 UNIXSYSTEMV的文件系統 微軟的MS DOS vfat及ntfs ISO9660光盤文件系統等 b 基于網絡的文件系統 如NFS SMB OCFS等 c 特殊的文件系統 如proc sysfs 它們并不管理真正的磁盤空間 而是通過它們訪問內核數據 10 2 2LINUX虛擬文件系統的數據結構組成 超級塊super block 存放已掛裝文件系統的有關信息索引節點inode 一個具體文件的信息文件file 存放打開文件與進程之間進行交互的有關信息目錄項dentry 保存目錄項與相應文件進行鏈接的信息 1 VFS的超級塊super block每個文件系統分配一個超級塊 用雙向循環鏈組成一個鏈表 主要成員 略P250超級塊操作 structsuper operations描述 地址存放在s op中 每個具體的文件系統 都要提供超級塊的具體實現 以實現文件的掛裝 卸載 讀寫inode等 2 索引節點inode存放文件系統處理所需要的所有信息 索引節點操作 inode operation描述 3 文件file描述的是進程和一個打開文件交互的過程 當一個文件被打開時創建file結構 4 目錄項dentry當目錄讀入內存 VFS就把它轉換為基于dentry的一個目錄項對象 目錄項對象將每個目錄與其對應的索引節點相聯系 10 4進程與文件系統的聯系 從系統內部的角度來說 需要有相應的數據結構來記錄和控制打開文件的用戶進程以及記錄和控制那些共享同一文件的用戶進程 為此LINUX系統設置了用戶打開文件表和系統打開文件表 10 4 1系統打開文件表 訪問文件之前 進程必須打開文件 open 返回一個文件描述符 進程用該描述符調用read和write 主要用來指明打開同一文件的不同進程和不同進程所使用的不同打開路徑 以及這些不同進程和不同打開路徑所對應的讀寫指針 文件file結構 10 4 2用戶打開文件表 使用用戶打開文件表 一個進程可同時打開多個文件 可打開的文件表項files struct中含有打開文件的描述符fd 共享該表的進程數目count等 10 4 3進程的當前目錄和根目錄 當前目錄根目錄 10 5ext2文件系統 ext2文件系統是最經典的文件系統 是一個可擴展的功能較強的文件系統 ext2文件系統中的文件信息都保存在數據塊中 對同一個ext2文件系統而言 所有數據塊的大小都是一樣的 例如4096字節 但是 不同的ext2文件系統中數據塊的大小可以不同 ext2文件系統將邏輯塊劃分成塊組 每個塊組重復保存著一些有關整個文件系統的關鍵信息及實際文件和目錄的數據塊 引導塊 塊組0 塊組1 塊組n 超級塊 組描述符 數據塊位圖 索引節點位圖 索引節點表 數據塊 系統引導塊總是介質上的第一個數據塊 只有根文件系統才有引導程序放在這里 其余一般文件系統都不使用引導塊 超級塊中包含有文件系統本身的大小和形式的基本信息 系統管理員可以利用這些信息使用和維護文件系統 每個塊組都有一個超級塊 10 5 2ext2文件系統主要的磁盤數據結構 1 磁盤超級塊ext2 super block超級塊中包含有文件系統本身的大小和形式的基本信息 系統管理員可以利用這些信息使用和維護文件系統 每個塊組都一個超級塊 一般情況下 當安裝文件系統時 系統只讀取數據塊組0中的超級塊 將其放入內存 直至該文件系統被卸載 超級塊中包含以下內容 塊數 用于安裝時確認是ext2文件系統的超級塊 修訂級別 這是文件系統的主版本號和次版本號 安裝計數和最大安裝數 系統用來決定文件系統是否應該全面地進行檢查 塊組號碼 包含此超級塊的數據塊組的號碼 數據塊大小 文件系統創建后數據塊的大小就固定了 一般為1024 2048或4096個字節 每組數據塊的個數 即塊組中數據塊的個數 文件系統創建后它就固定了 空閑塊 文件系統中空閑塊的個數 空閑索引節點 文件系統中空閑索引節點的數目 第一個索引節點 文件系統中第一個索引節點的號碼 在ext2根文件系統中 第一個索引節點是根目錄 的入口 2 塊組描述符 BlockGroupDescriptors 每個塊組有描述它的數據結構 即塊組描述結構 其中包含以下信息 1 數據塊位示圖 這一項表示數據塊位示圖所占的數據塊數 塊位示圖反映出數據塊組中數據塊的分配情況 在分配或釋放數據塊時要使用塊位示圖 2 索引節點位示圖 這一項表示索引節點位示圖所占的數據塊數 索引節點位示圖反映出數據塊組中索引節點分配的情況 在創建或刪除文件時要使用索引節點位示圖 3 索引節點表 數據塊組中索引節點表所占的數據塊數 系統中的每一個文件都對應一個索引節點 每個索引節點都由一個數據結構來描述 4 空閑塊數 空閑索引節點數和已用目錄數 3 塊位圖和索引節點位圖 兩個塊分別記錄本組內各個數據塊的使用情況和索引節點表的使用情況 數據塊位示圖中一位代表一個數據塊 1表示使用 0表示空閑 索引節點位示圖中一位代表一個索引節點 1表示該塊忙 0表示空閑 4 磁盤索引節點ext2 inode 索引節點又被稱為I節點 每個文件都有惟一一個索引節點 每個數據塊組中的索引節點都保存在索引節點表中 可對文件進行控制和管理 每個磁盤索引節點占128個字節 則一個長4096字節的塊可存放32個i節點項 磁盤索引節點包括文件長度 文件位置 所有者 存取權限 創建時間 上次訪問時間等主要內容 索引節點有盤索引節點 如ext2 inode 和內存索引節點 如inode 兩種形式 盤索引節點存放在磁盤的索引節點表中 內存索引節點存放在系統專門開設的索引節點區中 內存索引節點除了具有盤索引節點的主要信息外 還增添了反映該文件動態狀態的項目 例如 共享訪問計數 i count 表示在某一時刻該文件被打開以后進行訪問的次數 10 5 3ext2的內存數據結構 內存有內存索引節點和內存超級塊內核掛裝文件系統時 讀取磁盤超級塊部分內容 填充到內存超級塊中 直到該文件系統被卸載 10 5 4數據塊尋址 邏輯塊與物理塊之前的關系多重索引結構 又稱多級索引結構 在這種結構中采用了間接索引方式 即由最初索引項中得到某一盤塊號 該塊中存放的信息是另一組盤塊號 而后者每一塊中又可存放下一組盤塊號 或者是文件本身信息 這樣間接幾級 通常為1 3級 最末尾的盤塊中存放的信息一定是文件內容 0 2 1 4 3 5 6 8 7 14 13 12 11 9 10 文件信息 文件信息 二級數組 文件信息 文件信息 二級數組 二級數組 三級數組 三級數組 文件信息 文件信息 三級數組 四級數組 文件信息 一個塊4096字節 每個塊號4個字節 則一個塊存放4096 4 1024個 引導塊 塊組0 塊組1 塊組n 磁盤超級塊 磁盤索引節點 內存超級塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江農林大學暨陽學院《德語文學選讀》2023-2024學年第一學期期末試卷
- 華中科技大學《籃球3》2023-2024學年第二學期期末試卷
- 鐵嶺師范高等專科學校《嵌入式系統設計C(實驗)》2023-2024學年第二學期期末試卷
- 板材沙發改造方案范本
- 蚌埠鑄鐵泄水管施工方案
- 2025至2031年中國大提琴琴弓行業投資前景及策略咨詢研究報告
- 車輛報廢拆解方案范本
- 廣西壯族自治區柳州市鐵一中學2024-2025學年高二3月月考語文試題(原卷版)
- 山東抽風罩施工方案
- 2025農業合作社土地租賃合同范本
- 基于國內外文獻對銀發網紅崛起、影響與發展的綜述探討
- 2025年國家公務員考試公共基礎知識題庫400題及答案
- 2024年09月四川浙江民泰商業銀行成都分行支行行長社會招考筆試歷年參考題庫附帶答案詳解
- 民法典學習筆記本與重點法條解讀-筆記
- 幼兒園大班美術欣賞《大師畫牛》課件
- 《主動脈夾層疾病》課件
- 課題申報書:鄉村振興和教育現代化背景下農村教育發展戰略研究
- 中國妊娠期糖尿病母兒共同管理指南(2024版)解讀
- 建筑工程材料題庫+參考答案
- DB21T 2724-2017 遼寧省河湖(庫)健康評價導則
- 部編版歷史八年級下冊第三單元 第11課《為實現中國夢而努力奮斗》說課稿
評論
0/150
提交評論