複製鏈接
請複製以下鏈接發送給好友

文件系統接口

鎖定
計算機設備之間差異很大,所以操作系統需要提供一組功能以便於應用程序控制這些設備。操作系統的IO子系統的重要目的之一是為系統其它部分提供最簡單的接口。文件接口是接口之一。
中文名
文件系統接口
外文名
file system interface
接    口
命令、程序和GUI接口
文件名稱
名稱和擴展名
訪問方法
直接訪問和順序訪問
領    域
計算機操作系統等
文件系統的接口介紹包含了文件的基本概念介紹、文件的訪問方法、文件的目錄結構、文件系統的功能和接口。

文件系統接口文件概述

文件系統接口文件定義

計算機可以在各種存儲介質上,如磁盤磁帶光盤等上存儲信息,來方便使用,這樣操作系統提供了一種一致的存儲信息的邏輯視圖。OS可以從存儲設備的物理特性抽象定義邏輯存儲單元:文件。文件被操作系統映射到物理設備上。這些存儲設備通常是可以是長久保存的。
文件是一個存儲在第二存儲設備上相關信息的命名集合。從一個用户的觀點來看,文件是邏輯存儲設備的最小分配單元,不使用文件,數據將無法寫入第二存儲設備。通常,數據是一個bit、byte、lines或者記錄的序列 [1] 

文件系統接口文件屬性

文件有一定的屬性,這根據系統的不同而有所不同,但是通常都包括如下屬性:
  名稱:文件符號名稱是唯一的、按照人們容易讀取的形式保存。
  標識符:標識文件系統內文件的唯一標籤。
  類型:被支持不同類型的文件系統所使用。
  大小:文件當前大小。
  保護:決定誰能讀、寫、執行等的訪問控制信息。
  時間、日期和用户標識:文件創建、上次修改和上次訪問的時間 [1] 

文件系統接口文件操作

文件屬於抽象數據類型。為了合適的定義文件,需要考慮文件的操作。
創建文件:創建文件有兩個步驟。第一,必須在文件系統中為文件找到空間。第二,在目錄中為文件創建一個條目。
  寫文件:為了寫文件,執行一個系統調用,其指明文件名稱和要寫入文件的內容。
讀文件:為了讀文件,使用一個系統調用,並指明文件名稱和要讀入文件塊的內存位置。
在文件內重定位:搜索目錄相應條目,設置當前文件位置指針為給定值。
刪除文件:為了刪除文件,在目錄中搜索給定名稱的文件。找到相關條目後,釋放所有的文件空間並刪除相應的條目。
截短文件:用户可能只要刪除文件內容而保留其屬性,而不是強制刪除文件再創建。該操作不改變文件屬性,而是將其長度設為0並釋放空間 [1] 

文件系統接口文件類型

設計文件系統時,總是要考慮操作系統是否應該識別和支持文件類型。
  實現文件類型的常用技術是在文件名稱內包含類型。這樣,用户和操作系統僅僅通過文件名稱就能確定文件類型是什麼。
  名稱可分為兩部分:名稱和擴展名 [1] 

文件系統接口文件系統

文件系統接口文件系統模型

文件系統接口
對對象操縱和管理的軟件集合
邏輯文件系統
基本I/O管理程序(文件組織模塊)
基本文件系統(物理I/O層)
I/O控制層(設備驅動程序)
對象及其屬性説明
如上圖,該模型分為三個層次,最底層是被操作對象及其相關屬性;最上層是系統提高給用户的接口;中間是文件系統功能實現的核心軟件層,它是實現操作的軟件集合 [2] 

文件系統接口訪問方法

文件用來存儲信息。當使用時,必須訪問和將這些信息讀入到計算機內存。文件信息可按多種方式來進行訪問。有的系統只提供了一種文件訪問方式,有的系統則支持多種訪問方式。
順序訪問:最簡單的訪問方式。文件信息按順序,一個記錄接着一個記錄地加以處理。也是最為常用的使用方式。編輯器編譯器通常按這種方式訪問文件。大量的文件操作是讀和寫。讀操作讀取下一文件部分,並自動前移文件指針,以跟蹤I/O位置。類似地,寫操作會向文件尾增加內容,相應的文件指針移到新增數據之後。
直接訪問:另一方式是直接訪問(或相對訪問)。文件由固定長度的邏輯記錄組成,以允許程序按任意順序進行快速讀和寫。直接訪問方式是基於文件的磁盤模型,因為磁盤允許對任意文件塊進行隨機讀和寫。直接訪問文件可立即訪問大量信息,所以非常有用。數據庫通常採用這種類型的文件 [2] 

文件系統接口目錄結構

一個存儲設備可以整個用於一個文件系統,或者進行精細劃分。例如,一個磁盤可以分區為多個分區,每個分區保存一個文件系統。分區可以限定單個文件系統的大小,將多個文件系統類型放到一個設備中,或者將一個設備的一部分用作其它用途。包含文件系統的一個實體通常成為一個卷。每個卷可以看成是一個虛擬磁盤。每個包含一個文件系統的卷通常也包含系統中的文件信息。這個信息保存在設備目錄中。
目錄包含了卷中所有文件的信息,如文件名、位置、大小、類型等。在一個計算機系統中,可以有多個存儲設備,每個存儲設備都可以劃分成為卷。這樣,計算機可以有0個或多個文件系統,每個文件系統都可以是不同的類型。計算機中的文件系統可以是可擴展的。目錄也可以看成是將文件名映射成為目錄入口的符號表。這樣,我們可以看到可以用多種方式組織目錄。這些組織方式允許我們插入、刪除、查找、列出文件等操作 [2] 

文件系統接口文件系統的功能

1)文件存儲空間的管理;
  2)對文件目錄的管理;
  3)地址映射;
  4)文件的讀、寫管理;
  5)文件的共享與保護;
  在這些功能的實現中,通常又進一步劃分成幾個層次。其中有的層次用於處理物理文件系統;有的層次用於處理邏輯文件系統 [2] 

文件系統接口文件系統的接口

文件系統的接口包括以下三個接口。
1)命令接口:用户可以從終端鍵入命令實現操作;
  2)程序接口:用户程序可通過系統調用實現操作;
  3)GUI接口:用户可在圖形窗口點擊鼠標實現操作 [2] 
參考資料
  • 1.    Andrew S.Tanenbaum 著.計算機科學叢書:現代操作系統:機械工業出版社 ,2009
  • 2.    蘭德爾 E.布萊恩特著.深入理解計算機系統:機械工業出版社 ,2016