檔案系統管理
檔案用於為作業系統提供統一的資料儲存檢視。所有檔案都對映到通常是非易失性的物理裝置上,因此在系統發生故障時資料是安全的。
檔案屬性
檔案的屬性在不同的作業系統上可能略有不同。但是,常見的檔案屬性有:
名稱
表示檔案的符號名稱。檔名是唯一一個易於被人讀取的屬性。
識別符號
表示系統中的檔名。它通常是一個數字,並在檔案系統中唯一地標識一個檔案。
型別
如果系統中有不同型別的檔案,則型別屬性表示檔案型別。
位置
指向儲存特定檔案的裝置,以及檔案在裝置上的位置。
大小
此屬性以位元組、字或塊定義檔案的大小。它還可以指定允許的最大檔案大小。
保護
保護屬性包含檔案的保護資訊,例如誰可以讀取或寫入檔案。
檔案操作
可以在檔案上執行的操作有:
建立檔案
要建立檔案,檔案系統中必須有空間。然後必須在目錄中為新檔案建立條目。此條目應包含有關檔案的資訊,例如其名稱、位置等。
讀取檔案
要讀取檔案,系統呼叫應指定檔案的名稱和位置。在讀取應發生的位置應該有一個讀取指標。讀取過程完成後,應更新讀取指標。
寫入檔案
要寫入檔案,系統呼叫應指定檔案的名稱和需要寫入的內容。在寫入應發生的位置應該有一個寫入指標。寫入過程完成後,應更新寫入指標。
刪除檔案
要刪除檔案,應該在目錄中找到該檔案。之後,所有檔案空間都將被刪除,以便可以由其他檔案重用。
在檔案中重新定位
這也被稱為檔案查詢。要重新定位檔案,當前檔案值將設定為相應的條目。這不需要任何實際的 I/O 操作。
截斷檔案
這會刪除檔案中的資料,而不會破壞其所有屬性。只有檔案長度重置為零,檔案內容被擦除。其餘屬性保持不變。
檔案訪問方法
可以以多種方式訪問檔案中的資訊。其中最常見的是使用順序訪問或直接訪問。有關這些的更多詳細資訊如下:
順序訪問
使用順序訪問按順序處理檔案中的資訊。檔案記錄一個接一個地訪問。大多數檔案系統(如編輯器、編譯器等)都使用順序訪問。它基於檔案的磁帶模型,因此也可以與順序訪問裝置以及隨機訪問裝置一起使用。
說明順序訪問的圖表如下:
如影像所示,檔案中的讀寫操作只能以順序方式進行。但是,可以根據需要將檔案重置到開頭或倒帶。
直接訪問
在直接訪問或相對訪問中,可以隨機訪問檔案以進行讀寫操作。直接訪問模型基於檔案的磁碟模型,因為它允許隨機訪問。在這種方法中,檔案被分成編號的塊。可以讀取或寫入任何這些任意塊。例如,我們可以讀取塊 8,然後寫入塊 10,然後讀取塊 15。直接訪問系統非常有用,大多數資料庫都是這種型別。
說明直接訪問的圖表如下:
如上圖所示,檔案指標可以根據需要隨機定位以進行讀寫操作。這可以在定位時沒有任何特定順序地完成。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP