版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、長期存儲信息的三個基本要求:長期存儲信息的三個基本要求:1)要能夠存儲大量的信息。要能夠存儲大量的信息。2)長期保存信息。長期保存信息。3)可以共享信息。可以共享信息。 通常要解決所有這些問題的方法是:把信息以通常要解決所有這些問題的方法是:把信息以文件文件(file)為單位,存儲在磁盤或其他外部介質(zhì)上。為單位,存儲在磁盤或其他外部介質(zhì)上。通過操作通過操作系統(tǒng)來管系統(tǒng)來管理理文件的結(jié)構(gòu),命名,存取文件的結(jié)構(gòu),命名,存取使用,保護和實現(xiàn)方法使用,保護和實現(xiàn)方法 文件文件 記錄記錄 主存緩沖區(qū)主存緩沖區(qū) 輔存(磁盤)輔存(磁盤) 結(jié)構(gòu)結(jié)構(gòu) 訪問訪問 中的物理塊中的物理塊 中的物理塊中的物理塊 目錄
2、管理目錄管理 方法方法 組塊組塊 磁盤調(diào)度磁盤調(diào)度 用戶和程序用戶和程序 命令命令 操作操作 文件操作文件操作 文件名文件名 函數(shù)函數(shù) I/O 自由空間自由空間 管理管理 文件分配文件分配 用戶訪問控制用戶訪問控制 文件系統(tǒng)功能文件系統(tǒng)功能文件系統(tǒng)功能文件系統(tǒng)功能1.統(tǒng)一管理文件的存儲空間,實施存儲空間的分配與統(tǒng)一管理文件的存儲空間,實施存儲空間的分配與回收回收2.實現(xiàn)文件的按名存取實現(xiàn)文件的按名存取 名字空間名字空間 映射映射 存儲空間存儲空間3.3.實現(xiàn)文件信息的共享,并提供文件的保護和保密措實現(xiàn)文件信息的共享,并提供文件的保護和保密措施施4.4.向用戶提供一個方便使用的接口(提供對文件系
3、統(tǒng)向用戶提供一個方便使用的接口(提供對文件系統(tǒng)操作命令,以及提供對文件的操作命令:信息存取、操作命令,以及提供對文件的操作命令:信息存取、加工等)加工等)5.5.系統(tǒng)維護及向用戶提供有關(guān)信息系統(tǒng)維護及向用戶提供有關(guān)信息6.6.文件系統(tǒng)的執(zhí)行效率文件系統(tǒng)的執(zhí)行效率7.7.提供與提供與I/OI/O的統(tǒng)一接口的統(tǒng)一接口看待文件系統(tǒng)的兩種觀點看待文件系統(tǒng)的兩種觀點用戶觀點:用戶觀點: 文件系統(tǒng)如何呈現(xiàn)在其面前:一個文文件系統(tǒng)如何呈現(xiàn)在其面前:一個文件由什么組成,如何命名,如何保護文件,件由什么組成,如何命名,如何保護文件,可以進行何種操作等等。可以進行何種操作等等。操作系統(tǒng)觀點:操作系統(tǒng)觀點: 文件目
4、錄怎樣實現(xiàn),怎樣管理存儲文件目錄怎樣實現(xiàn),怎樣管理存儲空間,文件存儲位置,磁盤實際運作方式空間,文件存儲位置,磁盤實際運作方式( (與設(shè)備管理的接口與設(shè)備管理的接口) )等等。等等。第六章第六章 文件管理文件管理 6.1 文件和文件系統(tǒng)文件和文件系統(tǒng) 文件系統(tǒng)的管理功能,是通過把它所管理的文件系統(tǒng)的管理功能,是通過把它所管理的程序和數(shù)據(jù)組織成一系列文件的方法來實現(xiàn)的。程序和數(shù)據(jù)組織成一系列文件的方法來實現(xiàn)的。文件系統(tǒng)文件系統(tǒng) 是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件,是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件,管理文件的存儲、檢索、更新,提供安全可靠的管理文件的存儲、檢索、更新,提供安全可靠的共享和
5、保護手段,并且方便用戶使用。共享和保護手段,并且方便用戶使用。記錄記錄n數(shù)據(jù)項數(shù)據(jù)項n文件文件記錄記錄2記錄記錄1數(shù)據(jù)項數(shù)據(jù)項1數(shù)據(jù)項數(shù)據(jù)項2文件、記錄和數(shù)據(jù)項之間的層次關(guān)系文件、記錄和數(shù)據(jù)項之間的層次關(guān)系6.1.1 文件文件 、記錄和數(shù)據(jù)項、記錄和數(shù)據(jù)項6.1.1文件、記錄和數(shù)據(jù)項文件、記錄和數(shù)據(jù)項一一.數(shù)據(jù)項數(shù)據(jù)項1.基本數(shù)據(jù)項?;緮?shù)據(jù)項。 用于描述一個對象的某種屬性的字符集,是用于描述一個對象的某種屬性的字符集,是數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,即原數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,即原子數(shù)據(jù),又稱為數(shù)據(jù)元素或字段。子數(shù)據(jù),又稱為數(shù)據(jù)元素或字段。學(xué)號、姓名、性別、年齡、專業(yè)、
6、所在系班等學(xué)號、姓名、性別、年齡、專業(yè)、所在系班等 描述一個學(xué)描述一個學(xué)生的基本數(shù)生的基本數(shù)據(jù)項據(jù)項 數(shù)據(jù)項的名字和類型數(shù)據(jù)項的名字和類型定義了一個數(shù)定義了一個數(shù)據(jù)項的據(jù)項的“型型”表征一個實體在數(shù)據(jù)項表征一個實體在數(shù)據(jù)項上的數(shù)據(jù)上的數(shù)據(jù)稱為數(shù)據(jù)項的稱為數(shù)據(jù)項的“值值”2.組合數(shù)據(jù)項。組合數(shù)據(jù)項。是由若干個基本數(shù)據(jù)項組成的,簡稱組項。是由若干個基本數(shù)據(jù)項組成的,簡稱組項。工資工資基本工資基本工資工齡工資工齡工資獎勵工資獎勵工資二二.記錄記錄 記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象在某方面的屬性。個對象在某方面的屬性。 關(guān)鍵字是唯一能標(biāo)識一個記錄的數(shù)據(jù)
7、項。關(guān)鍵字是唯一能標(biāo)識一個記錄的數(shù)據(jù)項。一個記錄應(yīng)包含哪些數(shù)一個記錄應(yīng)包含哪些數(shù)據(jù)項,取決于需要描述據(jù)項,取決于需要描述對象的哪個方面。對象的哪個方面。 三三.文件文件 文件是由創(chuàng)建者所定義的、具有文件名的一組文件是由創(chuàng)建者所定義的、具有文件名的一組相關(guān)元素的集合。相關(guān)元素的集合。 有結(jié)構(gòu)文件:文件由若干個相關(guān)記錄組成有結(jié)構(gòu)文件:文件由若干個相關(guān)記錄組成 無結(jié)構(gòu)文件:被看成是一個字符流。無結(jié)構(gòu)文件:被看成是一個字符流。 文件在文件系統(tǒng)中是一個最大的數(shù)據(jù)單位,它文件在文件系統(tǒng)中是一個最大的數(shù)據(jù)單位,它描述了一個對象集。描述了一個對象集。文件具有文件名,文件具有文件名,用戶利用文件名來用戶利用文件
8、名來訪問文件訪問文件文件屬性:文件屬性:3.文件類型文件類型4.文件長度文件長度5.文件的物理位置文件的物理位置6.文件的建立時間文件的建立時間1.文件名稱文件名稱2.文件標(biāo)識符:標(biāo)識文件系統(tǒng)內(nèi)文件的惟一標(biāo)簽文件標(biāo)識符:標(biāo)識文件系統(tǒng)內(nèi)文件的惟一標(biāo)簽6.1.2 文件類型和文件系統(tǒng)模型文件類型和文件系統(tǒng)模型一一. 文件類型文件類型 系統(tǒng)文件系統(tǒng)文件由由系統(tǒng)軟件系統(tǒng)軟件構(gòu)成的文件,只允許用戶通過系統(tǒng)調(diào)用或系構(gòu)成的文件,只允許用戶通過系統(tǒng)調(diào)用或系統(tǒng)提供的專用命今來執(zhí)行它們,不允許對其進行讀寫和統(tǒng)提供的專用命今來執(zhí)行它們,不允許對其進行讀寫和修改修改主要有操作系統(tǒng)核心和各種系統(tǒng)應(yīng)用程序或?qū)嵱霉ぞ叱讨饕?/p>
9、操作系統(tǒng)核心和各種系統(tǒng)應(yīng)用程序或?qū)嵱霉ぞ叱绦蚝蛿?shù)據(jù)組成序和數(shù)據(jù)組成例如:例如:, , 庫文件庫文件文件文件允許允許用戶對其進行讀取和執(zhí)行,但用戶對其進行讀取和執(zhí)行,但不允許不允許對其進行對其進行修改修改主要由各種標(biāo)準(zhǔn)子程序庫組成主要由各種標(biāo)準(zhǔn)子程序庫組成例如:例如:C C語言、語言、FORTRANFORTRAN子程序庫存放在子目錄下子程序庫存放在子目錄下 * *.LIB,/lib/,/usr.LIB,/lib/,/usr/lib/lib/ 用戶文件用戶文件是用戶通過是用戶通過操作系統(tǒng)保存操作系統(tǒng)保存的用戶文件,由文件的所有者的用戶文件,由文件的所有者或所有者授權(quán)的用戶才能使用或所有者授權(quán)的用戶
10、才能使用主要由用戶的源程序源代碼、可執(zhí)行目標(biāo)程序的文件和主要由用戶的源程序源代碼、可執(zhí)行目標(biāo)程序的文件和用戶數(shù)據(jù)庫數(shù)據(jù)等組成用戶數(shù)據(jù)庫數(shù)據(jù)等組成例如:例如:* *.c,.c,* *.DBF,.DBF,* *.OBJ.OBJ2.按文件中數(shù)據(jù)的形式分類按文件中數(shù)據(jù)的形式分類(1)源文件)源文件由源程序和數(shù)據(jù)構(gòu)成的文件。由源程序和數(shù)據(jù)構(gòu)成的文件。(2)目標(biāo)文件)目標(biāo)文件 源程序經(jīng)過編譯,但未鏈接的目標(biāo)代碼源程序經(jīng)過編譯,但未鏈接的目標(biāo)代碼構(gòu)成的文件。構(gòu)成的文件。(3)可執(zhí)行文件)可執(zhí)行文件 把編譯后產(chǎn)生的目標(biāo)代碼再經(jīng)過鏈接后把編譯后產(chǎn)生的目標(biāo)代碼再經(jīng)過鏈接后形成的文件。形成的文件。l 只讀文件只讀文
11、件:只允許文件主及被核準(zhǔn)的用戶去讀:只允許文件主及被核準(zhǔn)的用戶去讀文件,而不允許寫文件。標(biāo)記為:文件,而不允許寫文件。標(biāo)記為:-r-r-l 可讀可寫文件可讀可寫文件:允許文件主及被核準(zhǔn)的用戶去:允許文件主及被核準(zhǔn)的用戶去讀和寫文件。標(biāo)記為:讀和寫文件。標(biāo)記為: -rw-rw-l 可執(zhí)行文件可執(zhí)行文件:允許文件主及被核準(zhǔn)的用戶去調(diào):允許文件主及被核準(zhǔn)的用戶去調(diào)用執(zhí)行該文件而不允許讀和寫文件,標(biāo)記為:用執(zhí)行該文件而不允許讀和寫文件,標(biāo)記為: -x-x- 各個操作系統(tǒng)的各個操作系統(tǒng)的保護方法和級別保護方法和級別有所不同有所不同DOSDOS操作系統(tǒng)三種保護:系統(tǒng)、隱藏、可寫操作系統(tǒng)三種保護:系統(tǒng)、隱藏
12、、可寫UNIXUNIX或或LinuxLinux操作系統(tǒng)有九個級別的保護操作系統(tǒng)有九個級別的保護4 .UNIX系統(tǒng)將文件分為三類系統(tǒng)將文件分為三類 普通文件普通文件(regular)(regular) 包含的是用戶的信息,一般為包含的是用戶的信息,一般為ASCIIASCII或二進制文件或二進制文件目錄文件目錄文件(directory)(directory) 管理文件系統(tǒng)的系統(tǒng)文件管理文件系統(tǒng)的系統(tǒng)文件特殊文件特殊文件(special file)(special file) 設(shè)備文件,把外部設(shè)備也看作文件。設(shè)備文件,把外部設(shè)備也看作文件。 字符設(shè)備文件:和輸入輸出有關(guān),用于模仿串行字符設(shè)備文件:和
13、輸入輸出有關(guān),用于模仿串行I/OI/O設(shè)備,例如終端,打印機,網(wǎng)絡(luò)等設(shè)備,例如終端,打印機,網(wǎng)絡(luò)等 塊設(shè)備文件:模仿磁盤塊設(shè)備文件:模仿磁盤l臨時文件:臨時文件:用于系統(tǒng)在工作過程中產(chǎn)生的中用于系統(tǒng)在工作過程中產(chǎn)生的中間文件,一般有暫存的目錄,正常工作情況間文件,一般有暫存的目錄,正常工作情況下,工作完畢會自動刪除,一旦有異常情況下,工作完畢會自動刪除,一旦有異常情況往往會殘留不少臨時文件往往會殘留不少臨時文件l永久文件永久文件: 指一般受系統(tǒng)管理的各種系統(tǒng)和指一般受系統(tǒng)管理的各種系統(tǒng)和用戶文件,經(jīng)過安裝或編輯、編譯生成的文用戶文件,經(jīng)過安裝或編輯、編譯生成的文件,存放在軟盤、硬盤或光盤等外存
14、上件,存放在軟盤、硬盤或光盤等外存上l檔案文件檔案文件: 系統(tǒng)或一些實用工具軟件包在工系統(tǒng)或一些實用工具軟件包在工作過程中記錄在案的文擋資料文件,以便查作過程中記錄在案的文擋資料文件,以便查閱歷史擋案閱歷史擋案l 順序(連續(xù))文件順序(連續(xù))文件 文件中的記錄,順序地存儲到連續(xù)的物理盤塊中,順序文件中的記錄,順序地存儲到連續(xù)的物理盤塊中,順序文件中所記錄的次序,與它們存儲在物理介質(zhì)上存放的文件中所記錄的次序,與它們存儲在物理介質(zhì)上存放的次序是一致的次序是一致的l 鏈接文件鏈接文件 文件中的記錄可存儲在并不相鄰接的各個物理塊中,通文件中的記錄可存儲在并不相鄰接的各個物理塊中,通過物理塊中的鏈接指
15、針組成一個鏈表管理,形成一個完過物理塊中的鏈接指針組成一個鏈表管理,形成一個完整的文件整的文件,又稱指針串連文件或直接存取文件又稱指針串連文件或直接存取文件l 索引文件索引文件 文件中的記錄可存儲在并不相鄰接的各個物理塊中,記文件中的記錄可存儲在并不相鄰接的各個物理塊中,記錄和物理塊之間通過索引表項按關(guān)鍵字存取文件,通過錄和物理塊之間通過索引表項按關(guān)鍵字存取文件,通過物理塊中的索引表管理,形成一個完整的文件物理塊中的索引表管理,形成一個完整的文件l有結(jié)構(gòu)文件有結(jié)構(gòu)文件 由若干個記錄所構(gòu)成的文件,故又稱為由若干個記錄所構(gòu)成的文件,故又稱為記錄式文件記錄式文件l無結(jié)構(gòu)文件無結(jié)構(gòu)文件 這是直接由字符
16、序列所構(gòu)成的文件,故這是直接由字符序列所構(gòu)成的文件,故又禰為流式文件又禰為流式文件二二.文件系統(tǒng)模型文件系統(tǒng)模型用戶(程序)用戶(程序)對象及其屬性對象及其屬性對對象操縱和管理對對象操縱和管理的軟件集合的軟件集合文件系統(tǒng)接口文件系統(tǒng)接口1.對象及其屬性對象及其屬性文件管理系統(tǒng)管理的對象有:文件管理系統(tǒng)管理的對象有:文件文件目錄目錄磁盤(磁帶)存儲空間磁盤(磁帶)存儲空間用戶(程序)用戶(程序)對象及其屬性對象及其屬性對對象操縱和管理對對象操縱和管理的軟件集合的軟件集合文件系統(tǒng)接口文件系統(tǒng)接口2.對對象操縱和管理的軟件集合對對象操縱和管理的軟件集合 這是文件管理系統(tǒng)這是文件管理系統(tǒng)的核心部分。的
17、核心部分。 用戶(程序)用戶(程序)對象及其屬性對象及其屬性對對象操縱和管理對對象操縱和管理的軟件集合的軟件集合文件系統(tǒng)接口文件系統(tǒng)接口3.文件系統(tǒng)的接口文件系統(tǒng)的接口(1)命令接口。)命令接口。用戶與文件系統(tǒng)交互的接口。用戶與文件系統(tǒng)交互的接口。(2)程序接口)程序接口用戶程序與文件系統(tǒng)的接口。用戶程序與文件系統(tǒng)的接口。用戶(程序)用戶(程序)對象及其屬性對象及其屬性對對象操縱和管理對對象操縱和管理的軟件集合的軟件集合文件系統(tǒng)接口文件系統(tǒng)接口堆堆 順序順序 索引順序索引順序 索引索引 散列散列 邏輯邏輯I/OI/O 基本基本 I/O 管理程序管理程序 基本文件系統(tǒng)基本文件系統(tǒng) 磁盤設(shè)備驅(qū)動器
18、磁盤設(shè)備驅(qū)動器 磁帶設(shè)備驅(qū)動器磁帶設(shè)備驅(qū)動器 用戶程序用戶程序 最底層的設(shè)備驅(qū)動器直接和外圍設(shè)備控制最底層的設(shè)備驅(qū)動器直接和外圍設(shè)備控制器或通道進行通信。器或通道進行通信。三、文件系統(tǒng)結(jié)構(gòu)舉例三、文件系統(tǒng)結(jié)構(gòu)舉例堆堆 順序順序 索引順序索引順序 索引索引 散列散列 邏輯邏輯I/OI/O 基本基本 I/O 管理器管理器 基本文件系統(tǒng)基本文件系統(tǒng) 磁盤設(shè)備驅(qū)動器磁盤設(shè)備驅(qū)動器 磁帶設(shè)備驅(qū)動器磁帶設(shè)備驅(qū)動器 用戶程序用戶程序 基本文件系統(tǒng)基本文件系統(tǒng)(Basic File System),或物理,或物理I/O層層(physical I/O level),它是與計算機系統(tǒng)外部環(huán)境的,它是與計算機系統(tǒng)外
19、部環(huán)境的主要接口。它處理磁盤或磁帶間交換的數(shù)據(jù)塊。主要接口。它處理磁盤或磁帶間交換的數(shù)據(jù)塊。堆堆 順序順序 索引順序索引順序 索引索引 散列散列 邏輯邏輯I/OI/O 基本基本 I/O 管理器管理器 基本文件系統(tǒng)基本文件系統(tǒng) 磁盤設(shè)備驅(qū)動器磁盤設(shè)備驅(qū)動器 磁帶設(shè)備驅(qū)動器磁帶設(shè)備驅(qū)動器 用戶程序用戶程序 基本基本I/O管理器管理器(Basic I/O Supervisor),負(fù)責(zé)所,負(fù)責(zé)所有文件有文件I/O的初始化和終止。的初始化和終止。堆堆 順序順序 索引順序索引順序 索引索引 散列散列 邏輯邏輯I/OI/O 基本基本 I/O 管理器管理器 基本文件系統(tǒng)基本文件系統(tǒng) 磁盤設(shè)備驅(qū)動器磁盤設(shè)備驅(qū)動
20、器 磁帶設(shè)備驅(qū)動器磁帶設(shè)備驅(qū)動器 用戶程序用戶程序 邏輯邏輯I/O(Logical I/O)作為文件系統(tǒng)的一部分,作為文件系統(tǒng)的一部分,允許用戶和應(yīng)用程序訪問記錄。允許用戶和應(yīng)用程序訪問記錄。堆堆 順序順序 索引順序索引順序 索引索引 散列散列 邏輯邏輯I/OI/O 基本基本 I/O 管理器管理器 基本文件系統(tǒng)基本文件系統(tǒng) 磁盤設(shè)備驅(qū)動器磁盤設(shè)備驅(qū)動器 磁帶設(shè)備驅(qū)動器磁帶設(shè)備驅(qū)動器 用戶程序用戶程序 文件系統(tǒng)中與用戶最接近的層是訪問方法層,也文件系統(tǒng)中與用戶最接近的層是訪問方法層,也稱為存取方法稱為存取方法(Access Method)層。層。6.1.3 文件操作文件操作 用戶通過文件系統(tǒng)所提
21、供的系統(tǒng)調(diào)用實用戶通過文件系統(tǒng)所提供的系統(tǒng)調(diào)用實施對文件的操作。施對文件的操作。一一.最基本的文件操作最基本的文件操作1. 創(chuàng)建文件創(chuàng)建文件2. 刪除文件刪除文件3. 讀文件讀文件4. 寫文件寫文件5. 截斷文件截斷文件6. 設(shè)置文件的讀設(shè)置文件的讀/寫位置寫位置1、創(chuàng)建文件:、創(chuàng)建文件: 分配外存空間,在目錄中建立一個目錄項:文件名稱、位置等分配外存空間,在目錄中建立一個目錄項:文件名稱、位置等 。2、刪除文件:、刪除文件: 使目錄項成為空項,回收存儲空間使目錄項成為空項,回收存儲空間 。3、讀文件:、讀文件: 文件名和內(nèi)存目標(biāo)地址,目錄項中的指針用于對文件的讀寫。文件名和內(nèi)存目標(biāo)地址,目錄
22、項中的指針用于對文件的讀寫。4、寫文件:、寫文件: 文件名及在內(nèi)存中的源地址文件名及在內(nèi)存中的源地址 ,用目錄中的寫指針進行寫。,用目錄中的寫指針進行寫。5、截斷文件:、截斷文件: 將原有文件的長度設(shè)置為將原有文件的長度設(shè)置為0 。6、設(shè)置文件的讀、設(shè)置文件的讀/寫位置:寫位置: 設(shè)置文件讀寫指針的位置設(shè)置文件讀寫指針的位置 。 文件系統(tǒng)調(diào)用的一個文件系統(tǒng)調(diào)用的一個UNIX示例程序:把文件從源文件處復(fù)示例程序:把文件從源文件處復(fù)制到目標(biāo)文件處制到目標(biāo)文件處 /*cp src dest復(fù)制文件,復(fù)制文件,src到到dest*/ #include /* 包含一些類型說明包含一些類型說明*/#inc
23、lude /*說明說明0_RDONLY等等*/ #include /*包含系統(tǒng)調(diào)用原型包含系統(tǒng)調(diào)用原型*/ #include /*包含系統(tǒng)調(diào)用原型包含系統(tǒng)調(diào)用原型*/ copyfile abc xyz void main(int argc,char*argv ); /*ANSIC原型原型*/ #define BUF_SIZE 4096 /*說明讀寫單位說明讀寫單位*/ #define MODE 0666 /*文件方式文件方式(rw-rw-rw-)*/ void main(int argc,char*argv ) *argc:參數(shù)個數(shù),:參數(shù)個數(shù),argv:參數(shù)指針:參數(shù)指針*/3argv0:“
24、copyfile“ argv1:”abc argv2:xyz int src,dst,in,out; char bufBUF_SIZE; if (argc != 3) exit(1); /*參數(shù)個數(shù)錯參數(shù)個數(shù)錯*/ /*打開源文件:,建立目標(biāo)文件打開源文件:,建立目標(biāo)文件*/ src=open(argvtl,O_RDONLY); /*只讀打開源文件只讀打開源文件*/ if(src0) exit(2); /*不能打開源文件不能打開源文件*/ dst=creat(argv2,MODE); /*試圖建立目標(biāo)文件試圖建立目標(biāo)文件*/ if(dst0) exit(3); /*不能建立目標(biāo)文件不能建立目標(biāo)
25、文件*/ /*Everything worked DO the copy*/while(1) /*無限循環(huán)無限循環(huán)*/ in=read(src,buf,BUF_SIZE); /*從源文件讀從源文件讀*/ if(in=0)break; /*文件結(jié)尾終止循環(huán)文件結(jié)尾終止循環(huán)*/ out=write(dst,buf,in); /*往目標(biāo)文件寫字節(jié)往目標(biāo)文件寫字節(jié)*/ if(outm+n 當(dāng)記錄與塊不等時。則記錄當(dāng)記錄與塊不等時。則記錄i所在的塊號所在的塊號i*l/塊長塊長取整取整 例:邏輯記錄例:邏輯記錄l=256 物理塊物理塊n=512 存取存取i=3的記錄塊號的記錄塊號256*3/512=1 余
26、余0.5 同內(nèi)存的動態(tài)分區(qū)分配一樣,隨著文件建同內(nèi)存的動態(tài)分區(qū)分配一樣,隨著文件建立時空間的分配和文件刪除時空間的回收,形立時空間的分配和文件刪除時空間的回收,形成外存的碎片。成外存的碎片??衫镁o可利用緊湊的方法湊的方法順序存取設(shè)備:磁帶順序存取設(shè)備:磁帶磁帶:不適合于隨機存取磁帶:不適合于隨機存取二二.連續(xù)分配的主要優(yōu)缺點連續(xù)分配的主要優(yōu)缺點主要優(yōu)點:主要優(yōu)點:1. 順序訪問容易順序訪問容易2. 順序訪問速度快順序訪問速度快主要缺點:主要缺點:1. 要求有連續(xù)的存儲空間要求有連續(xù)的存儲空間2. 必須事先知道文件的長度必須事先知道文件的長度3. 文件不能動態(tài)增長文件不能動態(tài)增長 連續(xù)分配所存
27、在的問題就在于:必須為一個文件連續(xù)分配所存在的問題就在于:必須為一個文件分配連續(xù)的磁盤空間。分配連續(xù)的磁盤空間。6.3.2 鏈接分配(鏈表分配)鏈接分配(鏈表分配) 采用鏈接分配方式時,可通過在每個盤塊上采用鏈接分配方式時,可通過在每個盤塊上 的鏈接指針,將同屬于一個文件的盤塊鏈接成一的鏈接指針,將同屬于一個文件的盤塊鏈接成一個鏈表,稱為鏈接文件。個鏈表,稱為鏈接文件。 隱式鏈接隱式鏈接顯式鏈接顯式鏈接鏈接分配的形式鏈接分配的形式11016-125048121620242815913172125292610141822263037111519232731 file start end jeep
28、 9 25 目錄一一.隱式鏈接隱式鏈接如果指針占用如果指針占用4字節(jié),若字節(jié),若盤塊為盤塊為512字節(jié),每個盤字節(jié),每個盤塊只有塊只有508個字節(jié)供用戶個字節(jié)供用戶使用。使用。 只適用于順序訪問,它對隨機訪問是極只適用于順序訪問,它對隨機訪問是極其低效的。其低效的。 為了提高檢索速度和減小指針?biāo)加玫臑榱颂岣邫z索速度和減小指針?biāo)加玫拇鎯臻g,可以將幾個盤塊組成一個簇。存儲空間,可以將幾個盤塊組成一個簇。以簇為單以簇為單位進行分位進行分配配隱式鏈接分配方式的缺點隱式鏈接分配方式的缺點二二.顯式鏈接顯式鏈接2 1540物理塊號 012345FATFCB 每個表項中存放鏈接指針,即下一個盤塊號。某
29、一文件的每個表項中存放鏈接指針,即下一個盤塊號。某一文件的第一個盤塊號,作為文件地址被填入相應(yīng)文件的第一個盤塊號,作為文件地址被填入相應(yīng)文件的FCB的的“物理物理地址地址”字段中。該表稱為文件分配表字段中。該表稱為文件分配表FAT。49 EOF51011EOF60123456789FCB AFCB BFATMS-DOS的文件物理結(jié)構(gòu) 對于對于1.2MB的軟盤,盤塊大小為的軟盤,盤塊大小為1KB。 每個每個FAT中含有中含有1.2K個表項,每個個表項,每個FAT表項占表項占12位,故位,故共須共須1.8KB。 200MB的硬盤,盤塊大小為的硬盤,盤塊大小為1KB,有,有200K個盤塊。個盤塊。
30、FAT的每個表項需的每個表項需2.5個字節(jié),故共須占用個字節(jié),故共須占用500KB。鏈接分配方式的問題鏈接分配方式的問題:1. 不能支持高效的直接存取不能支持高效的直接存取2. FAT需占用較大的內(nèi)存空間需占用較大的內(nèi)存空間6.3.3 索引分配索引分配一一.單級索引分配單級索引分配 索引分配方式支持直接訪問。索引分配方式支持直接訪問。 索引分配方式的主要問題是:可能索引分配方式的主要問題是:可能要花費較多的外存空間。要花費較多的外存空間。目錄048121620242815913172125292610141822263037111519232731count file 塊序號jeep 1991
31、611025-1-1-119二二.多級索引分配多級索引分配 當(dāng)文件太大,其索引塊太多時,這種方法是低當(dāng)文件太大,其索引塊太多時,這種方法是低效的。應(yīng)為這些索引塊再建立一級索引,稱為第一效的。應(yīng)為這些索引塊再建立一級索引,稱為第一級索引,即系統(tǒng)再分配一個索引塊,將第一塊、第級索引,即系統(tǒng)再分配一個索引塊,將第一塊、第二塊等索引塊的盤塊號填入到此索引表中。二塊等索引塊的盤塊號填入到此索引表中。兩級索引兩級索引分配方式分配方式1125740360254106105357356985主索引第二級索引360磁盤空間7401125012105106254356357985兩級索引分配兩級索引分配 每個盤塊
32、的大小為每個盤塊的大小為1KB,每個盤塊號占,每個盤塊號占4個字節(jié),個字節(jié),一個索引塊中可存放一個索引塊中可存放256個盤塊號。個盤塊號。盤塊號總數(shù)盤塊號總數(shù)N =256256=64K個盤塊號個盤塊號 有此可得出結(jié)論:采用兩級索引時,所允許的有此可得出結(jié)論:采用兩級索引時,所允許的文件最大長度為文件最大長度為64MB。 兩級索引分配兩級索引分配 每個盤塊號占每個盤塊號占4個字節(jié)個字節(jié) 倘若盤塊的大小為倘若盤塊的大小為4KB,在采用單,在采用單級索引時所允許的文件最大長度級索引時所允許的文件最大長度為為 ;而在采用兩級索引時所允許;而在采用兩級索引時所允許的文件最大長度可達(dá)的文件最大長度可達(dá) 。
33、4MB4GB 一個文件系統(tǒng)中有一個一個文件系統(tǒng)中有一個20MB大文件和一個大文件和一個20KB小文件小文件,當(dāng)分別采用連續(xù)、隱式鏈接、鏈接當(dāng)分別采用連續(xù)、隱式鏈接、鏈接索引索引 、二級索引、二級索引(和和LINUX) 分配方案時,每塊分配方案時,每塊大小為大小為4096B,每塊地址用每塊地址用4B表示,問表示,問:(1)各文件系統(tǒng)管理的最大的文件是多少)各文件系統(tǒng)管理的最大的文件是多少? (2)每種方案對大、小兩文件各需要多少專用塊)每種方案對大、小兩文件各需要多少專用塊來記錄文件的物理地址來記錄文件的物理地址(說明各塊的用途說明各塊的用途) ?(3)如需要讀大文件前面第)如需要讀大文件前面第
34、5.5KB的信息和后面第的信息和后面第(16M5.5KB)的信息,則每個方案各需要多)的信息,則每個方案各需要多少次盤少次盤I/O操作操作? 以多級索引為例記錄數(shù)為以多級索引為例記錄數(shù)為K,物理塊長度為,物理塊長度為N,滿足滿足NK74 mod 10=4l優(yōu)點:優(yōu)點: 保持了鏈接結(jié)構(gòu)的優(yōu)點保持了鏈接結(jié)構(gòu)的優(yōu)點,又解決了其缺又解決了其缺點:即能順序存取點:即能順序存取,又能隨機存取,滿足了又能隨機存取,滿足了文件動態(tài)增長、插入刪除的要求,也能充文件動態(tài)增長、插入刪除的要求,也能充分利用外存空間分利用外存空間l缺點:缺點: 較多的尋道次數(shù)和尋道時間,索引表較多的尋道次數(shù)和尋道時間,索引表本身帶來了
35、系統(tǒng)開銷,如:內(nèi)外存空間,本身帶來了系統(tǒng)開銷,如:內(nèi)外存空間,存取時間存取時間三三.混合索引分配方式混合索引分配方式 指將多種索引分配方式相結(jié)合而形成的一種分指將多種索引分配方式相結(jié)合而形成的一種分配方式。配方式。 在在UNIX系統(tǒng)中采用。系統(tǒng)中采用。triple indirectdouble indirectsingle indirecti.addr(0)i.addr(1)direct blocksblock countsizetime stamps(3) owners(2)modedatadatadatadatadatadatadatadatadatadata混合索引方式混合索引方式 在在
36、BSD UNIX的索引結(jié)點的索引結(jié)點中,設(shè)置了中,設(shè)置了13個個地址項,把所有地址項,把所有的地址分成兩類,的地址分成兩類,直接地址和間接直接地址和間接地址。地址。1.直接地址直接地址 設(shè)置設(shè)置10個直接地址項。個直接地址項。 假如每個盤塊的大小為假如每個盤塊的大小為4KB,文件不大于,文件不大于40KB時,可直接時,可直接從索引結(jié)點中讀出該文件的全部盤塊號。從索引結(jié)點中讀出該文件的全部盤塊號。2.一次間接地址一次間接地址文件長度大于文件長度大于40KB時,用一次間接分配方式,地址項時,用一次間接分配方式,地址項iaddr(10)來來提供。實質(zhì)上是一級索引分配方式。允許文件長達(dá)提供。實質(zhì)上是一
37、級索引分配方式。允許文件長達(dá)4MB。3.多次間接地址多次間接地址 文件長度大于文件長度大于4MB+40KB時,用二次間接分配方式。文件長時,用二次間接分配方式。文件長度可達(dá)度可達(dá)4GB。 iaddr(12)作為三次間接地址,可達(dá))作為三次間接地址,可達(dá)4TB。每個盤塊號為每個盤塊號為4字節(jié)字節(jié) 存取設(shè)備磁盤、磁鼓磁帶文件類型連續(xù)文件鏈接文件索引文件Hash文件連續(xù)文件文件長度固定固定、可變固定、可變固定、可變固定存取方法直接、順序順序直接、順序直接、順序順序 一個文件系統(tǒng)中有一個一個文件系統(tǒng)中有一個20MB大文件和一個大文件和一個20KB小文件小文件,當(dāng)分別采用連續(xù)、隱式鏈接、鏈接當(dāng)分別采用連
38、續(xù)、隱式鏈接、鏈接索引索引 、二級索引和、二級索引和LINUX 分配方案時,每塊大小分配方案時,每塊大小為為4096B,每塊地址用每塊地址用4B表示,問表示,問:(1)各文件系統(tǒng)管理的最大的文件是多少)各文件系統(tǒng)管理的最大的文件是多少? (2)每種方案對大、小兩文件各需要多少專用塊)每種方案對大、小兩文件各需要多少專用塊來記錄文件的物理地址來記錄文件的物理地址(說明各塊的用途說明各塊的用途) ?(3)如需要讀大文件前面第)如需要讀大文件前面第5.5KB的信息和后面第的信息和后面第(16M5.5KB)的信息,則每個方案各需要多)的信息,則每個方案各需要多少次盤少次盤I/O操作操作? 6.4 目錄
39、管理目錄管理要求:要求:實現(xiàn)實現(xiàn)“按名存取按名存取”提高對目錄的檢索速度提高對目錄的檢索速度文件共享文件共享允許文件重名允許文件重名l文件目錄文件目錄:是文件系統(tǒng)中主要數(shù)據(jù)結(jié)構(gòu)之一:是文件系統(tǒng)中主要數(shù)據(jù)結(jié)構(gòu)之一,文件存儲文件存儲后用戶通過用戶文件邏輯結(jié)構(gòu)的索引鏈接找到對應(yīng)的后用戶通過用戶文件邏輯結(jié)構(gòu)的索引鏈接找到對應(yīng)的物理結(jié)構(gòu)物理結(jié)構(gòu)l按文件符號名把文件信息的邏輯結(jié)構(gòu)映象設(shè)備介質(zhì)的按文件符號名把文件信息的邏輯結(jié)構(gòu)映象設(shè)備介質(zhì)的物理結(jié)構(gòu),由文件目錄實現(xiàn)物理結(jié)構(gòu),由文件目錄實現(xiàn)l把文件操作命令轉(zhuǎn)換相應(yīng)把文件操作命令轉(zhuǎn)換相應(yīng)I/O指令。需要文件目錄指令。需要文件目錄6.4.1 文件控制塊文件控制塊和
40、索引結(jié)點和索引結(jié)點文件與文件控制塊一一對應(yīng)。文件與文件控制塊一一對應(yīng)。用于描述和控制文件的數(shù)用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu)據(jù)結(jié)構(gòu)(FCB)文件目錄文件目錄文件控制塊的有序集合文件控制塊的有序集合文件目錄項文件目錄項一個文件控制塊就是一一個文件控制塊就是一個文件目錄項個文件目錄項目錄文件目錄文件一個文件目錄也被看作一個文件目錄也被看作是一個文件是一個文件一一. 文件控制塊文件控制塊1.基本信息類基本信息類文件名文件名文件物理位置文件物理位置文件邏輯結(jié)構(gòu)文件邏輯結(jié)構(gòu)文件的物理結(jié)構(gòu)文件的物理結(jié)構(gòu)2.存取控制信息類存取控制信息類 文件主的存取權(quán)限、核準(zhǔn)用戶的存取權(quán)限文件主的存取權(quán)限、核準(zhǔn)用戶的存取權(quán)限以
41、及一般用戶的存取權(quán)限。以及一般用戶的存取權(quán)限。3.使用信息類使用信息類 文件的建立日期和時間、文件上一次修改文件的建立日期和時間、文件上一次修改的日期和時間及當(dāng)前使用信息。的日期和時間及當(dāng)前使用信息。 MS-DOS中的文件控制塊,中的文件控制塊,F(xiàn)CB的長度為的長度為32個字節(jié),對個字節(jié),對360KB的軟盤,總共可包含的軟盤,總共可包含112個個FCB,共占共占4KB的存儲空間。的存儲空間。文文件件名名擴擴展展名名屬屬性性備備用用時時間間日日期期第第一一塊塊號號盤盤塊塊數(shù)數(shù)l用戶進程請求打開文件;用戶進程請求打開文件;l文件系統(tǒng)讀出有關(guān)目錄信息;文件系統(tǒng)讀出有關(guān)目錄信息;l如有誤,返回狀態(tài)信息
42、;如有誤,返回狀態(tài)信息;l生成新的生成新的FCBFCB;l在在FCBFCB中設(shè)置有關(guān)信息;中設(shè)置有關(guān)信息;l更新目錄信息;更新目錄信息;l將將FCBFCB掛到調(diào)用進程的掛到調(diào)用進程的PCBPCB上;上;l向用戶進程返回狀態(tài)信息。向用戶進程返回狀態(tài)信息。二二. 索引結(jié)點索引結(jié)點1.索引結(jié)點的引入索引結(jié)點的引入 設(shè)目錄文件所占用的盤塊數(shù)為設(shè)目錄文件所占用的盤塊數(shù)為N。假如一個。假如一個FCB為為64B,盤塊大小為,盤塊大小為1KB,則每個盤塊中只能存放,則每個盤塊中只能存放16個個FCB;若一個文件目錄中共有若一個文件目錄中共有640個個FCB,需占用,需占用40個盤塊,故個盤塊,故平均查找一個文
43、件需啟動磁盤平均查找一個文件需啟動磁盤 次。次。UNIX系統(tǒng)系統(tǒng)把文件名與文件描述信息分開把文件名與文件描述信息分開20 把文件描述把文件描述信息單獨形成一信息單獨形成一個稱為索引結(jié)點個稱為索引結(jié)點的數(shù)據(jù)結(jié)構(gòu),簡的數(shù)據(jù)結(jié)構(gòu),簡稱為稱為i結(jié)點。結(jié)點。 一個目錄項僅占一個目錄項僅占16個字節(jié),其中個字節(jié),其中14個字節(jié)是個字節(jié)是文件名,文件名,2個字節(jié)為個字節(jié)為i結(jié)點指針。結(jié)點指針。文件名文件名2文件名文件名1索引結(jié)點編號索引結(jié)點編號文件名文件名0 13 14 15UNIX的文件目錄的文件目錄2. 磁盤索引結(jié)點磁盤索引結(jié)點 每個文件有唯一的一個磁盤索引結(jié)點。每個文件有唯一的一個磁盤索引結(jié)點。文件主
44、標(biāo)識符文件主標(biāo)識符文件類型文件類型文件存取權(quán)限文件存取權(quán)限文件物理地址文件物理地址文件長度文件長度文件連接計數(shù)文件連接計數(shù)文件存取時間文件存取時間- 普通文件普通文件 d 目錄文件目錄文件 b 塊設(shè)備文件塊設(shè)備文件 c 字符設(shè)備文件字符設(shè)備文件 l 鏈接文件鏈接文件 所有者所有者組其他RWERWERWE3. 內(nèi)存索引結(jié)點內(nèi)存索引結(jié)點存放在內(nèi)存中存放在內(nèi)存中的索引結(jié)點的索引結(jié)點索引結(jié)點編號索引結(jié)點編號: 用于標(biāo)識內(nèi)存索引結(jié)點。用于標(biāo)識內(nèi)存索引結(jié)點。狀態(tài)狀態(tài): 指示指示i結(jié)點是否上鎖或被修改。結(jié)點是否上鎖或被修改。訪問計數(shù)訪問計數(shù): 每當(dāng)有一進程要訪問此每當(dāng)有一進程要訪問此i結(jié)點時,結(jié)點時, 將該
45、訪問計數(shù)加將該訪問計數(shù)加1, 訪問完再減訪問完再減1。文件所屬文件系統(tǒng)的邏輯設(shè)備號文件所屬文件系統(tǒng)的邏輯設(shè)備號鏈接指針鏈接指針: 設(shè)置有分別指向空閑鏈表和散列設(shè)置有分別指向空閑鏈表和散列隊列的指針。隊列的指針。6.4.2 目錄結(jié)構(gòu)目錄結(jié)構(gòu) 目錄結(jié)構(gòu)是指專門的目錄文件的組織形式。目錄結(jié)構(gòu)是指專門的目錄文件的組織形式。文件名2文件名1狀態(tài)位文件說明物理地址文件名一一. 單級目錄結(jié)構(gòu)單級目錄結(jié)構(gòu) 優(yōu)點:簡單且能實現(xiàn)目錄管理的基本功能優(yōu)點:簡單且能實現(xiàn)目錄管理的基本功能按名存取按名存取 缺點:缺點:查找速度慢查找速度慢不允許重名不允許重名不便于實現(xiàn)文件共享不便于實現(xiàn)文件共享二二. 兩級目錄兩級目錄第一
46、級為系統(tǒng)目錄第一級為系統(tǒng)目錄MFD :第二級為用戶目錄第二級為用戶目錄UFD :GaoZhangWang指向子目錄指針用戶名TestAlphaMisxDeviceBetaTestReportWang用戶目錄Zhang用戶目錄Gao用戶目錄AlphaTestReportTestBetaDeviceMisx 1.提高了檢索目錄的速度。提高了檢索目錄的速度。2.在不同的用戶目錄中,可以使用相同的文件名。在不同的用戶目錄中,可以使用相同的文件名。3.不同用戶還可使用不同的文件名來訪問系統(tǒng)中的不同用戶還可使用不同的文件名來訪問系統(tǒng)中的同一個共享文件。同一個共享文件。主目錄中有主目錄中有n個子目錄,每個個
47、子目錄,每個用戶目錄最多為用戶目錄最多為m個目錄項,個目錄項,最多只檢索最多只檢索n+m個目錄項。采個目錄項。采用單級目錄結(jié)構(gòu),最多需檢用單級目錄結(jié)構(gòu),最多需檢索索nm個目錄項。個目錄項。兩級目錄的優(yōu)點兩級目錄的優(yōu)點三三.多級目錄結(jié)構(gòu)多級目錄結(jié)構(gòu)1.目錄結(jié)構(gòu)目錄結(jié)構(gòu) 多級目錄結(jié)構(gòu)又稱為樹型目錄結(jié)構(gòu),主目錄在多級目錄結(jié)構(gòu)又稱為樹型目錄結(jié)構(gòu),主目錄在這里被稱為根目錄,把數(shù)據(jù)文件稱為樹葉,其它的這里被稱為根目錄,把數(shù)據(jù)文件稱為樹葉,其它的目錄均作為樹的結(jié)點。目錄均作為樹的結(jié)點。 root programs mail e p hex count recorder list find prt last
48、fist copy all list obj spell prog mail start dist spell bin find count hex recorder addr 任何一級目錄中的任何一級目錄中的FCBFCB既可以描述既可以描述次一級的子目錄,又可以描述一個數(shù)據(jù)文件。次一級的子目錄,又可以描述一個數(shù)據(jù)文件。10CB A1DB ADE FKN JAGFH AKM JCA234567891112131415161718192021ba多級目錄結(jié)構(gòu)2.路徑名路徑名 從根目錄到任何數(shù)據(jù)文件,都只有一條惟一從根目錄到任何數(shù)據(jù)文件,都只有一條惟一的數(shù)據(jù)通路。的數(shù)據(jù)通路。 在該路徑上從樹的根(
49、即主目錄)開始,把在該路徑上從樹的根(即主目錄)開始,把全部目錄文件名與數(shù)據(jù)文件名,依次地用全部目錄文件名與數(shù)據(jù)文件名,依次地用“/”連連接起來,即構(gòu)成該數(shù)據(jù)文件的路徑名。接起來,即構(gòu)成該數(shù)據(jù)文件的路徑名。3.當(dāng)前目錄當(dāng)前目錄“工作目錄工作目錄”相對路徑名相對路徑名:從當(dāng)前目錄開始直到數(shù)據(jù)文件為止所從當(dāng)前目錄開始直到數(shù)據(jù)文件為止所構(gòu)成的路徑名。構(gòu)成的路徑名。絕對路徑名絕對路徑名:從樹根開始的路徑名稱從樹根開始的路徑名稱加速文件加速文件FCBFCB的查找,進程控制塊的查找,進程控制塊存有當(dāng)前目錄信息存有當(dāng)前目錄信息4.增加和刪除目錄增加和刪除目錄如果要刪除的目錄不空,可采取下述兩種方法:如果要刪
50、除的目錄不空,可采取下述兩種方法:(1)不刪除非空目錄)不刪除非空目錄(2)可刪除非空目錄)可刪除非空目錄6.4.3 目錄查詢技術(shù)目錄查詢技術(shù)一一.線性檢索法(線性檢索法(順序檢索法順序檢索法) 首先,系統(tǒng)應(yīng)讀入首先,系統(tǒng)應(yīng)讀入第一個文件分量名第一個文件分量名usr,用它與根目錄文件中各用它與根目錄文件中各目錄項中的文件名順序目錄項中的文件名順序地進行比較,找到匹配地進行比較,找到匹配者,得到匹配項的索引者,得到匹配項的索引結(jié)點號結(jié)點號6。tmp8usr6etc9lib14dev7bin4 11根目錄根目錄查找/usr/ast/mbox的步驟當(dāng)前工作當(dāng)前工作目錄目錄 當(dāng)前工作當(dāng)前工作目錄的父目
51、錄的父目錄目錄 從從6號索引結(jié)點中得知號索引結(jié)點中得知usr目錄文件放在目錄文件放在132號號盤塊中,將該盤塊內(nèi)容讀入內(nèi)存。盤塊中,將該盤塊內(nèi)容讀入內(nèi)存。tmp8usr6etc9lib14dev7bin4 11根目錄根目錄132結(jié)點結(jié)點6是是/usr的目錄的目錄查找/usr/ast/mbox的步驟文件主標(biāo)識符文件主標(biāo)識符文件類型文件類型文件存取權(quán)限文件存取權(quán)限文件物理地址文件物理地址文件長度文件長度文件連接計數(shù)文件連接計數(shù)文件存取時間文件存取時間 系統(tǒng)再將路徑名中的第二個分量名系統(tǒng)再將路徑名中的第二個分量名ast讀入,用它與放讀入,用它與放在在132號盤塊中的第二級目錄文件中各目錄項的文件名順
52、號盤塊中的第二級目錄文件中各目錄項的文件名順序進行比較,又找到匹配項,從中得到序進行比較,又找到匹配項,從中得到ast的目錄文件放在的目錄文件放在26號索引結(jié)點中。號索引結(jié)點中。tmp8usr6etc9lib14dev7bin4 11根目錄根目錄132結(jié)點結(jié)點6是是/usr的信息的信息bal45ast26jim51erik30dick19 16132號盤塊是號盤塊是/usr的目錄的目錄查找/usr/ast/mbox的步驟 從從26號索引結(jié)點中得知號索引結(jié)點中得知/user/ast是存放在是存放在496號盤塊中,再讀入號盤塊中,再讀入496號盤塊。號盤塊。tmp8usr6etc9lib14dev
53、7bin4 11根目錄根目錄132結(jié)點結(jié)點6是是/user的目錄的目錄bal45ast26jim51erik30dick19 16132號盤塊是號盤塊是/user的目錄的目錄496結(jié)點結(jié)點26是是/user/ast的目錄的目錄查找/usr/ast/mbox的步驟 系統(tǒng)又將該文件的第三分量名系統(tǒng)又將該文件的第三分量名mbox讀入,用它讀入,用它與第三級目錄文件與第三級目錄文件/usr/ast中各目錄項中的文件名進中各目錄項中的文件名進行比較,得到行比較,得到/usr/ast/mbox的索引結(jié)點號為的索引結(jié)點號為60,在,在60號索引結(jié)點中存放了指定文件的物理地址。號索引結(jié)點中存放了指定文件的物理
54、地址。tmp8usr6etc9lib14dev7bin4 11根目錄根目錄132結(jié)點結(jié)點6是是/usr的目錄的目錄bal45ast26jim51erik30dick19 16132號盤塊是號盤塊是/usr的目錄的目錄496結(jié)點結(jié)點26是是/usr/ast的目錄的目錄src17minik81mbox60books92grants64 626496號盤塊是號盤塊是/usr/ast的目錄的目錄tmp8user6etc9lib14dev7bin4 11根目錄根目錄132結(jié)點結(jié)點6是是/usr的目錄的目錄bal45ast26jim51erik30dick19 16132號盤塊是號盤塊是/usr的目錄的目
55、錄496結(jié)點結(jié)點26是是/usr/ast的目錄的目錄src17minik81mbox60books92grants64 626496號盤塊是號盤塊是/usr/ast的目錄的目錄查找/usr/ast/mbox的步驟二二.Hash方法方法 用用Hash方法查詢,即系統(tǒng)利用用戶提供的文方法查詢,即系統(tǒng)利用用戶提供的文件名并將它變換為文件目錄的索引值,再利用該索件名并將它變換為文件目錄的索引值,再利用該索引值到目錄中去查找。引值到目錄中去查找。 在進行文件名的轉(zhuǎn)換時,有可能把在進行文件名的轉(zhuǎn)換時,有可能把n個不同的文件名個不同的文件名轉(zhuǎn)換為相同的轉(zhuǎn)換為相同的Hash值,出現(xiàn)了值,出現(xiàn)了“沖突沖突”。處
56、理處理“沖突沖突”的有效規(guī)則是:的有效規(guī)則是:(1)在利用)在利用Hash法索引查找目錄時,如果目錄表中法索引查找目錄時,如果目錄表中相應(yīng)的目錄項是空的,則表示系統(tǒng)中并無指定文件。相應(yīng)的目錄項是空的,則表示系統(tǒng)中并無指定文件。(2)如果目錄項中的文件名與指定文件名相匹配,)如果目錄項中的文件名與指定文件名相匹配,則表示該目錄項正是所要尋找是文件所對應(yīng)的目錄項,則表示該目錄項正是所要尋找是文件所對應(yīng)的目錄項,故而可從中找到該文件所在的物理地址。故而可從中找到該文件所在的物理地址。(3)如果在目錄表的相應(yīng)目錄項中的文件名與指定)如果在目錄表的相應(yīng)目錄項中的文件名與指定文件名并不匹配,則表示發(fā)生了文
57、件名并不匹配,則表示發(fā)生了“沖突沖突”,此時須將,此時須將其其Hash值再加上一個常數(shù)。形成新的索引值,再返回值再加上一個常數(shù)。形成新的索引值,再返回到第一步重新開始查找。到第一步重新開始查找。引引導(dǎo)導(dǎo)扇扇區(qū)區(qū)FAT1FAT2(重復(fù)的重復(fù)的)根文件夾根文件夾其他文件夾及所有文件其他文件夾及所有文件剩余扇區(qū)剩余扇區(qū)MBR(master boot record),即主引導(dǎo)記錄即主引導(dǎo)記錄 DBR區(qū)區(qū)(DOS BOOT RECORD)即即操作系統(tǒng)引導(dǎo)記錄區(qū)操作系統(tǒng)引導(dǎo)記錄區(qū) FAT16 文件系統(tǒng)布局文件系統(tǒng)布局MBR指的是硬盤的第指的是硬盤的第0個柱個柱面面(cylinder)的第的第0磁道磁道(t
58、rack)的 第的 第 0 扇 區(qū)扇 區(qū) ( s e c t o r ) 。 目錄區(qū)目錄區(qū)文件區(qū)文件區(qū)目錄區(qū)目錄區(qū)文件區(qū)文件區(qū)目錄區(qū)目錄區(qū)文件區(qū)文件區(qū)卷卷1 1卷卷2 2盤盤1 1卷卷3 3盤盤2 2盤盤3 3 文件存儲于文件卷中,文件卷可以是文件存儲于文件卷中,文件卷可以是一個物理盤,也可以是一個物理盤的一部一個物理盤,也可以是一個物理盤的一部分,一個支持超大型文件的文件卷也可以分,一個支持超大型文件的文件卷也可以由多個物理盤組成。參見下圖:由多個物理盤組成。參見下圖:6.5 文件存儲空間的管理文件存儲空間的管理 文件管理要解決的重要問題之一是文件管理要解決的重要問題之一是:如何為新創(chuàng)建的文
59、件分配存儲空間。如何為新創(chuàng)建的文件分配存儲空間。6.5.1 空閑表法和空閑鏈表法空閑表法和空閑鏈表法一一.空閑表法空閑表法1.空閑表??臻e表。連續(xù)分配連續(xù)分配方式方式 它為每個文件分配一塊連續(xù)的存儲空間。系統(tǒng)為它為每個文件分配一塊連續(xù)的存儲空間。系統(tǒng)為外存上的所有空閑區(qū)建立一張空閑表,每個空閑區(qū)對外存上的所有空閑區(qū)建立一張空閑表,每個空閑區(qū)對應(yīng)一個空閑表項。應(yīng)一個空閑表項。 序號序號第一空閑盤塊號第一空閑盤塊號 空閑盤塊數(shù)空閑盤塊數(shù)124293315542.存儲空間的分配和回收存儲空間的分配和回收與內(nèi)存相似與內(nèi)存相似二二.空閑鏈表法空閑鏈表法將所有空閑盤區(qū)將所有空閑盤區(qū)拉成一條空閑鏈拉成一條空閑鏈1.空閑盤塊鏈空閑盤塊鏈 將磁盤上的所有空閑空間,以盤塊為單位將磁盤上的所有空閑空間,以盤塊為單位 拉成一條鏈。拉成一條鏈。2.空閑盤區(qū)鏈空閑盤區(qū)鏈 將磁盤上的所有空閑盤區(qū)拉成一條鏈。將磁盤上的所有空閑盤區(qū)拉成一條鏈。6.5.2 位示圖法位示圖法一一.位示圖位示圖 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 3 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0416 申請物理塊時,可以在位示圖中查找為申請
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《從傳統(tǒng)到時尚》課件
- 七大洲四大洋的位置
- 山東省煙臺市招遠(yuǎn)市(五四學(xué)制)2024-2025學(xué)年九年級上學(xué)期期末考試道德與法治試卷(含答案)
- 2024年全國社會工作者初級職業(yè)水平《社會工作實務(wù)》考試題參考答案
- 單位管理制度展示合集【人事管理篇】
- 單位管理制度展示大合集職員管理十篇
- 定期報告:一月可能繼續(xù)震蕩偏強中小盤成長占優(yōu)
- 2024-2030年中國偶氮顏料行業(yè)市場深度分析及發(fā)展趨勢預(yù)測報告
- 單位管理制度展示大合集職工管理篇十篇
- 單位管理制度品讀選集【員工管理篇】
- NB-T35009-2013抽水蓄能電站選點規(guī)劃編制規(guī)范
- 曳引驅(qū)動電梯調(diào)試作業(yè)指導(dǎo)書
- 上海市中考英語試卷及答案
- 基礎(chǔ)會計課程思政教案設(shè)計
- 蘇教版科學(xué)小學(xué)五年級上冊期末測試卷及完整答案(奪冠系列)
- 監(jiān)控工程竣工驗收報告
- 經(jīng)皮肝穿刺膽道引流(PTCD)導(dǎo)管的護理要點
- 國家開放大學(xué)《心理學(xué)》形考任務(wù)1-4參考答案
- 2024年社會工作者《社會工作實務(wù)(中級)》考試真題必考題
- 國家基層糖尿病神經(jīng)病變診治指南(2024版)
- FZ∕T 74001-2020 紡織品 針織運動護具
評論
0/150
提交評論