操作系統(tǒng)LINUX文件系統(tǒng)_第1頁(yè)
操作系統(tǒng)LINUX文件系統(tǒng)_第2頁(yè)
操作系統(tǒng)LINUX文件系統(tǒng)_第3頁(yè)
操作系統(tǒng)LINUX文件系統(tǒng)_第4頁(yè)
操作系統(tǒng)LINUX文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第10章LINUX文件系統(tǒng) 10 1LINUX文件系統(tǒng)的特點(diǎn)與文件類(lèi)別10 2LINUX的虛擬文件系統(tǒng)10 3文件系統(tǒng)的注冊(cè)和掛裝10 4進(jìn)程與文件系統(tǒng)的聯(lián)系10 5ext2文件系統(tǒng)10 6塊設(shè)備啟動(dòng)10 7字符設(shè)備啟動(dòng)本章小結(jié)習(xí)題 10 1LINUX文件系統(tǒng)的特點(diǎn)與文件類(lèi)別10 1 1特點(diǎn)從用戶(hù)的角度看 LINUX文件系統(tǒng)具有如圖10 1所示的樹(shù)形層次結(jié)構(gòu) 在圖中 根目錄root之下有dev設(shè)備子目錄 bin實(shí)用程序子目錄 lib庫(kù)文件子目錄 tmp臨時(shí)文件子目錄 usr通用子目錄等 圖10 1LINUX文件系統(tǒng)的層次結(jié)構(gòu)例 常用用戶(hù)命令 操作系統(tǒng)核心程序 設(shè)備子目錄 庫(kù)文件子目錄 存放配置文件 超級(jí)用戶(hù)子目錄 存放系統(tǒng)管理程序 binbootdevetchomelibmediamntprocrootsbinsystmpusr 用戶(hù)文件主目錄 存放與設(shè)備有關(guān)的系統(tǒng)信息 bindocetcincludeliblocal Zhangliu 路徑名確定一個(gè)文件在文件系統(tǒng)中的位置 一個(gè)完整的路徑名由代表根目錄的斜杠開(kāi)始 到所指定的文件為止 例如在圖10 1中 usr bin man 確定了文件man在文件系統(tǒng)中的位置 絕對(duì)路徑 路徑名也可從正在執(zhí)行進(jìn)程的當(dāng)前目錄開(kāi)始指定 例如 若在圖10 1中的當(dāng)前目錄是zhang的話 路徑名a txt與 home zhang a txt具有相同的效果 相對(duì)路徑 LINUX文件系統(tǒng)特點(diǎn) 樹(shù)形結(jié)構(gòu) 文件是無(wú)結(jié)構(gòu)的字符流式文件 文件可以動(dòng)態(tài)地增長(zhǎng)或減少 文件數(shù)據(jù)可由文件擁有者設(shè)置相應(yīng)的訪問(wèn)權(quán)限而受到保護(hù) 外部設(shè)備 例如終端用磁帶 磁盤(pán)設(shè)備 鍵盤(pán)等都被看作文件 在文件系統(tǒng)中 設(shè)備文件占據(jù)著文件系統(tǒng)目錄結(jié)構(gòu)中相應(yīng)的位置 用戶(hù)程序按與存取其他文件時(shí)所使用的系統(tǒng)調(diào)用和語(yǔ)法來(lái)讀 寫(xiě)設(shè)備文件 用戶(hù)程序既沒(méi)有必要知道設(shè)備的內(nèi)部特性 也不必在更換或增加設(shè)備之后修改自己 10 1 2文件類(lèi)型6種 普通文件 存儲(chǔ)用戶(hù)和系統(tǒng)的有關(guān)數(shù)據(jù)和程序的文件 它是無(wú)結(jié)構(gòu) 無(wú)記錄概念的字符流式文件 2 目錄文件是由文件系統(tǒng)中的各個(gè)目錄所形成的文件 在形式上同普通文件一樣 由系統(tǒng)將其解釋成目錄 在LINUX系統(tǒng)中 一個(gè)目錄文件由多個(gè)目錄項(xiàng)組成 而每個(gè)目錄項(xiàng)則由文件名及指示相應(yīng)的文件索引節(jié)點(diǎn) inode 的標(biāo)識(shí)符id組成 普通文件和目錄文件都是無(wú)結(jié)構(gòu) 無(wú)記錄概念的字符流式文件 3 設(shè)備文件與普通文件和目錄文件不同 它除了在目錄文件和文件索引節(jié)點(diǎn)表中占據(jù)相應(yīng)的位置外 并不占有實(shí)際的物理存儲(chǔ)塊 對(duì)設(shè)備文件的讀 寫(xiě)操作實(shí)際上為對(duì)設(shè)備的操作 而對(duì)設(shè)備文件的保護(hù)也將變成對(duì)設(shè)備的保護(hù) 例如 cp dev tty1terminalread把在第一個(gè)終端上敲進(jìn)的字符 設(shè)備文件 dev tty1是用戶(hù)終端1 讀入 并把它們復(fù)制到文件terminalread上 4 有名管道 FIFO 5 軟鏈接6 UNIX域套接字 10 2LINUX虛擬文件系統(tǒng)10 2 1虛擬文件系統(tǒng)VFS框架LINUX內(nèi)核使用虛擬文件系統(tǒng)VFS VirtualFileSwitch 給用戶(hù)提供文件系統(tǒng)接口 使用多個(gè)不同的文件系統(tǒng) VFS提供一個(gè)抽象基類(lèi) 由這個(gè)基類(lèi)派生的子類(lèi)支持具體的文件系統(tǒng) 支持的文件系統(tǒng)有 a 基于磁盤(pán)的文件系統(tǒng) ext2 ext3 reiserfs JFS XFS等 UNIXSYSTEMV的文件系統(tǒng) 微軟的MS DOS vfat及ntfs ISO9660光盤(pán)文件系統(tǒng)等 b 基于網(wǎng)絡(luò)的文件系統(tǒng) 如NFS SMB OCFS等 c 特殊的文件系統(tǒng) 如proc sysfs 它們并不管理真正的磁盤(pán)空間 而是通過(guò)它們?cè)L問(wèn)內(nèi)核數(shù)據(jù) 10 2 2LINUX虛擬文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)組成 超級(jí)塊super block 存放已掛裝文件系統(tǒng)的有關(guān)信息索引節(jié)點(diǎn)inode 一個(gè)具體文件的信息文件file 存放打開(kāi)文件與進(jìn)程之間進(jìn)行交互的有關(guān)信息目錄項(xiàng)dentry 保存目錄項(xiàng)與相應(yīng)文件進(jìn)行鏈接的信息 1 VFS的超級(jí)塊super block每個(gè)文件系統(tǒng)分配一個(gè)超級(jí)塊 用雙向循環(huán)鏈組成一個(gè)鏈表 主要成員 略P250超級(jí)塊操作 structsuper operations描述 地址存放在s op中 每個(gè)具體的文件系統(tǒng) 都要提供超級(jí)塊的具體實(shí)現(xiàn) 以實(shí)現(xiàn)文件的掛裝 卸載 讀寫(xiě)inode等 2 索引節(jié)點(diǎn)inode存放文件系統(tǒng)處理所需要的所有信息 索引節(jié)點(diǎn)操作 inode operation描述 3 文件file描述的是進(jìn)程和一個(gè)打開(kāi)文件交互的過(guò)程 當(dāng)一個(gè)文件被打開(kāi)時(shí)創(chuàng)建file結(jié)構(gòu) 4 目錄項(xiàng)dentry當(dāng)目錄讀入內(nèi)存 VFS就把它轉(zhuǎn)換為基于dentry的一個(gè)目錄項(xiàng)對(duì)象 目錄項(xiàng)對(duì)象將每個(gè)目錄與其對(duì)應(yīng)的索引節(jié)點(diǎn)相聯(lián)系 10 4進(jìn)程與文件系統(tǒng)的聯(lián)系 從系統(tǒng)內(nèi)部的角度來(lái)說(shuō) 需要有相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來(lái)記錄和控制打開(kāi)文件的用戶(hù)進(jìn)程以及記錄和控制那些共享同一文件的用戶(hù)進(jìn)程 為此LINUX系統(tǒng)設(shè)置了用戶(hù)打開(kāi)文件表和系統(tǒng)打開(kāi)文件表 10 4 1系統(tǒng)打開(kāi)文件表 訪問(wèn)文件之前 進(jìn)程必須打開(kāi)文件 open 返回一個(gè)文件描述符 進(jìn)程用該描述符調(diào)用read和write 主要用來(lái)指明打開(kāi)同一文件的不同進(jìn)程和不同進(jìn)程所使用的不同打開(kāi)路徑 以及這些不同進(jìn)程和不同打開(kāi)路徑所對(duì)應(yīng)的讀寫(xiě)指針 文件file結(jié)構(gòu) 10 4 2用戶(hù)打開(kāi)文件表 使用用戶(hù)打開(kāi)文件表 一個(gè)進(jìn)程可同時(shí)打開(kāi)多個(gè)文件 可打開(kāi)的文件表項(xiàng)files struct中含有打開(kāi)文件的描述符fd 共享該表的進(jìn)程數(shù)目count等 10 4 3進(jìn)程的當(dāng)前目錄和根目錄 當(dāng)前目錄根目錄 10 5ext2文件系統(tǒng) ext2文件系統(tǒng)是最經(jīng)典的文件系統(tǒng) 是一個(gè)可擴(kuò)展的功能較強(qiáng)的文件系統(tǒng) ext2文件系統(tǒng)中的文件信息都保存在數(shù)據(jù)塊中 對(duì)同一個(gè)ext2文件系統(tǒng)而言 所有數(shù)據(jù)塊的大小都是一樣的 例如4096字節(jié) 但是 不同的ext2文件系統(tǒng)中數(shù)據(jù)塊的大小可以不同 ext2文件系統(tǒng)將邏輯塊劃分成塊組 每個(gè)塊組重復(fù)保存著一些有關(guān)整個(gè)文件系統(tǒng)的關(guān)鍵信息及實(shí)際文件和目錄的數(shù)據(jù)塊 引導(dǎo)塊 塊組0 塊組1 塊組n 超級(jí)塊 組描述符 數(shù)據(jù)塊位圖 索引節(jié)點(diǎn)位圖 索引節(jié)點(diǎn)表 數(shù)據(jù)塊 系統(tǒng)引導(dǎo)塊總是介質(zhì)上的第一個(gè)數(shù)據(jù)塊 只有根文件系統(tǒng)才有引導(dǎo)程序放在這里 其余一般文件系統(tǒng)都不使用引導(dǎo)塊 超級(jí)塊中包含有文件系統(tǒng)本身的大小和形式的基本信息 系統(tǒng)管理員可以利用這些信息使用和維護(hù)文件系統(tǒng) 每個(gè)塊組都有一個(gè)超級(jí)塊 10 5 2ext2文件系統(tǒng)主要的磁盤(pán)數(shù)據(jù)結(jié)構(gòu) 1 磁盤(pán)超級(jí)塊ext2 super block超級(jí)塊中包含有文件系統(tǒng)本身的大小和形式的基本信息 系統(tǒng)管理員可以利用這些信息使用和維護(hù)文件系統(tǒng) 每個(gè)塊組都一個(gè)超級(jí)塊 一般情況下 當(dāng)安裝文件系統(tǒng)時(shí) 系統(tǒng)只讀取數(shù)據(jù)塊組0中的超級(jí)塊 將其放入內(nèi)存 直至該文件系統(tǒng)被卸載 超級(jí)塊中包含以下內(nèi)容 塊數(shù) 用于安裝時(shí)確認(rèn)是ext2文件系統(tǒng)的超級(jí)塊 修訂級(jí)別 這是文件系統(tǒng)的主版本號(hào)和次版本號(hào) 安裝計(jì)數(shù)和最大安裝數(shù) 系統(tǒng)用來(lái)決定文件系統(tǒng)是否應(yīng)該全面地進(jìn)行檢查 塊組號(hào)碼 包含此超級(jí)塊的數(shù)據(jù)塊組的號(hào)碼 數(shù)據(jù)塊大小 文件系統(tǒng)創(chuàng)建后數(shù)據(jù)塊的大小就固定了 一般為1024 2048或4096個(gè)字節(jié) 每組數(shù)據(jù)塊的個(gè)數(shù) 即塊組中數(shù)據(jù)塊的個(gè)數(shù) 文件系統(tǒng)創(chuàng)建后它就固定了 空閑塊 文件系統(tǒng)中空閑塊的個(gè)數(shù) 空閑索引節(jié)點(diǎn) 文件系統(tǒng)中空閑索引節(jié)點(diǎn)的數(shù)目 第一個(gè)索引節(jié)點(diǎn) 文件系統(tǒng)中第一個(gè)索引節(jié)點(diǎn)的號(hào)碼 在ext2根文件系統(tǒng)中 第一個(gè)索引節(jié)點(diǎn)是根目錄 的入口 2 塊組描述符 BlockGroupDescriptors 每個(gè)塊組有描述它的數(shù)據(jù)結(jié)構(gòu) 即塊組描述結(jié)構(gòu) 其中包含以下信息 1 數(shù)據(jù)塊位示圖 這一項(xiàng)表示數(shù)據(jù)塊位示圖所占的數(shù)據(jù)塊數(shù) 塊位示圖反映出數(shù)據(jù)塊組中數(shù)據(jù)塊的分配情況 在分配或釋放數(shù)據(jù)塊時(shí)要使用塊位示圖 2 索引節(jié)點(diǎn)位示圖 這一項(xiàng)表示索引節(jié)點(diǎn)位示圖所占的數(shù)據(jù)塊數(shù) 索引節(jié)點(diǎn)位示圖反映出數(shù)據(jù)塊組中索引節(jié)點(diǎn)分配的情況 在創(chuàng)建或刪除文件時(shí)要使用索引節(jié)點(diǎn)位示圖 3 索引節(jié)點(diǎn)表 數(shù)據(jù)塊組中索引節(jié)點(diǎn)表所占的數(shù)據(jù)塊數(shù) 系統(tǒng)中的每一個(gè)文件都對(duì)應(yīng)一個(gè)索引節(jié)點(diǎn) 每個(gè)索引節(jié)點(diǎn)都由一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)描述 4 空閑塊數(shù) 空閑索引節(jié)點(diǎn)數(shù)和已用目錄數(shù) 3 塊位圖和索引節(jié)點(diǎn)位圖 兩個(gè)塊分別記錄本組內(nèi)各個(gè)數(shù)據(jù)塊的使用情況和索引節(jié)點(diǎn)表的使用情況 數(shù)據(jù)塊位示圖中一位代表一個(gè)數(shù)據(jù)塊 1表示使用 0表示空閑 索引節(jié)點(diǎn)位示圖中一位代表一個(gè)索引節(jié)點(diǎn) 1表示該塊忙 0表示空閑 4 磁盤(pán)索引節(jié)點(diǎn)ext2 inode 索引節(jié)點(diǎn)又被稱(chēng)為I節(jié)點(diǎn) 每個(gè)文件都有惟一一個(gè)索引節(jié)點(diǎn) 每個(gè)數(shù)據(jù)塊組中的索引節(jié)點(diǎn)都保存在索引節(jié)點(diǎn)表中 可對(duì)文件進(jìn)行控制和管理 每個(gè)磁盤(pán)索引節(jié)點(diǎn)占128個(gè)字節(jié) 則一個(gè)長(zhǎng)4096字節(jié)的塊可存放32個(gè)i節(jié)點(diǎn)項(xiàng) 磁盤(pán)索引節(jié)點(diǎn)包括文件長(zhǎng)度 文件位置 所有者 存取權(quán)限 創(chuàng)建時(shí)間 上次訪問(wèn)時(shí)間等主要內(nèi)容 索引節(jié)點(diǎn)有盤(pán)索引節(jié)點(diǎn) 如ext2 inode 和內(nèi)存索引節(jié)點(diǎn) 如inode 兩種形式 盤(pán)索引節(jié)點(diǎn)存放在磁盤(pán)的索引節(jié)點(diǎn)表中 內(nèi)存索引節(jié)點(diǎn)存放在系統(tǒng)專(zhuān)門(mén)開(kāi)設(shè)的索引節(jié)點(diǎn)區(qū)中 內(nèi)存索引節(jié)點(diǎn)除了具有盤(pán)索引節(jié)點(diǎn)的主要信息外 還增添了反映該文件動(dòng)態(tài)狀態(tài)的項(xiàng)目 例如 共享訪問(wèn)計(jì)數(shù) i count 表示在某一時(shí)刻該文件被打開(kāi)以后進(jìn)行訪問(wèn)的次數(shù) 10 5 3ext2的內(nèi)存數(shù)據(jù)結(jié)構(gòu) 內(nèi)存有內(nèi)存索引節(jié)點(diǎn)和內(nèi)存超級(jí)塊內(nèi)核掛裝文件系統(tǒng)時(shí) 讀取磁盤(pán)超級(jí)塊部分內(nèi)容 填充到內(nèi)存超級(jí)塊中 直到該文件系統(tǒng)被卸載 10 5 4數(shù)據(jù)塊尋址 邏輯塊與物理塊之前的關(guān)系多重索引結(jié)構(gòu) 又稱(chēng)多級(jí)索引結(jié)構(gòu) 在這種結(jié)構(gòu)中采用了間接索引方式 即由最初索引項(xiàng)中得到某一盤(pán)塊號(hào) 該塊中存放的信息是另一組盤(pán)塊號(hào) 而后者每一塊中又可存放下一組盤(pán)塊號(hào) 或者是文件本身信息 這樣間接幾級(jí) 通常為1 3級(jí) 最末尾的盤(pán)塊中存放的信息一定是文件內(nèi)容 0 2 1 4 3 5 6 8 7 14 13 12 11 9 10 文件信息 文件信息 二級(jí)數(shù)組 文件信息 文件信息 二級(jí)數(shù)組 二級(jí)數(shù)組 三級(jí)數(shù)組 三級(jí)數(shù)組 文件信息 文件信息 三級(jí)數(shù)組 四級(jí)數(shù)組 文件信息 一個(gè)塊4096字節(jié) 每個(gè)塊號(hào)4個(gè)字節(jié) 則一個(gè)塊存放4096 4 1024個(gè) 引導(dǎo)塊 塊組0 塊組1 塊組n 磁盤(pán)超級(jí)塊 磁盤(pán)索引節(jié)點(diǎn) 內(nèi)存超級(jí)塊

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論