計算機作業系統之檔案管理一

2022-11-24 23:17:07 字數 3737 閱讀 5550

檔案系統的管理功能是將其管理的程式和資料組織為一系列檔案的方式實現的。而檔案則是指具有檔名的若干相關元素的集合。元素通常是記錄,而記錄又是一組有意義的資料項的集合。

資料項、記錄和檔案

上圖為檔案、目錄和資料項之間的層次關係。

在檔案系統中,資料項是最底層的資料組織形式,它可以分為兩種型別:基本資料項和組合資料項。

基本資料項是描述一個物件的某種屬性的字符集,是可以命名的最小邏輯資料單位,又稱為欄位。例如:用於描述一個學生的基本資料項有:學號、姓名、年齡、所在班級等。

而組合資料項是由若干基本資料項組成的,簡稱組項。例如工資是個組項,它可以由基本工資、工齡工資和獎勵工資等基本項組成。

基本資料項描述某個物件的屬性、根據屬性的不同,需要用不同的資料型別加以描述。

由資料項的名字和型別兩者共同定義了一個資料項的“型”,而表徵一個實體在資料項上的資料項則稱為“值”。

記錄是一組相關資料項的集合,用於描述一個物件在某方面的屬性。一個記錄應包含哪些資料項,取決於需要描述物件的哪些方面。

在諸多記錄中,為了能唯一地標識一個記錄,必須在一個記錄地各個資料項中確定出一個或幾個資料項,把它們地集合稱為關鍵字。或者說,關鍵字是唯一能標識一個記錄的資料項。

檔案是由建立者所定義地,具有檔名地一組相關元素的集合,有有結構檔案和無結構檔案兩種形式。

在有結構檔案中,檔案是由若干個相關記錄組成,而無結構檔案則被看成是一個字元流。檔案在檔案系統中是一個最大地資料單位,它描述了一個物件集。

檔案的屬性包括:檔案型別、檔案長度、檔案的物理位置、檔案的建立時間。

檔名和型別

檔名,檔名由檔名和副檔名兩部分組成,在不同的系統中,檔名的規定是不同的。

副檔名,副檔名是新增在檔名後面的若干個附加字元,又稱為字尾名,用於指示檔案的型別。

檔案型別:檔案型別根據用途、檔案中的資料形式、存取控制屬性的不同可以劃分為多種檔案型別。

根據用途可以劃分為系統檔案、使用者檔案等;根據檔案中資料的形式可以劃分為原始檔、目標檔案、可執行檔案等;根據存取控制屬性可以劃分為只讀、只寫、讀寫檔案等;根據檔案的組織形式可以劃分為普通檔案、目錄檔案、特殊檔案等。

file system的基本層次

物件及其屬性

檔案管理系統管理的物件分別有:檔案、目錄、磁碟(磁帶)儲存空間。在檔案系統中有著各種不同型別的檔案,它們都屬於檔案管理系統的直接物件。為了方便使用者的使用,檔案管理系統中必須配置目錄。在目錄中的每個目錄項中,必須含有檔名、對檔案屬性的說明,以及該檔案所在的實體地址(或指標)。檔案、目錄的儲存佔用著計算機的硬體資源(磁碟、磁帶空間),檔案管理系統對這部分的有效管理是提高對檔案的存取速度的關鍵。

對物件操縱和管理的軟體集合

該層是檔案管理系統的核心部分,它都實現了下述功能:對檔案儲存空間的管理、對檔案目錄的管理、將檔案的邏輯地址轉換為實體地址的轉換、對檔案讀和寫的管理、對檔案的共享和保護的功能。

要實現上述的功能,需要作業系統進行分層管理,類似於osi四層模型,層次和功能的劃分有助於提高效率。

一般的,將與檔案系統有關的軟體分為四個層次:i/o控制層、基本檔案系統層、基本i/o管理層、邏輯檔案系統層

檔案系統的介面

為方便使用者程式以及使用者的使用,檔案系統提供了兩類介面:命令介面和程式介面。

典型的命令介面:linux中的terminal和windows中的cmd視窗 。

典型的使用者應用程式介面:android中的社交應用需要獲取檔案管理的許可權。

檔案的基本操作------>略

從使用者的觀點出發觀察到的檔案組織形式,即檔案是由一系列的邏輯記錄組成的,又稱為檔案的邏輯結構(file logical structure)。

從系統的觀點出發觀察到的檔案組織形式,即檔案是由系統儲存在外存上所形成的一種組織形式,是使用者不可見的。又稱為檔案的物理結構(儲存結構)。檔案的物理結構不僅與儲存介質的儲存效能有關,而且與所採用的外存分配方式有關。無論是檔案的邏輯結構,還是物理結構,都會影響檔案的檢索速度。

對檔案邏輯結構的基本要求:有助於提高對檔案的檢索速度、降低檔案存放在外存上的儲存費用。

從檔案是否有結構來分類:可分為有結構檔案(記錄式檔案)和無結構檔案(流式檔案);從檔案的組織方式來分,可以分為順序檔案、索引檔案和順序索引檔案。

在記錄式檔案中,每個記錄都用於描述實體集中的一個實體,各記錄有著相同或不同數目的資料項,記錄的長度可分為定長記錄和變長記錄。

定長記錄,是指檔案中所有的記錄都是相同的,所有檔案中的各資料項都處在記錄中相同的位置,具有相同的順序和長度。定常記錄能有效地提高檢索記錄地速度和效率,能方便地對檔案進行處理和修改,被廣泛用於資料處理中。

變長記錄,是指檔案中各記錄的長度不相同。產生變長記錄的原因是多樣的......變長記錄主要用於許多商業模式中。

在流式檔案中,主要用於描述源程式、可執行檔案、庫函式等。對流式檔案的訪問是通過讀寫指標來實現的。

記錄式檔案的長度用記錄的數目來表示;流式檔案的長度是以位元組為單位的。

無結構檔案包括順序檔案、索引檔案、索引順序檔案三種。

順序檔案,指由一系列記錄按某種順序排列所形成的檔案,其中的記錄可以是定長記錄和變長記錄。

索引檔案,指為可變長記錄檔案建立一張索引表,為每個記錄設定一個表項,以加速對記錄的檢索速度。

索引順序檔案,在為每個檔案建立一張索引表時,並不是為每一個記錄建立一個索引表項,而是為每一組記錄中的第一個記錄建立一個索引表項。

順序檔案
順序檔案中的記錄可以按照不同的順序進行排列。在串結構中,系統按照檔案的存入時間先後進行排序;在順序結構中,系統根據使用者指定的關鍵字(關鍵字必須唯一的標識每一個記錄)進行排序。

在對檔案中的記錄進行批量存取時(即每次要讀寫或寫一大批記錄),順序結構都是不錯的選擇。但在互動應用的場合,或者是在包含有大量的增刪操作的場合,順序檔案對記錄的操作比較困難。

索引檔案
索引檔案應用在處理變長記錄的記錄式檔案。在未知記錄長度的情況下,無法快速的對變長記錄檔案進行定址。我們為變長記錄檔案建立一張索引表,為主檔案中的每個記錄在索引表中分別設定一個表項,記錄指向記錄的指標(即記錄在邏輯地址空間的首址)以及記錄的長度,索引表按關鍵字排序,因此其本身也是一個定長記錄的順序檔案,這樣就把對變長記錄順序檔案的順序檢索轉變為對定長記錄索引檔案的隨機檢索。

索引檔案在增加儲存開銷的同時將一個需要順序查詢的變長記錄檔案改造為一個隨機訪問的“定長“記錄檔案。

索引順序檔案
索引順序檔案是索引檔案和順序檔案結合的產物。它基本上克服了變長記錄的順序檔案不能隨機訪問和增刪操作不便的缺點,又保留了順序檔案的關鍵特徵。相比較順序檔案和索引檔案,它引入了檔案索引表和溢位檔案,檔案索引表可以實現對索引順序檔案的隨機訪問,溢位檔案可以記錄新增加和刪除、修改的檔案的記錄。