檔案類型
檔案在檔案系統中是一個最大的數據單位,它描述了一個對象集。例如,可以將一個班的學生記錄作為一個檔案。一個檔案必須要有一個檔案名稱,它通常是由一串 ASCII 碼或(和)漢字構成的, 名字的長度因系統不同而異。如在有的系統中把名字規定為 8 個字元,而在有的系統中又規定可用 14 個字元。用戶利用檔案名稱來訪問檔案。此外,檔案應具有自己的屬性,屬性可以包括:
(1) 檔案類型。可以從不同的角度來規定檔案的類型,如源檔案、目標檔案及執行檔等。
(2) 檔案長度。檔案長度指檔案的當前長度,長度的單位可以是位元組、字或塊,也可能是最大允許的長度。
(3) 檔案的物理位置。 該項屬性通常是用於指示檔案在哪一個設備上及在該設備的哪個位置的指針。
(4) 檔案的建立時間。這是指檔案最後一次的修改時間等。
為了便於管理和控制檔案而將檔案分成若干種類型。由於不同系統對檔案的管理方式不同,因而它們對檔案的分類方法也有很大差異。為了方便系統和用戶了解檔案的類型,在許多 OS 中都把檔案類型作為擴展名而綴在檔案名稱的後面,在檔案名稱和擴展名之間用“.”號隔開。
方法
按用途分類
根據檔案的性質和用途的不同,可將檔案分為三類:
(1) 系統檔案。這是指由系統軟體構成的檔案。大多數的系統檔案只允許用戶調用,但不允許用戶去讀,更不允許修改;有的系統檔案不直接對用戶開放。
(2) 用戶檔案。指由用戶的 原始碼、目標檔案、執行檔或數據等所構成的檔案。用戶將這些檔案委託給系統保管。
(3) 庫檔案。 這是由標準子例程及常用的例程等所構成的檔案。 這類檔案允許用戶調用,但不允許修改。
按形式分類
按這種方式分類,也可把檔案分為三類:
(1) 源檔案。這是指由源程式和數據構成的檔案。通常由終端或輸入設備輸入的源程式和數據所形成的檔案都屬於源檔案。它通常是由 ASCII 碼或漢字所組成的。
(2) 目標檔案。這是指把源程式經過相應語言的編譯程式編譯過,但尚未經過連結程式連結的目標代碼所構成的檔案。它屬於二進制檔案。通常,目標檔案所使用的後綴名是“.obj” 。
(3) 執行檔。這是指把編譯後所產生的目標代碼再經過連結程式連結後所形成的檔案。
按存屬性分類
根據系統管理員或用戶所規定的存取控制屬性,可將檔案分為三類:
(1) 只執行檔案。該類檔案只允許被核准的用戶調用執行,既不允許讀,更不允許寫。
(2) 唯讀檔案。該類檔案只允許檔案主及被核准的用戶去讀,但不允許寫。
(3) 讀寫檔案。這是指允許檔案主和被核准的用戶去讀或寫的檔案。
組織處理分類
根據檔案的組織形式和系統對其的處理方式,可將檔案分為三類:
(1) 普通檔案:由 ASCII 碼或二進制碼組成的字元檔案。一般用戶建立的源程式檔案、數據檔案、目標代碼檔案及作業系統自身代碼檔案、庫檔案、實用程式檔案等都是普通檔案,它們通常存儲在外存儲設備上。
(2) 目錄檔案:由檔案目錄組成的,用來管理和實現檔案系統功能的系統檔案,通過目錄檔案可以對其它檔案的信息進行檢索。由於目錄檔案也是由字元序列構成,因此對其可進行與普通檔案一樣的種種檔案操作。
(3) 特殊檔案:特指系統中的各類 I/O 設備。為了便於統一管理,系統將所有的輸入/輸出設備都視為檔案,按檔案方式提供給用戶使用,如目錄的檢索、許可權的驗證等都與普通檔案相似,只是對這些檔案的操作是和設備驅動程式緊密相連的,系統將這些操作轉為對具體設備的操作。根據設備數據交換單位的不同,又可將特殊檔案分為塊設備檔案和字元設備檔案。前者用於磁碟、光碟或磁帶等塊設備的 I/O 操作,而後者用於終端、印表機等字元設備的 I/O 操作。