作業系統檔案管理

2021-04-15 18:53:43 字數 3806 閱讀 4813

博文很長,我把一章的內容都總結在這裡了。

在現代計算機系統中,要用到大量的程式和資料,因記憶體容量有限,且不能長期儲存,故而平時總是把它們以檔案的形式存放在外存中,需要時再隨時將它們調入記憶體。如果由使用者直接管理外存上的檔案,不僅要求使用者熟悉外存特性,了解各種檔案的屬性,以及它們在外存上的位置,而且在多使用者環境下,還必須能保持資料的安全性和一致性。顯然,這是使用者所不能勝任、也不願意承擔的工作。

於是,取而代之的便是在作業系統中又增加了檔案管理功能,即構成乙個檔案系統,負責管理在外存上的檔案,並把對檔案的訪問、共享和保護等手段提供給使用者。這不僅方便了使用者,保證了檔案的安全性,還可有效地提高系統資源的利用率。

1. 有關檔案的概念

檔案:具有符號名(檔名)的一組相關元素的有序序列,是一段程式或資料的集合。

檔案系統:

是作業系統中統一管理資訊資源的一種軟體,管理檔案的儲存、檢索、更新,提供安全可靠的共享和保護手段,並且方便使用者使用。

檔案系統包含檔案管理程式(檔案與目錄的集合)和所管理的全部檔案 ,是使用者與外存的介面 ,系統軟體為使用者提供統一方法(以資料記錄的邏輯單位),訪問儲存在物理介質上的資訊。

有關直接(隨機)訪問裝置的磁碟知識:硬碟的讀寫原理和磁碟碎片的產生

2. 檔案的分類

按性質和用途分類:系統檔案、庫檔案、使用者檔案。

系統檔案 :由系統軟體構成的檔案,只允許使用者通過系統呼叫或系統提供的專用命今來執行它們,不允許對其進行讀寫和修改。主要有作業系統核心和各種系統應用程式或實用工具程式和資料組成

庫檔案:檔案允許使用者對其進行讀取和執行,但不允許對其進行修改 。主要由各種標準子程式庫組成

使用者檔案 :是使用者通過作業系統儲存的使用者檔案,由檔案的所有者或所有者授權的使用者才能使用 。主要由使用者的源程式源**、可執行目標程式的檔案和使用者資料庫資料等組成 。

按操作保護分類:唯讀檔案、可讀可寫檔案、可執行檔案。

唯讀檔案:只允許檔案主及被核准的使用者去讀檔案,而不允許寫檔案。標記為:-r-----

可讀可寫檔案:允許檔案主及被核准的使用者去讀和寫檔案。標記為: -rw----

可執行檔案:允許檔案主及被核准的使用者去呼叫執行該檔案而不允許讀和寫檔案,標記為: ---x---

按使用者觀點分類(unix系統檔案分類)

普通檔案(常規檔案) :是指系統中最一般組織格式的檔案,一般是字元流組成的無結構檔案

目錄檔案 :是由檔案的目錄資訊構成的特殊檔案,作業系統將目錄也做成檔案,便於統一管理

特殊檔案(裝置驅動程式)

按檔案的邏輯結構分為:流式檔案(,無結構作業系統檔案)、記錄式檔案(有結構的資料庫檔案)。

流式檔案:這是直接由字串行(字元流)所構成的檔案,故又禰為流式檔案

大量的源程式、可執行檔案、庫函式等,所採用的就是無結構的檔案形式,即流式檔案。其長度以位元組為單位。對流式檔案的訪問,則是採用讀/寫指標來指出下乙個要訪問的字元。

可以把流式檔案看做是記錄式檔案的乙個特例。在 unix 系統中,所有的檔案都被看做是流式檔案,即使是有結構檔案,也被視為流式檔案,系統不對檔案進行格式處理。

記錄式檔案:由若干個記錄所構成的檔案,故又稱為記錄式檔案。也叫資料庫檔案。

可採用多種方式組織記錄,形成不同的檔案:

①順序檔案:是由一系列記錄按某種順序排列所形成的檔案。

②索引檔案:當記錄為可變長度時,通常為之建立一張索引表。

③索引順序檔案:它為檔案建立一張索引表,為每一組記錄中的第乙個記錄設定乙個表項。

按檔案的物理結構分類:順序檔案(也叫串聯檔案,連續檔案)、鏈結檔案、索引檔案、hash檔案、索引順序檔案。

按檔案的訪問方式:順序訪問檔案、隨機訪問檔案。

在管理資訊系統中,按檔案的組織方式分類:順序檔案、索引檔案、直接訪問檔案。

按檔案中的資料形式分類

原始檔 :由源程式和資料構成的檔案

目標檔案 :由源程式經過相應的計算機語言編譯程式編譯,但尚未經過鏈結程式鏈結的目標**所形成的檔案

3. 檔案的訪問方式

檔案的訪問方式是由檔案的性質和使用者使用檔案的情況決定。

1 順序訪問。

2隨機訪問(也叫直接訪問)。

3索引訪問

磁帶是順序訪問。磁碟是隨機訪問。

順序訪問是按照檔案的邏輯位址順序訪問。

固定長記錄的順序訪問是十分簡單的。讀操作總是讀出上一次讀出的檔案的下乙個記錄,同時,自動讓檔案記錄讀指標推進,以指向下一次要讀出的記錄位置。如果檔案是可讀可寫的。

再設定乙個檔案記錄指標,它總指向下一次要寫入記錄的存放位置,執行寫操作時,將乙個記錄寫到檔案末端。允許對這種檔案進行前跳或後退n(整數)個記錄的操作。順序訪問主要用於磁帶檔案,但也適用於磁碟上的順序檔案。

可變長記錄的順序檔案,每個記錄的長度資訊存放於記錄前面乙個單元中,它的訪問操作分兩步進行。讀出時,根據讀指標值先讀出存放記錄長度的單元 。然後,得到當前記錄長後再把當前記錄一起寫到指標指向的記錄位置,同時,調整寫指標值 。

由於順序檔案是順序訪問的,可採用成組和分解操作來加速檔案的輸入輸出。

很多應用場合要求以任意次序直接讀寫某個記錄。例如,航空訂票系統,把特定航班的所有資訊用航班號作標識,存放在某物理塊中,使用者預訂某航班時,需要直接將該航班的資訊取出。直接訪問方法便適合於這類應用,它通常用於磁碟檔案。

為了實現直接訪問,乙個檔案可以看作由順序編號的物理塊組成的,這些塊常常劃成等長,作為定位和訪問的乙個最小單位,如一塊為節、節,視系統和應用而定。於是使用者可以請求讀塊22、然後,寫塊48,再讀塊9等等。直接訪問檔案對讀或寫塊的次序沒有限制。

使用者提供給作業系統的是相對塊號,它是相對於檔案開始位置的乙個位移量,而絕對塊號則由系統換算得到。

第三種型別的訪問是基於索引檔案的索引訪問方法。由於檔案中的記錄不按它在檔案中的位置,而按它的記錄鍵來編址,所以,使用者提供給作業系統記錄鍵後就可查詢到所需記錄。

通常記錄按記錄鍵的某種順序存放,例如,按代表健的字母先後次序來排序。對於這種檔案,除可採用按鍵訪問外,也可以採用順序訪問或直接訪問的方法。資訊塊的位址都可以通過查詢記錄鍵而換算出。

實際的系統中,大都採用多級索引,以加速記錄查詢過程。

4. 幾種常見的檔案物理結構

幾種常見的檔案物理結構:

順序檔案(也叫串聯檔案,連續檔案)、鏈結檔案、索引檔案、hash檔案、索引順序檔案。

5. 順序檔案

是指檔案中的物理記錄按其在檔案中的邏輯記錄順序依次存入儲存介質而建立的。即順序檔案中物理記錄的順序和邏輯記錄的順序是一致的。

順序檔案在儲存介質中可以有兩種不同的實現結構:連續結構和鏈結構。

連續結構:是一種最簡單的物理檔案結構,它把邏輯上連續的檔案資訊依次存放在連續編號的物理塊中。即次序相繼的兩個物理記錄在儲存介質上的位置是相鄰的。也稱為連續檔案;

圖5.19給出了連續結構檔案的圖形說明。在圖中,乙個邏輯塊號為0、1、2、3的檔案依次存放在物理塊15、16、17、18中。

5.19連續結構檔案的示意圖件

áè±·¨×é5.19

連續結構的優點是:

(1)結構簡單;

(2)順序訪問速度快,對於等長記錄的連續檔案可以進行順序訪問,也可以進行類似折半查詢的隨機訪問,但是對於不等長記錄的連續檔案只能進行順序訪問;

(3)因為資料集中存放在連續的盤塊中,訪問時所需的尋道次數和尋道時間少。

連續結構儲存的缺點:

(1)由於插入和刪除記錄會引起其它記錄的移動,在外存中執行此操作會引起磁頭的頻繁來回移動,因此連續結構只能在檔案的末尾插入記錄,刪除記錄時,只作標記進行邏輯刪除,只有使用者指定物理刪除時才真正刪除相應記錄,進行記錄的移動;

(2)順序檔案需要連續的盤塊存放資料,因此,在插入記錄時如果原來分配的盤塊已沒有空閒空間,而與其鄰接的盤塊也不空閒時,需要重新在外存中查詢新的較大的空閒空間,並將原有資料移動到新空間中,然後才能插入新的資料,因此,連續結構不易動態增長,而且外存容易存在碎片。

5.20

作業系統檔案管理系統模擬實驗

檔案管理系統模擬 1.實驗目的 通過乙個簡單多使用者檔案系統的設計,加深理解檔案系統的內部功能及內部實現 2.實驗內容 為linux系統設計乙個簡單的二級檔案系統。要求做到以下幾點 1 可以實現下列幾條命令 至少4條 login 使用者登入 dir 列檔案目錄 create 建立檔案 delete ...

計算機作業系統檔案管理

一 選擇題 1 從使用者角度看,引入檔案系統的主要目的是 a 實現虛擬儲存 b 儲存系統文件 c 儲存使用者和系統文件 d 實現對檔案的按名訪問 2 檔案的邏輯組織將檔案分為記錄式檔案和 檔案。a 索引檔案 b 流式檔案 c 字元檔案 d 讀寫檔案 3 乙個檔案的絕對路徑名是從 開始,逐步沿著每一級...

作業系統模擬檔案管理大作業要點

1 建立乙個簡單的模擬檔案管理系統。2 理解使用者介面和操作命令在作業系統中的作用。需要實現乙個命令列操作介面,包含如下命令 1.建立檔案 功能 創立乙個指定名字的新檔案,即在目錄中增加一項,不考慮檔案內容,但必須能輸入檔案長度。2.刪除檔案 功能 刪除指定的檔案 3.建立目錄 功能 在當前路徑下建...