4 作業系統中的檔案系統

2021-09-21 06:12:30 字數 3492 閱讀 4568

從系統角度來看,檔案系統是對檔案儲存器的儲存空間進行組織、分配和**,負責檔案的儲存、檢索、共享和保護

從使用者角度來看,檔案系統主要是實現「按名訪問」,檔案系統的使用者只要知道所需檔案的檔名,就可訪問檔案中的資訊,而無需知道這些檔案究竟存放在什麼地方。

檔案系統的型別:

fat檔案系統(ms-dos檔案系統、msdos)

它是ms-dos作業系統使用的檔案系統,它也能由windows98/nt、linux、sco unix等作業系統訪問。檔案位址以fat表結構存放,檔案目錄32b,檔名為8個基本名加上乙個「.」和3個字元副檔名。

擴充套件檔案表系統(vfat)

它是windows98使用的擴充套件的dos檔案系統,它在ms-dos檔案系統基礎上增加了對長檔名(最多到256b)支援。

ntfs(nt檔案系統)

它是windows nt作業系統使用的檔案系統,它具有很強的安全特性和檔案系統恢復功能,可以處理巨大的儲存**,支援多種檔案系統。

ext2(二級擴充套件檔案系統)

它是linux作業系統使用的高效能磁碟檔案系統,它是對minux作業系統中使用的檔案系統擴充套件(ext)的擴充套件。它支援256字元的檔名,最大可支援到4tb的檔案系統大小。

hpfs(高效能檔案系統、hpfs)

它是os/2作業系統使用的檔案系統。

s51k/s52k(sysv)

它是at&t unix s v 作業系統使用的1kb/2kb檔案系統。

cd-rom檔案系統(iso9660)

它是符合iso9660標準的支援cd-rom的檔案系統,它有high sierra cd-rom和rock ridge cd-rom二種型別。

udf通用磁碟格式檔案系統

udf(universal disk format)檔案系統是依據光學儲存技術協會(optical storage technology association, osta)的通用磁碟格式檔案系統規格1.02版所制定的。它提供了對 udf格式**的唯讀訪問(例如***光碟)。windows98提供對udf檔案系統支援。

檔案的組織是指檔案的構造方式,

檔案的邏輯結構

從使用者觀點出發觀察到的檔案組織結構稱為檔案的邏輯結構,邏輯結構的檔案稱邏輯檔案。

邏輯檔案從結構上分成二種形式,

記錄檔案有順序、索引、索引順序、直接、分割槽和堆檔案幾種。

堆(the pile)檔案(累積檔案)

堆檔案是最簡單的記錄檔案,它是串結構的順序檔案。資料按先來後到的次序組織,每個記錄所包含的資料項是自我標識的,資料項的長度可以明確指定或使用界定符區分。在堆檔案中訪問所需要的記錄需窮盡搜尋,這種檔案組織不適合大多數應用。

順序檔案(sequential file)

順序檔案的記錄定長,記錄中的資料項的型別長度與次序固定,一般還有乙個可以唯一標識記錄的資料項,稱為鍵(key),記錄按鍵值的約定次序組織。順序檔案常用於批處理應用,對於查詢或更新某個記錄的請求的處理效能不佳。

索引檔案(indexed file)

索引檔案對主檔案中的記錄按需要的資料項(乙個或幾個)建索引表。這時記錄可為不定長的,它為每個記錄設定乙個表項。索引檔案本身是順序檔案組織。

索引順序檔案(indexed sequential file)

索引順序檔案是基於鍵的約定次序組織的,為之建立一張索引表,為每個不同鍵值的記錄組的第乙個記錄設定乙個表項,為該組的其它記錄設定了溢位區域,在溢位區域內記錄按順序檔案方式組織。它是順序檔案和索引檔案的結合。索引順序檔案既適用於互動方式應用,也適用於批處理方式應用。

直接檔案/雜湊檔案(the direct/hashed file)

檢索時給出記錄編號,通過雜湊函式計算出該記錄在檔案中的相對位置。它可以對記錄在直接訪問儲存裝置上的實體地址直接(隨機)訪問。直接檔案常用於需要高速訪問檔案而且每次訪問一條記錄的應用中。

檔案的訪問

使用者通過對檔案的訪問來完成對檔案的修改、追加和搜尋等操作。常用的訪問方法有順序訪問法、隨機訪問法(直接訪問法)和按鍵訪問法三種。

檔案在儲存介質上的組織方式稱為檔案的儲存結構或稱檔案的物理結構、物理檔案。

外存分配方法有連續分配、鏈結分配、索引分配,相應物理檔案有:順序檔案、鏈結檔案、索引檔案。

優點是管理簡單,順序訪問速度快。

缺點是增刪記錄相當困難,磁碟儲存空間的利用率不高,有外零頭。所以順序檔案只適用於長度不變的唯讀檔案。

鏈結檔案的優點是盤儲存空間利用率高,檔案增刪改記錄方便。

缺點是在隨機訪問某乙個記錄前需要化多次盤i/o操作讀該記錄前的檔案資訊以取得該記錄的盤塊號,才能訪問該記錄。如要讀取邏輯塊號第3塊的資訊,就要先進行3次盤i/o操作以讀取存放第3塊邏輯塊資訊的盤塊號,所以鏈結檔案只適用於順序訪問檔案。

一種方法是將存放索引表的盤塊用鏈結指標鏈結起來稱為鏈結索引。鏈結索引可以順序地讀取索引表各索引表項,但讀取後面的索引表項類同鏈結檔案需要化費多次盤i/o操作。

另一種方法是採用多級索引,即為索引表本身建立索引表,從而形成了兩級索引,如所形成的兩級索引表還不能存放在乙個盤塊中,則需要為二級索引表建索引表,而形成**索引。

優點:索引檔案由於它既適合順序訪問記錄又適合按任意次序隨意訪問記錄,也便於增刪檔案的記錄,所以索引結構檔案應用範圍較廣。

索引檔案的缺點是當檔案很大時索引表很龐大,占用了許多盤空間,而在檔案很小時,多級索引級別又不變,帶來索引塊的另頭和訪問速度減慢。

ms-dos檔案系統的檔案物理結構採用fat表結構。該結構為了克服鏈結檔案隨機讀取任一邏輯塊需要化費多次盤i/o操作的不足,將各盤塊中的鏈結指標集中存放在盤的開始部分,構成一張表,稱為fat表。(這稱為顯式鏈結)fat表每一項存放鏈結指標(下乙個簇號),每個fat表項佔12位或16位,稱為fat12或fat16。對於軟盤因為容量小,簇數也少,採用12位fat表,對於硬碟則採用16位fat表。

fat表檔案系統原為小硬碟的目錄結構而設計,由於簇的數目最多只能用16位表示,即最多只能有64k個簇,要用fat表管理大的磁碟分割槽,只能採取增大每簇所包含的扇區數,一般根據磁碟的型別和容量大小來決定簇的大小。

為了實現「按名訪問」,系統必須為每個檔案設定用於描述和控制檔案的資料結構,它至少要包括檔名和存放檔案的盤實體地址,這個資料結構稱為檔案控制塊fcb,檔案控制塊的有序集合稱為檔案目錄,即乙個檔案控制塊fcb就是乙個檔案目錄項。檔案控制塊fcb中包含的資訊有以下三類:

訪問控制資訊類

檔案的訪問許可權,象unix使用者分成檔案主、同組使用者和一般使用者三類,這三類使用者的讀寫執行(rwx)的許可權。

使用資訊類

檔案建立日期、最後一次修改日期、最後一次訪問的日期;當前使用的資訊:開啟檔案的程序數,在檔案上的等待佇列等。檔案控制塊的資訊因os而不同。

目錄結構的組織關係到檔案系統的訪問速度,關係到檔案共享性和安全性,因此組織好檔案的目錄是設計檔案系統的重要環節。

作業系統 檔案系統

5.2開啟檔案 在作業系統中就是確定程序操作哪個檔案。這個確定過程由兩個事件構成 1.將使用者程序task struct中的 filp 20 與核心中的file table 64 進行掛接。2.將使用者程序需要開啟的檔案對應的i節點在file table 64 中進行登記。filp 20 掌控乙個程...

作業系統 檔案系統

通過設計乙個基於索引結構的檔案系統,了解檔案系統設計以及物理塊分配的基本概念。硬體環境 計算機一台,區域網環境 軟體環境 windows 作業系統 visual studio2019 1 設計乙個檔案系統的索引結構,描述邏輯結構與物理索引結構之間的關係 2 檔案建立等基本功能 段 問1 這個標頭檔案...

作業系統中的根檔案系統裝置

在作業系統中剛進行加電啟動電腦的時候是不存在對檔案的處理的。所以對於系統模組載入記憶體期間,在螢幕上出現的 loading 並不是用printf這種檔案操作實現的,而只是通過最原始的彙編進行的。作業系統中必須存在乙個根檔案系統,其他檔案系統掛載其上。linux0.11沒有提供裝置上建立檔案系統的工具...