計算機操作系統(tǒng)第七章-文件管理_第1頁
計算機操作系統(tǒng)第七章-文件管理_第2頁
計算機操作系統(tǒng)第七章-文件管理_第3頁
計算機操作系統(tǒng)第七章-文件管理_第4頁
計算機操作系統(tǒng)第七章-文件管理_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章 文件管理第一節(jié) 文件和文件系統(tǒng)一、文件系統(tǒng)的引入1、用戶在使用計算機的過程中遇到的有關軟件資源的兩個基本問題:l 產生了新的資源時:怎樣長期存放;l 使用系統(tǒng)中現(xiàn)有資源時:怎樣檢索,如何使用;解決的方法:把信息以一種單元-文件-的形式存儲在磁盤或其他外部存儲介質上。文件由操作系統(tǒng)來統(tǒng)一管理,包括:文件的結構,命名,存取,使用,保護,以及實現(xiàn)方法。2、現(xiàn)代OS中引入文件系統(tǒng)的目的l 管理系統(tǒng)和用戶的軟件資源,讓用戶實現(xiàn)對信息的“按名存取”;l 提供信息的存儲、檢索、更新、共享和文件保護等一系列文件操作,使用戶能方便有效地使用和操作文件;l 文件系統(tǒng)給用戶帶來的好處是:使用方便、數(shù)據安全、

2、接口統(tǒng)一3、文件系統(tǒng)的功能l 統(tǒng)一管理文件的存儲空間(外存空間),實施存儲空間的分配與回收l 實現(xiàn)文件的按名存?。好挚臻g 映射 存儲空間l 實現(xiàn)文件信息的共享,并提供文件的保護和保密措施l 向用戶提供一個方便使用的接口l 系統(tǒng)維護及向用戶提供有關信息l 提供與I/O的統(tǒng)一接口文件系統(tǒng)在操作系統(tǒng)接口中占的比例最大,用戶使用操作系統(tǒng)的感覺在很大程度上取決于對文件系統(tǒng)的使用效果。二、文件系統(tǒng)中的相關概念1、數(shù)據項:構成文件內容的基本單位l 基本數(shù)據項。這是用于描述一個對象的某種屬性的字符集,是數(shù)據組織中可以命名的最小邏輯數(shù)據單位, 即原子數(shù)據,又稱為數(shù)據元素或字段。它的命名往往與其屬性一致。l 組

3、合數(shù)據項。它是由若干個基本數(shù)據項組成的,簡稱組項。2、記錄:是一組相關數(shù)據項的集合,用于描述一個對象在某方面的一組屬性。3、關鍵字:是能唯一標識一個記錄的數(shù)據項。記錄的關鍵字可以不止一個;關鍵字可以是一個基本數(shù)據項,也可以是一個組合數(shù)據項。4、文件:是指由創(chuàng)建者所定義的、 具有文件名的一組相關信息的集合,可分為有結構文件和無結構文件兩種。 在有結構的文件中,文件由若干個相關記錄組成(是記錄的序列);而無結構文件則被看成是一個字符(字節(jié))流。文件是文件系統(tǒng)中一個最大的數(shù)據單位,它描述了一個對象集。圖7-1文件、記錄和數(shù)據項之間的層次關系5、文件的屬性:文件具有描述自己各方面特質的-屬性,文件的屬

4、性主要包括:P7l 文件類型。(可以從不同的角度對文件進行分類)l 文件長度。l 文件在外存上的物理位置。l 文件的建立(修改)時間。6、文件分類(1) 文件分類的目的文件的分類是為了更好地管理和使用,要科學地分門別類,對不同的文件進行不同的管理。這樣,不僅提高了文件的存取速度,對文件的共享和保護也有利。(2) 文件的分類方法-P10-14l 按性質和用途分類l 按文件中數(shù)據的形式分類l 按存取控制屬性分類l 按組織形式和處理方式分類u 用戶在OS界面之上看到的文件分類-P9,還有在圖形界面上看到的不同形狀的文件圖標。² 按邏輯結構分類² 按物理結構分類7、文件系統(tǒng)l 是操

5、作系統(tǒng)中統(tǒng)一管理信息資源(軟件)的子系統(tǒng),管理文件的存儲、檢索、更新,提供安全可靠的共享和保護手段,并且方便用戶使用。l 文件系統(tǒng)包含文件管理程序和被管理的全部文件l 是用戶與外存的接口。系統(tǒng)軟件為用戶提供統(tǒng)一方法,訪問存儲在物理介質上的信息三、文件系統(tǒng)的層次模型OS的文件系統(tǒng)可以分為三個層次:P16-19l 最底層:被管理的對象及其屬性;l 中間層:對對象進行管理和操作的軟件的集合;l 最頂層:文件系統(tǒng)的用戶接口四、文件操作1、最基本的文件操作(命令): P20-22l 創(chuàng)建文件l 刪除文件l 讀文件l 寫文件l 截斷文件l 設置文件的讀/寫位置2、為了方便用戶使用文件,通常,OS都提供了數(shù)

6、條有關文件操作的系統(tǒng)調用,可將這些調用分成若干類:l 有關對文件屬性進行操作的l 有關目錄的l 用于對文件進行操作的l 用于實現(xiàn)文件共享和保護的3、關于文件的打開和關閉: P24第二節(jié) 文件的邏輯結構和內部數(shù)據訪問方式一、文件組織的兩種觀點1、用戶觀點(邏輯結構):研究的是用戶思維中的抽象文件,其目的是為用戶提供一種結構清晰、使用簡便的信息的數(shù)據結構。用戶按此結構去存儲、檢索和加工處理文件內信息。它獨立于文件的物理特性,又稱文件組織。2、實現(xiàn)觀點(物理結構):研究的是存儲在物理設備介質上的實際文件,即文件在外存上的實際存放形式。它不僅與存儲介質的性能有關,還與采用的外存分配方式有關。系統(tǒng)按此和

7、外部設備打交道,進行信息的存取。二、文件邏輯結構的類型1、有結構的(記錄式)文件: P27-28記錄可以是定長的、可以是變長的。記錄式文件可以組織成:l 順序文件。l 索引文件。l 索引順序文件。l 直接文件數(shù)據文件通常用這種類型來組織。2、無結構的(流式)文件l 流式文件是有一定意義的字符(字節(jié))流。l 信息單元的長度以字節(jié)為單位。對流式文件的訪問,采用讀寫指針來指出下一個要訪問的字符。可以把流式文件看作是記錄式文件的一個特例。l 大量的源程序、 可執(zhí)行文件、 庫函數(shù)等,所采用的就是無結構的文件形式,即流式文件。l 在UNIX系統(tǒng)中,所有的文件都被看作是流式文件;即使是有結構文件,也被視為流

8、式文件;文件系統(tǒng)本身不對文件進行內部結構處理。三、順序文件1、記錄被順序排列在文件中。這種順序可以是記錄生成時的先后順序(串結構,連續(xù)結構),也可以是按照某個關鍵字值的大小,遞增或遞減排列的順序(順序結構)。順序文件的記錄可以是定長的,也可以是變長的。圖 7-3 定長和變長記錄文件2、對順序文件(Sequential File)的讀/寫操作順序讀寫(順序訪問)l 定長記錄:讀指針rptr-指向下一次讀出的記錄地址;寫指針wptr-指向下一次寫入的記錄地址。讀完指針做相應修改:rptr+L=>rptr寫完指針做相應修改:wptr+L=>wptrl 變長記錄:每個記錄長度存于記錄前的單

9、元中。訪問完, rptr+Li=>rptr; wptr+Li=>wptr3、順序文件的優(yōu)缺點l 順序文件的最佳應用是對連續(xù)的記錄進行批量存取時,即每次要讀或寫一大批記錄時,對順序文件的存取效率是所有邏輯文件中最高的;l 此外,也只有順序文件才能存儲在磁帶上,并能有效地工作。u 在交互應用的場合,如果用戶要求查找或修改單個記錄,系統(tǒng)要逐個地查找諸記錄。這時,順序文件所表現(xiàn)出來的性能就可能很差,尤其是當文件較大時,情況更為嚴重。u 插入或刪除一個記錄較困難。四、索引文件1、對于定長記錄的順序文件,如果要查找第i個記錄, 可直接根據下式計算來獲得第i個記錄相對于第一個記錄首址的地址:Ai

10、=i×L算出地址后可以對該記錄進行直接訪問;另外,如果記錄按關鍵字值大小順序存放,還可以對記錄進行按鍵訪問。2、對于可變長度記錄的順序文件,要查找其第i個記錄時,須首先順序訪問前面的每個記錄,從中獲得相應記錄的長度Li,然后才能按下式計算出第i個記錄的首址。假定在每個記錄前用一個字節(jié)指明該記錄的長度,則 ,這樣,變長記錄式文件只能順序訪問。3、索引文件 為了對所有的記錄式文件都能進行直接訪問,給記錄式文件建立一張索引表,文件中每個記錄,在索引表中有一個表項,存放記錄的關鍵字和地址。索引表本身是一個定長記錄的順序文件,記錄按關鍵字值的大小順序存放。通過查找索引表,找到一個記錄的起始地址

11、,來完成對記錄的直接訪問和按鍵訪問。關鍵字圖 7-4 索引文件的組織五、索引順序文件為了縮短索引表的長度,將文件中連續(xù)的若干個記錄(有相同的關鍵字值或特征)作為一個記錄組。在為文件建立索引表時,文件中每個記錄組,在索引表中有一個表項,存放記錄組的關鍵字和首地址。索引表本身是一個定長記錄的順序文件。通過查找索引表,直接找到每組第一個記錄的起始地址,組內順序查找,來完成對記錄的訪問。圖 7-5 索引順序文件六、直接文件和哈希文件直接文件,可根據給定記錄的鍵值,直接獲得該記錄的地址。換言之,記錄鍵值本身就決定了記錄的地址。這種由記錄鍵值到記錄地址的換算被稱為鍵值轉換(Key to address t

12、ransformation)。組織直接文件的關鍵,在于用什么方法(轉換函數(shù))進行從記錄鍵值到地址的轉換。哈希(Hash)文件-一種直接文件:圖 7-6 Hash文件的邏輯結構七、小結1、文件的邏輯結構(1) 記錄式文件l 定長的l 變長的(2) 流式文件,可以看成定長記錄式文件的特例2、記錄的組織方式(1) 順序文件,文件是記錄的序列,記錄的排列可以是串結構的,也可以是順序結構的。順序文件是文件的基本邏輯結構,所有的文件,都是順序文件。l 對于定長的記錄式文件,可以進行順序訪問,也可以進行直接訪問;對于定長的順序結構的記錄式文件還可以進行按鍵訪問。l 對于變長的記錄式文件只能進行順序訪問。(2

13、) 索引文件,為了對所有的文件都能實現(xiàn)直接訪問或按鍵訪問、提高文件的訪問速度,就為文件建立索引表,登記每個記錄的鍵值或邏輯序號+地址。文件的索引表是一個定長的記錄式文件。對索引文件中記錄的訪問,首先根據鍵值或邏輯序號、用按鍵訪問方式檢索索引表,找到記錄的地址,再按照地址直接訪問記錄。(3) 索引順序文件,為了縮短索引表的長度,將順序文件中的記錄按一定的規(guī)則分組。建立索引表,登記每組第一個記錄的鍵值或邏輯序號+地址。對索引順序文件中記錄的訪問,首先用按鍵訪問方式檢索索引表,找到記錄所在組的首地址,然后從該地址開始,對文件進行順序檢索,找到要訪問的記錄。(4) 直接文件,每個記錄,通過鍵值換算出地

14、址,進行存放和訪問?,F(xiàn)代OS一般已不在文件系統(tǒng)這一級過多關注文件的邏輯結構,所有的文件都是流式文件,文件的訪問就是“對文件中的第幾個字節(jié)進行訪問”。文件內部的邏輯結構,到打開、加工文件的軟件工具中去進一步解釋,文件內部的數(shù)據訪問由軟件工具支持。第三節(jié) 文件目錄一、概述文件存儲器上存放著大量的文件。為了能對這些文件實施有效的管理-實現(xiàn)“按名存取”;方便、準確、快速的文件檢索;實現(xiàn)文件共享與保護;允許文件重名-需要引入一種數(shù)據結構,將文件組織起來。這個數(shù)據結構就是目錄。目錄設計的目標就是實現(xiàn)上述管理功能。二、文件控制塊1、什么是文件控制塊文件控制塊(FCB)是操作系統(tǒng)為管理文件而設置的數(shù)據結構,存

15、放了為管理一個文件所需的所有相關信息,也稱文件說明。文件控制塊是文件存在的標志。(對比進程控制塊PCB)2、文件控制塊的內容(1) 基本信息類 文件名; 文件物理位置; 文件邏輯結構; 文件的物理結構。(2) 存取控制信息類(存取權限信息)(3) 使用信息類 P91-92將多個文件控制塊組織成序列就構成目錄。三、索引結點1、為什么要引入索引結點: P94-952、索引結點的組織將文件名和FCB中的其他描述信息分開組織:每個文件的FCB,除去文件名,稱為文件的索引結點(i結點)。將磁盤上所有文件的索引結點順序組織成一個表,稱為i結點表,表的每一行對應一個文件;在目錄中,僅存放文件名和指向文件索引

16、結點的指針(記錄是第幾個i結點)。這樣可以縮短磁盤目錄表的長度,減少檢索一個文件的訪盤次數(shù)。這樣,原來磁盤的目錄表就被分解為目錄表+i結點表兩部分。3、磁盤索引結點存放在磁盤上的索引結點,每個文件有唯一的一個。其主要內容:(1) 文件主標識符 (2) 文件類型 (3) 文件存取權限 (4) 文件物理地址 (5) 文件長度 (6) 文件連接計數(shù) (7) 文件存取時間一個邏輯盤上所有文件的索引結點順序組成這張磁盤的i結點表。4、內存索引結點當打開文件時,其磁盤索引結點被拷貝到內存中,成為內存索引結點,以便以后的使用。所有已打開文件的內存索引結點組成內存i結點表。與磁盤索引結點比,內存索引結點增加以

17、下內容:(1) 索引結點編號,用于標識內存索引點;(2) 狀態(tài),指示i結點是否上鎖或被修改;(3) 訪問計數(shù)。記錄有幾個進程正在訪問本文件。每當有一進程要訪問此i結點時,將該訪問計數(shù)加1,訪問完再減1;(4) 文件所屬文件系統(tǒng)的邏輯設備號;(5) 鏈接指針。設置有分別指向空閑鏈表和散列隊列的指針。四、目錄結構 將FCB順序組織在一起,就構成了文件的目錄,目錄即是文件控制塊的有序集合 目錄項:每個目錄項就是一個FCB 目錄文件:為了實現(xiàn)對目錄的管理,通常將目錄表以文件的形式組織、保存在外存,這類文件就叫目錄文件。1、單級目錄的組成為整個文件系統(tǒng)建立一張目錄表,每個文件占一個目錄項。單級目錄的優(yōu)點

18、:簡單且能實現(xiàn)目錄管理的基本功能-按名存取。缺點:(1)查找速度慢;(2)不允許重名;(3)不便于實現(xiàn)文件共享。2、兩級目錄的組成在文件系統(tǒng),尤其是多用戶文件系統(tǒng)中,文件的“重名”很難避免,為了克服單級目錄結構的缺點,引入了兩級文件目錄,組成如下:(1) 系統(tǒng)給每一個用戶建立一張獨立的用戶目錄表(UFD),用來存放屬于該用戶所有文件的FCB。UFD的結構與單級目錄表相似,它以一個目錄文件的形式存在磁盤上;(2) 整個文件系統(tǒng)有一張主目錄表(MFD),其中的每一個表目(一行)用來存放一個UFD文件的FCB,這樣就形成了兩級目錄。 優(yōu)點:解決了文件的重名問題和文件共享問題;提高搜索速度,查找時間降

19、低 缺點:妨礙了用戶間的文件共享,增加了系統(tǒng)開銷 P108圖 7-10 兩級目錄結構3、多級目錄(樹形目錄)的組成將兩級目錄的這種層次結構推廣,就形成多級目錄。在多級目錄結構中,MFD演變?yōu)槲募到y(tǒng)的根目錄,在根目錄中可以存放一般文件的FCB,也可以存放目錄文件的FCB;每一個目錄文件對應一張目錄表,其中既可以存放一般文件的FCB,也可以存放目錄文件的FCB。圖 7-11 多級目錄結構 優(yōu)點:層次結構清晰,便于管理和保護;有利于文件分類;解決重名問題;提高文件檢索速度;能進行存取權限的控制。 缺點:查找一個文件按路徑名逐層檢查,由于目錄文件和普通文件都放在外存,多次訪盤,影響速度。 路徑:在樹

20、形目錄結構中,從根目錄到任何普通文件,都只有一條惟一的通路。在該路徑上從樹的根(即主目錄)開始,把全部目錄文件名與普通文件名,依次地用“/”連接起來,即構成該普通文件的路徑名。系統(tǒng)中的每一個文件都有惟一的路徑名。如:/B/F/N 其他概念§ 當前目錄§ 絕對路徑§ 相對路徑五、目錄查詢技術1、什么是目錄查詢系統(tǒng)利用用戶提供的文件名(全名),找出該文件的FCB或對應的i結點;根據其中的物理地址(盤塊號)換算出文件在磁盤上的首地址;最后驅動磁盤,將所需文件讀入內存。目錄查詢方法主要有:線性檢索和Hash檢索。2、線性檢索法以下示意是以目錄表+i結點表的形式組織目錄的。

21、圖 7-12 查找/usr/ast/mbox的步驟3、Hash檢索方法對于Hash文件(目錄用Hash順序組織),系統(tǒng)利用文件名換算成的索引值,到目錄中去查找文件。在換算過程中,可能出現(xiàn)不同的文件名換算出相同的Hash值。一種處理“沖突”的有效規(guī)則是:(1) 在利用Hash法索引查找目錄時,如果目錄表中相應的目錄項是空的,則表示系統(tǒng)中并無指定文件。(2) 如果目錄項中的文件名與指定文件名相匹配,則表示該目錄項正是所要尋找的文件所對應的目錄項,故而可從中找到該文件所在的物理地址。(3) 如果在目錄表的相應目錄項中的文件名與指定文件名并不匹配,則表示發(fā)生了“沖突”,此時須將其Hash值再加上一個常

22、數(shù)(該常數(shù)應與目錄的長度值互質),形成新的索引值,再返回到第一步重新開始查找。第四節(jié) 文件共享一、什么是文件共享 文件系統(tǒng)允許多個用戶(進程)分享同一份文件,這種功能稱為文件的共享。 文件共享可以節(jié)省存儲空間、避免文件內容的二義性、實現(xiàn)進程間信息的交換。 文件共享有許多實現(xiàn)的方法,可以應用在單機環(huán)境,也可以應用在網絡環(huán)境。二、基于索引結點的共享方法圖 7-14 基于索引結點的共享方式 1、文件系統(tǒng)為每個文件建立索引結點,存放文件的FCB,并在索引結點中增加一個計數(shù)器count,記錄共有幾個用戶(進程)共享該文件。用戶目錄中只需記錄文件名和該文件索引結點的存放地址(文件的索引結點號)。2、文件的

23、用戶(進程)分文件主和一般共享用戶,只有文件主才能建立和刪除文件。3、這種共享方法帶來一些問題,如文件刪除問題和針懸空問題。圖 6-25 進程B鏈接前后的情況三、利用符號鏈(文件)實現(xiàn)共享1、當用戶B要共享用戶A的文件F時,文件系統(tǒng)為用戶B建立一個LINK類的文件,文件的內容是文件F的絕對路徑名。這個LINK文件放在B的目錄中。當B要訪問F時,由文件系統(tǒng)去打開LINK文件,讀B的路徑名,根據路徑查找文件F。2、文件主A能建立和刪除文件,其他共享用戶只能進行其他被允許的操作。只是文件主才擁有指向其索引結點的指針;而共享該文件的其他用戶,則只有該文件的路徑名,并不擁有指向其索引結點的指針。當文件的

24、擁有者把一個共享文件刪除后,其他用戶試圖通過符號鏈去訪問一個已被刪除的共享文件時,會因系統(tǒng)找不到該文件而使訪問失敗,于是再將符號鏈刪除,此時不會產生任何影響。 3、符號鏈實現(xiàn)的文件共享沒有刪除問題,但非文件主訪問共享文件時,要多次訪盤;要建立符號鏈文件,因此要增加一定的開銷。第五節(jié) 文件保護一、什么是文件的保護1、文件的保護是指防止文件主或其他用戶無意或有意破壞文件內容。也指防止系統(tǒng)出現(xiàn)異常、病毒或其他自然因素對文件內容的破壞。影響文件安全性的主要因素: P150相關主題-文件的保密:是指未經文件主許可,任何用戶不得對該文件的內容和屬性進行訪問。2、文件保護采取的主要措施有:(1) 通過存取控制機制,防止人為因素所造成的文件不安全性;(2) 通過磁盤容錯技術,防止磁盤部分故障造成的文件不安全性;(3) 通過后備系統(tǒng),防止自然因素造成的整個文件存儲器的不安全性。二、關于保護域1、訪問權:一個進程對系統(tǒng)中的某個對象操作的權利。2、保護域:進程對一組對象訪問權的集合,進程只能在指定的域內執(zhí)行操作。進程與保護域之間,可以是

溫馨提示

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

評論

0/150

提交評論