一、檔案和檔案系統
檔案是指具有檔案名的若幹相關元素的集合。
1、現代OS中通過檔案系統來組織和管理計算機中存儲的資料;
2、檔案系統包括兩方面
(1)負責管理檔案的系統軟體
(2)被管理的對象—檔案
二、檔案的結構
檔案存在以下兩種形式的結構:
1、檔案的邏輯結構
從使用者觀點出發所觀察到的檔案組織形式是使用者可以直接處理的資料及其結構,它獨立于檔案的實體特性,又稱為檔案組織。
2、檔案的實體結構
又稱為檔案的存儲結構,是指檔案在外存上的存儲組織形式。與存儲媒體的存儲性能和采用的外存配置設定方式有關。
1、檔案的邏輯結構
可以分為兩大類:
(1)有結構檔案:是指由一個以上的記錄構成的檔案,又把它稱為記錄式檔案;根據記錄的長度可分為定長記錄檔案;不定長記錄檔案。
(2)無結構檔案:這是指由字元流構成的檔案,故又稱為是流式檔案。
有結構檔案
根據記錄的組織方式分為下列檔案:
(1)順序檔案:由一系列記錄按某種順序排列所形成的檔案。通常是定長記錄。
(2)索引檔案。當記錄可變長時,通常為之建立-張索引表,并為每個記錄設定一個表項以加快對記錄檢索的速度。索引順序檔案。上述兩種方式的結合。為檔案建立一張索引表,為每一組記錄中的第一個記錄設定一個表項。
(3)直接檔案
無結構檔案
1、如果說大量的資料結構和資料庫,是采用有結構的檔案形式的話則大量的源程式、可執行檔案、庫函數等,所采用的就是無結構的檔案形式,即流式檔案。其長度以位元組為機關對流式檔案的通路,則是采用讀寫指針來指出下一個要通路的字元。
2、UNIX 系統中,所有的檔案都被看做是流式檔案。
2、檔案的實體結構
由于磁盤具有可直接通路的特性,故當利用磁盤來存放檔案時具有很大的靈活性。
常用的外存配置設定方法有:
(1)連續配置設定
(2)連結配置設定
(3)索引配置設定
在一個系統通常隻采用一種方法。
連續配置設定
連續配置設定要求為每個檔案配置設定一組相鄰的盤塊。在采用該方式時,可把邏輯檔案中的記錄順序的存儲到鄰接的各實體塊中,這樣所形成的檔案結構成為順序檔案結構,此時的實體檔案稱為順序檔案。這種配置設定方式保證了邏輯檔案中的記錄順序與存儲器中檔案占用盤塊的順序的一緻性。
随着檔案的建立與删除不斷進行,将産性很多外存的碎片利用緊湊方法也可消除碎片。
連結配置設定
采用連結配置設定方式時,可通過在每個盤塊上的連結指針,将同屬于一個檔案的多個離散的盤塊連結成一個連結清單,把這樣形成的檔案稱為連結檔案。

索引配置設定
連結配置設定方式雖然解決了連續配置設定方式所存在的問題,但又出現了另外兩個問題:
不能支援高效的直接存取。要對一個檔案進行直接存取,需首先在FAT中順序的查找許多盤塊号。
FAT需占用較大的記憶體空間。當磁盤容量較大時, FAT可能要占用數MB以上的記憶體空間。這是令人難以忍受的。(FAT是檔案配置表(英語:File Allocation Table,首字母縮略字:FAT),是一種由微軟發明并擁有部分專利的檔案系統,供MS-DOS使用,也是所有非NT核心的微軟視窗使用的檔案系統。)
索引配置設定方式示意圖
單級索引方式
多級索引方式
混合索引方式
索引配置設定方式的問題
可能要花費較多的外存空間。每當建立一個檔案時,便須為之配置設定一個索引塊,将配置設定給該檔案的所有盤塊号記錄于其中。
例1:某檔案系統采用多級索引結構,若磁盤塊的大小為512位元組, 每個塊号需占3位元組,那麼根索引采用一級索引時的檔案最大長度為( A )K位元組;采用二級索引時的檔案最大長度為(C)K位元組。
A. 85 B.170 C.512 D.1024
A. 512 B.1024 C.14450 D.28900
題解:磁盤大小512位元組,沒塊需3位元組,512位元組/3位元組=170,因為是一級索引 最大長度占滿512,170*512位元組=87040位元組,1k=1024位元組,87040位元組/1024位元組=85K位元組。
二級索引170*170*512位元組=14796800位元組,1k=1024位元組,14796800位元組/1024位元組=14450K位元組。
三、存儲空間的管理
空閑表法和空閑連結清單法
位示圖法
成組連結法
位示圖:順序掃描位示圖。以找到一個或一組其值為“0”的二進制位;