• Operating System Video Tutorials

作業系統 - 檔案系統



檔案

檔案是儲存在輔助儲存器(如磁碟、磁帶和光碟)上的一組相關資訊的命名集合。一般來說,檔案是由位、位元組、行或記錄組成的序列,其含義由檔案的建立者和使用者定義。

檔案結構

檔案結構應符合作業系統能夠理解的所需格式。

  • 檔案根據其型別具有特定的定義結構。

  • 文字檔案是由字元組成的序列,這些字元組織成行。

  • 原始檔是由過程和函式組成的序列。

  • 目標檔案是由位元組組成的序列,這些位元組組織成機器可以理解的塊。

  • 當作業系統定義不同的檔案結構時,它還包含支援這些檔案結構的程式碼。Unix、MS-DOS 支援最少數量的檔案結構。

檔案型別

檔案型別是指作業系統區分不同型別檔案(如文字檔案、原始檔和二進位制檔案等)的能力。許多作業系統支援多種型別的檔案。像 MS-DOS 和 UNIX 這樣的作業系統具有以下型別的檔案:

普通檔案

  • 這些檔案包含使用者資訊。
  • 它們可能包含文字、資料庫或可執行程式。
  • 使用者可以對這些檔案執行各種操作,例如新增、修改、刪除甚至刪除整個檔案。

目錄檔案

  • 這些檔案包含檔名列表以及與這些檔案相關的其他資訊。

特殊檔案

  • 這些檔案也稱為裝置檔案。
  • 這些檔案表示物理裝置,例如磁碟、終端、印表機、網路、磁帶驅動器等。

這些檔案分為兩種型別:

  • 字元特殊檔案 - 資料逐個字元處理,如終端或印表機的情況。

  • 塊特殊檔案 - 資料按塊處理,如磁碟和磁帶的情況。

檔案訪問機制

檔案訪問機制是指訪問檔案記錄的方式。有幾種訪問檔案的方法:

  • 順序訪問
  • 直接/隨機訪問
  • 索引順序訪問

順序訪問

順序訪問是指按某種順序訪問記錄,即按順序處理檔案中的資訊,一次一個記錄。這種訪問方法是最原始的方法。示例:編譯器通常以這種方式訪問檔案。

直接/隨機訪問

  • 隨機訪問檔案組織提供直接訪問記錄的功能。

  • 每個記錄在檔案中都有其自己的地址,藉助該地址可以直接訪問該記錄以進行讀取或寫入。

  • 記錄不必在檔案中按任何順序排列,並且它們不必在儲存介質上的相鄰位置。

索引順序訪問

  • 此機制建立在順序訪問的基礎之上。
  • 為每個檔案建立一個索引,其中包含指向各個塊的指標。
  • 順序搜尋索引,並使用其指標直接訪問檔案。

空間分配

檔案由作業系統分配磁碟空間。作業系統採用以下三種主要方法來為檔案分配磁碟空間。

  • 連續分配
  • 連結分配
  • 索引分配

連續分配

  • 每個檔案在磁碟上佔據一個連續的地址空間。
  • 分配的磁碟地址按線性順序排列。
  • 易於實現。
  • 外部碎片是這種分配技術的重大問題。

連結分配

  • 每個檔案都包含一個指向磁碟塊的連結列表。
  • 目錄包含指向檔案第一個塊的連結/指標。
  • 沒有外部碎片
  • 有效地用於順序訪問檔案。
  • 在直接訪問檔案中效率低下。

索引分配

  • 解決了連續分配和連結分配的問題。
  • 建立一個索引塊,其中包含所有指向檔案的指標。
  • 每個檔案都有其自己的索引塊,其中儲存著檔案佔用的磁碟空間的地址。
  • 目錄包含檔案的索引塊的地址。
廣告