操作系统4-文件管理

Posted lunar-ubuntu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统4-文件管理相关的知识,希望对你有一定的参考价值。

操作系統4-文件系統

文件

  1. 文件是計算機系統中信息存放的一種組織形式

  2. 文件的分類

    • 系統文件
    • 庫文件:系統為用戶提供的各種庫函數和實用程序等,用戶只能實用不能修改。
    • 用戶文件
  3. 文件的性質

    • 普通文件
    • 目錄文件:記錄目錄裡面的文件列表信息
    • 設備文件:把設備作為文件管理和使用(typical Linux)
  4. 文件屬性:指定文件的類型、操作特性和存取保護等信息,存放在文件所在目錄的目錄文件中

    MS-DOS系統中:文件屬性佔目錄的一個字節

  5. 文件結構

    • 邏輯結構:強調文件信息項的構成方式和用戶的存取方式
      • 記錄式文件:文件頭要包含文件的各種控制信息和說明信息
      • 流式文件:只有文件的內容,沒有額外的內容。現在操作系統都是流式文件,由應用程序解釋和處理文件。
    • 物理結構:文件在存儲設備上的存儲結構
  6. 文件存取

    • 順序存取:文件讀取時,讀寫指針指向第一個信息項
    • 隨機存取:存取操作時指定存取的位置。

文件物理結構

  1. 連續文件:文件按邏輯塊的順序存放在硬盤連續的物理存儲塊中。

    文件目錄記錄文件的長度和第一個存儲塊的塊號。

    缺點:不利於文件的動態增長,不利於文件的插入和刪除。

  2. 索引文件

    不連續地存儲在物理塊中,文件目錄記錄文件的邏輯塊和物理塊之間的對應關係。

    顯然索引文件結構比連續文件結構更加適合更加頻繁更改的文件。

  3. 串聯文件

    不連續地存儲在物理塊中,每個存儲塊有一個指針指向下一個存儲塊。

    不利於文件的隨機存取。

    串聯文件的應用:FAT文件系統


FAT文件系統(File Allocation Table)

  1. 文件分配表(FAT表)

    FAT系統應用了串聯文件的結構,但是將每個文件的next指針統一地有序地存儲在了一個表中,稱為FAT表。

    訪問方式:如果當前的存儲塊號是i,那麼下一個存儲塊的地址就是FAT(i)。

    所以可以說FAT系統巧妙地結合索引和串聯系統的特點。

  2. 扇區

    磁盤上最小的可尋址的存儲單元(512字節)

  3. 簇(cluster) = 存儲塊

    設備的最小存取單元,固定數量的扇區

    示例:

    • 369KB硬盤:簇 = 2個扇區(1024字節)
    • 2GB硬盤:簇 = 64個扇區(32KB)

    一般硬盤容量越大,簇包含的扇區數量越大。

    FAT元素數目和簇的數目一致,FAT元素的寬度與可以標識的簇的數量的關係為(2^n)

    磁盤容量 = FAT長度 * 簇扇區數 * 扇區大小

    常說的FAT16文件系統就是說FAT表支持的最大的元素寬度為16位,能標識的簇容量為(2^{16})位。通過FAT長度計算出來磁盤容量就是FAT支持的最大磁盤分區容量。

  4. FAT16格式化的磁盤

    啟動扇區 FAT1 FAT2 根目錄 其他目錄和文件

    FAT1和FAT2的內容一致,為了防止被破壞而有一個備份。


存儲空間管理

記錄磁盤使用情況,管理和分配、回收存儲空間

  1. 空閒文件目錄

    • 空閒文件:把連續空閒區看成一個特殊文件
    • 空閒文件目錄:每個表項對應一個空閒文件,記錄有第一個空閒塊號,空閒塊個數和響應的物理塊號。
  2. 空閒塊鏈

    把所有的空閒塊鏈接在一起,當申請者需要空閒塊時,從鏈頭開始搜索空閒塊直到遇到合適的空閒塊。回收空間時,把釋放的空閒塊逐個加在鏈尾。這個和內存管理的機制是一樣的。

  3. 位示圖

    從內存中劃出若干個字節,每個bit表示一個存儲塊空閒或佔用。1表示空閒。


文件目錄管理

  1. 文件目錄

    記錄文件名和存放地址的目錄表

    具有將文件名轉換為物理地址的功能

    還記錄有文件屬性

  2. 目錄文件:文件目錄以文件形式存與外存,這個文件叫做目錄文件。

  3. 目錄結構

    不同系統的結構不一樣

    • DOS系統(32字節):文件名 擴展名 屬性 保留 時間日期 首塊號 大小
    • Unix
      • 索引節點
      • 文件目錄項中的文件名和其他屬性信息分開,後者單獨組成一個定長數據結構:索引節點i_node

典型的文件系統

FAT16 FAT32 (Microsoft patent)

NTFS

EXT2 EXT3 EXT4 (Linux)

以上是关于操作系统4-文件管理的主要内容,如果未能解决你的问题,请参考以下文章

文件管理

操作系统4(文件管理)

操作系统(4) -- 文件管理、IO管理

操作系统-4.3-文件(文件存储空间管理&&文件的基本操作)

操作系统4-文件管理

UOS操作系统-文件与目录管理