檔案是具有檔名的一組相關元素的集合,在檔案系統中是乙個最大的資料單位,它描述了乙個物件集,每個檔案都有乙個檔名,使用者通過檔名來訪問檔案。
資料項組成記錄,記錄組成檔案。
基本資料項:用於描述乙個物件的某種屬性的乙個值,如姓名、日期或證件號等,是資料中可命名的最小邏輯資料單位,即原子資料。
組合資料項:由多個基本資料項組成。
檔案:檔案是指由建立者所定義的一組相關資訊的集合,邏輯上可分為有結構檔案和無結構檔案兩種。在有結構檔案中,檔案由一組相似記錄組成,如報考某學校的所有考生的報考資訊記錄,又稱記錄式檔案;而無結構檔案則被看成是乙個字元流,如乙個二進位制檔案或字元檔案,又稱流式檔案。
每個開啟檔案都有如下關聯資訊:
檔案指標,系統跟蹤上次讀寫位置作為當前檔案位置指標,這種指針對開啟檔案的某個程序來說是唯一的,因此,必須與磁碟檔案屬性分開儲存。
檔案開啟計數,檔案關閉時,作業系統必須重用其開啟檔案表(包含所有開啟檔案資訊的表)條目,否則表內空間會不夠用。因為多個程序可能開啟同乙個檔案,所以系統在刪除開啟檔案條目之前,必須等待最後乙個程序關閉檔案。該計數器跟蹤開啟和關閉的數量,當該計數為0時,系統關閉檔案,刪除該條目。
檔案磁碟位置,絕大多數檔案操作都要求系統修改檔案資料,該資訊儲存在記憶體中,以免為每個操作都從磁碟中讀取。
訪問許可權,每個程序開啟檔案都需要有乙個訪問模式(建立,唯讀,讀寫,新增等)。該訊息儲存在程序的開啟檔案表中,以便作業系統能允許或拒絕之後的i/o請求。
記錄式檔案(即有結構檔案)的邏輯結構通常分為順序、索引和索引順序結構。
1.順序檔案
2.索引檔案
3.索引順序檔案
4.直接檔案和雜湊檔案
目錄最基本的功能就是通過檔名訪問檔案,一般來說,目錄應具有以下幾個功能:
從檔案管理的角度看,檔案由檔案控制塊fcb和檔案體兩部分組成。檔案體即檔案本身,而檔案控制塊(又稱為檔案說明)則是儲存檔案屬性資訊的資料結構,它包含的具體內容因作業系統而異,但至少包含以下資訊:
在檢索目錄檔案的過程中,只用到了檔名,僅當找到匹配目錄項時,才需要從該目錄項中讀出該檔案的實體地址。也就是說,在檢索目錄時,檔案的其他描述資訊是不會被用到的,因此也不需要調入記憶體。因此,有些系統採用了檔名和檔案描述資訊分開的方法,將檔案描述資訊單獨形成乙個索引節點,簡稱i節點。檔案目錄中的每個目錄項僅由檔名和指向該檔案i節點的指標構成。
存放在磁碟上的索引節點稱為磁碟索引節點,每個檔案都有唯一的磁碟索引節點,主要包括:
當檔案被開啟時,磁碟索引節點被複製到記憶體的索引節點中,以便使用。存放在記憶體中的索引節點稱為記憶體索引節點,其增加了以下內容:
單級目錄結構(或稱為一級目錄結構)是最簡單的目錄結構,在整個檔案系統中,單級目錄結構只建立一張目錄表,每個檔案佔據其中的乙個表目。
檔名實體地址
檔案說明
狀態位檔名1
檔名2
當建立乙個新檔案時,首先應確定該檔名在目錄中是否唯一,若與已有檔名沒有衝突,則從目錄表中找出乙個空表目,將新檔案的相關資訊填入其中。在刪除檔案時,系統先從目錄表中找到該檔案的目錄項,從中找到該檔案的實體地址,對檔案占用的儲存空間進行**,然後再清除它所占用的目錄項。當對檔案進行訪問時,系統先根據檔名去查詢目錄表以確定該檔案是否存在,若檔案存在,則找出檔案的實體地址,進而完成對檔案的操作。
單級目錄結構的優點是易於實現,管理簡單,但是存在以下缺點:
二級目錄結構將檔案目錄分成主檔案目錄和使用者檔案目錄。系統為每個使用者建立乙個單獨的使用者檔案目錄(user file directory,ufd),其中的表項登記了該使用者建立的所有檔案及其說明資訊。主檔案目錄(master file directory,mfd)則記錄系統中各個使用者檔案目錄的情況,每個使用者佔乙個表目,表目中包括使用者名稱及相應使用者目標所在的儲存結構等。如圖所示:
當使用者要訪問乙個檔案時,系統先根據使用者名稱在主檔案目錄中查詢該使用者的檔案目錄,然後根據檔名在其使用者檔案目錄中找出相應的目錄項,從中找到該檔案的實體地址,進而完成對檔案的訪問。
當使用者要建立乙個檔案時,若為新使用者,即主檔案目錄表中無此使用者的相應登記項,則系統為其在主目錄中分配乙個表目,並為其分配存放使用者檔案目錄的儲存空間,同時在使用者檔案目錄中為新檔案分配乙個表目,然後在表目中填入有關資訊。
檔案刪除時,只需在使用者檔案目錄中刪除該檔案的目錄項。若刪除後該使用者目錄表為空,則表明該使用者已脫離了系統,從而可以將主檔案目錄表中該使用者的對應項刪除。
在樹形目錄結構中,第一級目錄稱為根目錄(樹根),目錄樹中的非葉子節點均為目錄檔案(又稱為子目錄),葉子節點為檔案。系統為每個檔案賦予唯一的識別符號(內部識別符號),該識別符號對使用者是透明的。
樹形目錄結構引入以下概念:
還在學習中,持續未完~
Linux 檔案許可權管理學習筆記
一.目錄的許可權位 1.目錄的讀許可權位意味著可以列出其中的內容。2.寫許可權位意味著可以在該目錄中建立檔案。3.執行許可權位則意味著搜尋和訪問該目錄.二.目錄的許可權將會覆蓋該目錄中檔案的許可權。例如,如果目錄docs具有如下的許可權 drwx r r 1 louise admin 2390 ju...
記憶體管理學習筆記
1.棧 堆和靜態區 靜態區 儲存自動全域性變數和static變數 包括全域性靜態變數和區域性靜態變數 靜態區的內容在整個程式的生命週期內都存在。棧 儲存區域性變數。棧上的內容只在函式的範圍內存在,當函式執行結束,這些內容也會自動被銷毀。其特點是效率高,但是空間大小有限。堆 由malloc系列函式或n...
作業系統原理學習筆記 程序管理
標籤 資料結構 primitive 儲存演算法 io作業 舉報分類 os 4 程序管理 程序的引入 程式併發執行 程序的概念 程序的特徵 引入程序帶來的問題 程序的結構 pcbpcb的組織方式 pcb多級佇列 程序的狀態 程序的五狀態 問題 多個程序競爭記憶體資源 解決方法 對換技術,交換技術 程序...