檔案與磁碟空間管理 檔案

2021-09-01 12:43:42 字數 2648 閱讀 4647

檔案管理:把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存、使用等操作。

基本概念

(1)資料項:基本資料項和組合資料項

(2)記錄:一組相關資料項集合,描述物件某方面的屬性

(3)關鍵字:用於唯一的標識乙個記錄

(4)檔案:有結構和無結構

檔案型別

①按用途:系統、使用者、庫檔案

②按資料形式:原始檔、目標檔案、可執行檔案

③按訪問控制屬性:只執行、唯讀、讀寫

④按組織和處理方式:普通檔案、目錄檔案、特殊(裝置)檔案

檔案系統層次結構

(1)物件及其屬性(檔案、目錄、磁碟空間)

(2)操縱、管理物件的軟體集合(檔案管理核心程式)

①檔案目錄的管理

②檔案共享和保護等

③檔案儲存空間的管理

④檔案邏輯位址轉換

⑤檔案讀寫管理

====》一般把與檔案系統有關的軟體分為四個層次:

④邏輯檔案系統

③基本i/o管理程式

②基本檔案系統層

①i/o控制層

檔案操作

(1)最基本的操作

①建立/刪除檔案:分空間,形成fcb及目錄(名,位址)

②讀、寫:按名檢索目錄,找到檔案位址,開始讀、寫

③設定檔案讀寫位置,實現隨機訪問(尤其適用於記錄檔案)

(2)「開啟」與「關閉」:

檔案讀/寫操作 = 檢索 + 讀/寫

每次讀寫前都要重複檢索增大開銷。所以為了方便對同一檔案的多次讀寫,一次檢索到檔案後就在記憶體中記錄其位置,避免重複檢索。被記錄下位置的檔案就是「開啟」檔案

不需要再操作檔案時,通過「關閉」這個系統呼叫關閉檔案——即從開啟檔案表上刪除其路徑資訊即可。

(3)其他操作:改名、改所屬使用者、改訪問許可權等屬性的操作。

檔案系統設計的關鍵要素:

如何構成乙個檔案,以及如何儲存在外存。

檔案結構:

檔案的邏輯結構:按使用者觀點如何組織資料;又稱檔案組織

基本要求:檢索速度高、方便修改、降低儲存空間費用(不連續)

檔案的物理結構:根據外存上的物理塊的分配機制,記錄檔案外存的儲存結構。使用者感知不到

檔案邏輯結構的型別:

按檔案是否有結構分類

①有結構檔案(記錄式)

a.定長記錄

b.變長記錄

②無結構檔案(字元流式)

位元組為單位,利用讀寫指標依次訪問。

系統對該類檔案不需格式處理

按檔案的組織方式分類:

(1)順序檔案

系統需按該型別記錄「長度」,通常定長。

①兩種記錄排列方式

a.串結構:按記錄形成的時間順序序列排序。記錄順序與關鍵字無關;

b.順序結構:按關鍵字排序

②檢索方法:

a.從頭檢索,順序查詢要找的記錄,定長的計算相對快。

b.順序結構,可用折半查詢、插值查詢、跳步查詢等演算法提高效率

③順序檔案的優缺點:

a.不方便隨機訪問某條記錄,但適用批量訪問的場合。

b.適合磁帶等特殊介質。

c.單記錄的查詢、修改等互動性差;增減不方便(改進辦法:把增刪改的記錄登記在乙個事務檔案中,在某段時間間隔後再與原檔案合併更新)。

(2)索引檔案:系統需為檔案建立索引表

為了方便單個記錄的隨機訪問,為檔案建立乙個索引表,記錄每項記錄在檔案的邏輯位址及記錄長度;該索引表按關鍵字排序。

①索引表內容:

索引號、長度、記錄位址指標

②檢索效率

索引表本身即是個按記錄鍵排序的定長順序檔案,所以能利用演算法提高索引表檢索速度

③乙個索引檔案可以有多個索引表

為方便使用者根據不同記錄屬性檢索記錄,為順序檔案建立多個索引表,每種能成為檢索條件的域都配備一張索引表。

④索引檔案的優缺點

適用於變長記錄,可提高檢索速度,實現直接訪問

索引表增加了儲存開銷

(3)索引順序檔案:建索引表,記錄每組記錄的第乙個記錄位置

a.既要方便,又要降低開銷

b.將順序檔案的所有記錄分組,並為每個分組建立索引表,但每個表項記錄的是每組第1條記錄的鍵值和位址

組內記錄仍按順序方式檢索和使用。

c.檢索一條記錄的過程:

先計算記錄是在第幾組,然後再檢索索引確定組在**後,在組內順序查詢。

d.可利用多級索引,進一步提高檢索效率

(4)直接檔案和雜湊檔案

給定鍵值(如學號)不需順序檢索直接得到記錄的實體地址

雜湊函式對映

C 磁碟空間管理

disk 取得磁碟空間 或 指定資料夾使用情況 using system using system.io using system.management namespace host.adminmanager.inc 取得disk大小 public string disksize string pa...

檔案刪了磁碟空間沒釋放

問題 某天發現某台機器df h已用磁碟空間為90g,而du sh 顯示所有使用空間加起來才30g,囧。原因 可能某人直接用rm刪除某個正在寫的檔案,導致檔案刪了但磁碟空間沒釋放的問題 解決 1 最簡單重啟系統或者重啟相關服務。2 乾掉程序 usr sbin lsof grep deleted ora...

根據磁碟空間清理日誌檔案

目前幾乎所有的程式都有系統操作日誌的儲存,可一旦磁碟空間滿了的時候,應該如何清理指定時間的日誌檔案呢?大家一般採取的解決方案都是定時儲存指定時間的日誌,可這種解決方案也有一些缺點,比如還沒有達到指定日期的觸發條件時,可這個時候磁碟空間滿了的時候,應該如何避免這種情況呢?下面我採取的方案是每天定時檢查...