tft每日頭條

 > 科技

 > 文件系統的基本任務

文件系統的基本任務

科技 更新时间:2025-01-19 17:20:36

(一)文件及其分類

1.文件

文件(File)是被命名的相關信息的集合體。它通常存放在外存(如磁盤、磁帶)上,可以作為一個獨立單位存放和實施相應的操作(如打開、關閉、讀、寫等)。例如用戶編寫的一個源程序、經編譯後生成的目标代碼程序、初始數據和運行結果等,均可以文件形式保存。所以,文件表示的對象相當廣泛。一般地,文件是由二進制代碼、字節、行或記錄組成的序列,它們由文件創建者或用戶定義。

文件中的信息由創建者定義。很多不同類型的信息都可存放在文件中,如源程序、目标程序、可執行程序、數值數據、文本、工資單、圖形圖像、錄音等。根據信息類型,文件具有一定的結構。如文本文件是一行一行(或頁)的字符序列;源文件是子程序和函數序列,它們又有自己的構造,如數據說明和後面的執行語句;目标文件是組成模塊的字節序列,系統鍊接程序知道這些模塊的作用;而可執行文件是由一系列代碼段組成的,裝入程序可把它們裝入内存,然後運行。

2.文件類型

為便于管理和控制文件,常把文件分成若幹類型。由于不同系統對文件的管理方式不同,因而對文件的分類方法也有很大差異。下面是常用的幾種文件分類方法。

· 按用途分類

(1)系統文件—— 由操作系統及其他系統程序的信息所組成的文件。這類文件對用戶不直接開放,隻能通過操作系統提供的系統調用為用戶服務。

(2)庫文件—— 由标準子程序及常用的應用程序組成的文件。這類文件允許用戶使用,但用戶不能修改它們。

(3)用戶文件—— 由用戶創建、管理的文件,如源程序、目标程序、原始數據、計算結果等。這類文件可由創建者(即文件主)或被授權者進行适當的讀、寫或其他操作。

· 文件中的數據形式分類

(1)源文件—— 從終端或輸入設備輸入的源程序和數據所構成的文件,它通常由ASCII碼或漢字組成。

(2)目标文件—— 源程序經過相應語言的編譯程序進行編譯後,尚未經過鍊接處理的目标代碼所形成的文件。它屬于二進制文件。

(3)可執行文件—— 經過編譯、鍊接之後所形成的可執行目标文件。

· 按存取權限分類

(1)隻讀文件—— 僅允許對其進行讀操作的文件,不允許寫操作。

(2)讀寫文件—— 允許文件主和被授權用戶對其進行讀或寫操作的文件。

(3)可執行文件—— 允許被授權用戶執行它,但通常不允許讀或寫。

· 按保存時間分類

(1)臨時文件—— 用戶在一次解題過程中建立的“中間文件”,它隻保存在磁盤上,當用戶退出系統時,它也随之撤消。

(2)永久文件—— 長期保存的有價值的文件,以備用戶經常使用。

· 在UNIX/Linux和MS-DOS系統中,按文件的内部構造和處理方式分類

在這些系統中文件類型主要有普通文件、目錄文件和特殊文件。

(1)普通文件—— 由表示程序、數據或文本的字符串構成,内部沒有固定的結構。這類文件包括一般用戶建立的源程序文件、數據文件、目标代碼文件,也包括各種系統文件(如操作系統本身的衆多代碼文件)和庫文件(如标準I/O文件和數學函數文件)。

(2)目錄文件—— 由下屬文件的目錄項構成的文件。它類似于人事管理方面的花名冊—— 本身不記錄個人的檔案材料,僅僅列出姓名和檔案分類編号。對目錄文件可進行讀、寫等操作。

(3)特殊文件—— 特指各種外部設備。為了便于統一管理,系統把所有I/O設備都作為文件對待,按文件格式提供用戶使用,如目錄查找、存取權限驗證等方面與普通文件相似,而在具體讀、寫操作上,要針對不同設備的特性進行相應處理。特殊文件分為字符特殊文件塊特殊文件。前者是有關輸入/輸出的設備,如終端、打印機和網絡等;後者是存儲信息的設備,如硬盤、軟盤和磁帶等。

普通文件通常分為ASCII文件和二進制文件。ASCII文件由隻包含ASCII字符的正文行組成,每個正文行以回車符或換行符終止,各行的長度可以不同。ASCII文件又稱文本文件,常用來存儲資料、程序源代碼和文本數據。文本文件的最大特點是可以直接顯示和打印,可用普通文本編輯器進行編輯加工。

二進制文件所包含的每個字節可能有256種值。因此,對于表達信息來說,二進制文件是一種更為有效的方式,但它不能在終端上直接顯示出來。大家最熟悉的二進制文件恐怕就是可執行文件。

可執行文件與一般文本文件不同,都有内部結構。在UNIX/Linux系統中它有5個區,依次是文件頭、正文段、數據段、重定位區和符号表區。文件頭結構由幻數(标志可執行文件的特征),正文段長度,數據段長度,BSS段(Block Started by Symbol,存放未初始化的數據)長度,符号表長度,入口單元及各種标志組成。重定位時利用重定位區,而符号表用于調試程序,如圖5-1(a)所示。

存檔文件是二進制文件的另一示例。在UNIX/Linux系統中,它由編譯過、但未鍊接的庫過程(模塊)集合組成。每個存檔文件的結構是在其目标模塊之前有一個文件頭,這個文件頭由模塊名、創建日期、文件擁有者、保護代碼和文件長度等項組成。文件頭全是二進制數碼,如圖5-1(b)所示。

文件系統的基本任務(文件系統-文件系統概述)1

圖5-1 可執行文件和存檔文件的内部結構

所有操作系統都必須至少識别一種文件類型—— 它自己的可執行文件。有些操作系統可以識别多種文件類型。一般情況下,對文件進行操作時必須注意其類型,特别是不同操作系統所識别的文件類型是不一緻的。

3.文件命名

文件是抽象機制,提供在磁盤上存放信息和以後從中讀出的方法。用戶不必了解信息如何存放、存放在何處、磁盤如何實際工作等細節。抽象機制最重要的特性就是“按名”管理對象。用戶對文件也是“按名存取”的。

很多操作系統支持的文件名都由兩部分構成:文件名擴展名。二者間用圓點分開,如prog.c。擴展名也稱為後綴,利用擴展名可以區分文件的屬性。表5-1給出了常見文件擴展名及其含義。

表5-1 常見文件擴展名及其含義

文件系統的基本任務(文件系統-文件系統概述)2

不同系統對文件的命名規則是不同的,但所有操作系統都允許由1~8個字母構成的字符串作為合法的文件名。數字和特殊字符也可出現在文件名中。有些文件系統區分文件名中的大小寫字母,如UNIX和Linux系統,而另外的文件系統則不加區分,如MS-DOS。Windows 95/98都采用MS-DOS文件系統,因而繼承了它的很多特性,包括文件名構成。Windows NT和Windows 2000支持MS-DOS文件系統,也繼承它的特性,當然它也有自己的文件系統。

(二)文件系統的功能

所謂文件系統,就是操作系統中負責操縱和管理文件的一整套機制,它實現文件的共享和保護,方便用戶“按名存取”。文件系統為用戶提供了存取簡便、格式統一、安全可靠的管理各種文件信息的方法。有了文件系統,用戶就可以用文件名對文件實施存取和相應管理,而不必去考慮其信息放在磁盤的哪個面、哪個道、哪個扇區上,也不必關心怎樣去啟動設備進行I/O等實現過程的細節。因而,文件系統提供了用戶與外存的界面。

一般說來,文件系統應具備以下功能:

(1)文件管理——能夠按照用戶要求創建一個新文件、删除一個舊文件,對指定的文件進行打開、關閉、讀、寫、執行等操作。

(2)目錄管理——為每個文件建立一個文件目錄項,若幹文件的目錄項構成一個目錄文件。根據用戶要求創建或删除目錄文件,對用戶指定的文件進行檢索和權限驗證、更改工作目錄等。

(3)文件存儲空間的管理——由文件系統對文件存儲空間進行統一管理,包括對文件存儲空間的分配與回收,并為文件的邏輯結構與它在外存(主要是磁盤)上的物理地址之間建立映射關系。

(4)文件的共享和保護——在系統控制下使一個用戶可供共享其他用戶的文件。另外,為防止對文件的未授權訪問或破壞,文件系統應提供可靠的保護和保密措施,如采用口令、存取權限以及文件加密等。為防止意外事故對文件信息的破壞,應有轉儲和恢複文件的能力。

(5)提供方便的接口——為用戶提供統一的文件存取方式,即用戶隻要用文件名就可對存儲介質上的信息進行相應操作,從而實現“按名存取”。操作系統應向用戶提供一個使用方便的接口,主要是有關文件操作的系統調用,供用戶編程時使用。

看待文件系統有不同的觀點,主要是用戶觀點(即外部使用觀點)和系統觀點(即内部設計觀點)。從用戶角度看,文件系統應該做到存取文件方便,信息存儲安全可靠,即能實現共享又可做到保密。而從系統角度看,它要實現對存放文件的存儲空間的組織、分配、信息的傳輸,并對已存信息進行檢索和保護等。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved