文件管理/磁盤管理

在這裏插入圖片描述
文件定義: 可以由某個應用打開的磁盤上的信息集合體。 磁盤管理=文件管理。建立文件系統來管理磁盤
文件的屬性?——FCB
不同的文件以怎樣的結構組織在一起? —目錄結構

目錄層次組織:路徑(文件所在目錄)+文件表(最終真實的文件,FCB)+ 活動文件表(內存中緩存思想)
路徑:在這裏插入圖片描述
目錄表項:
在這裏插入圖片描述
最終的目錄下,是一張表,每一項就是一個文件的FCB,存儲着該文件的基本屬性(名稱,地址,類型,最後打開時間)

FCB(File Control Block): 文件的屬性集合
FCB包括:
1.基本信息----文件名、文件的物理地址
2.存取控制信息----文件的存取權限(只讀,只寫)
3.使用信息類----文件類型(pdf,jpg),文件最後打開/創建時間、當前使用信息
在這裏插入圖片描述
路徑—— 絕對路徑/工作路徑
絕對路徑名: 完整的路徑,從根目錄到具體文件
相對路徑名:
在這裏插入圖片描述
目錄: 路徑 + 文件表, 用來記錄文件的邏輯位置,方便用戶分類文件
根目錄:最頂級的目錄
目錄也是一種文件, windows中建立文件夾,實際上是建立了一個目錄。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
活動文件表: 在內存中建立一張表,存儲已經打開的文件的FCB
訪問(打開)文件時, 通過一次文件名完整查找(路徑 + 文件表項), 將該文件的目錄項信息(FCB)導入活動文件表(內存)中, 進程就可以直接在內存中訪問文件,而不用再依據絕對路徑查找文件
用“關閉“操作切斷用戶進程和文件的關係, 移出活動文件表(內存)


文件的物理結構——磁盤管理 : 磁盤如何存儲文件? 磁盤如何管理空閒空間?
管理核心思想:操作系統對各種實體的管理,說白了就是拿張表格分配資源,有資源信息的表格,也有使用者信息的表格。文件管理和磁盤空間管理,是一體兩面。

磁盤上文件空間管理
1.連續文件結構:最簡單的物理文件結構,它把一個在邏輯上連續的文件信息依次存放到物理塊中。 磁帶,光盤。
在這裏插入圖片描述
2.串聯文件結構:串聯文件結構用離散分配,即非連續的物理塊來存放文件信息。這些非連續的物理塊之間沒有順序關係,其中每一個物理塊設有一個指針,指向其後續物理塊,從而使得存放同一文件的物理塊鏈接成一個串聯隊列
在這裏插入圖片描述
如圖所示,文件說明信息表示存放文件第一個的物理塊號爲20,該文件擁有一個指向文件首塊的指針,文件首塊的數據區保存文件真正的數據,指針區則指向存放該文件的下一個物理塊,以此類推,採用的是類似於鏈表的結構表示一個存放位置不連續的文件。

3.索引文件結構:——拿張表格分配資源(實用,核心管理方式),可實現文件大小動態擴充(如word,不需要創建文件時就指定文件大小)
索引文件要求系統爲每個文件建立一張索引表,表中每一個欄目指出文件信息所在的邏輯塊號和與之對應的物理塊號。
在這裏插入圖片描述
如圖所示,索引分配方式將每個文件的所有盤塊號都集中存放在一個索引表(邏輯塊與物理塊的映射表)中,這是個磁盤塊地址數組,根據邏輯塊號找到對應的物理塊號,根據物理塊號到磁盤找具體的數據塊即可。

磁盤空閒空間管理方法:
空閒磁盤管理: 視頻鏈接
bilibili
1.空閒表法: 創建一個索引表,記錄磁盤空閒區
2.空閒鏈表法: 用指針將空閒區串起來,形成一個鏈表。
3.位示圖法:不常用
4.成組鏈接法(實際使用): 綜合索引表和指針鏈的優點, 將幾個空閒區(可以不連續)集成一個索引表,再用指針將索引表集成指針鏈
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
1.空閒表法
操作系統把各個盤區{連續的空閒塊}記錄下來。表格上的信息是:
| 序號 | 每個盤區第一個空閒塊號 | 該盤區空閒盤塊數 | //一般是按空閒塊號遞增
在分配空閒塊時,操作系統會根據不同的策略{首次適應算法、循環首次適應算法等},找到符合要求的空閒盤區,分配出去,然後根據分配結果修改空閒表;
在回收空閒塊時,操作系統會考慮回收塊的相鄰塊是否空閒,如果空閒的話予以合併,否則就將回收塊記錄進空閒表。
2.空閒鏈表法
操作系統把空閒盤塊或盤區{連續的盤塊}連成一條鏈,也就是在空閒盤塊或盤區內部的尾部加上指向下一個空閒盤塊或盤區的指針。操作系統需要保存鏈頭和鏈尾的指針。
若是空閒盤塊鏈,在分配時,操作系統會把鏈頭摘下空閒塊分配給文件;在回收時,操作系統會把空閒塊掛到鏈尾上;
若是空閒盤區鏈,在分配時,操作系統會找到首個適應大小的盤區摘下分配給文件,或者若沒有足夠大的盤區,就將若干個小盤區分配給文件,然後維護指針和盤區大小信息;在回收時,會考慮回收區相鄰盤塊是否空閒,如果空閒就進行合併,維護指針和盤區大小信息,否則就掛到鏈尾。
3.位示圖法
操作系統用比特位標識盤塊的空閒情況,一個比特位對應一個盤塊,比特位排列成二維矩陣。
在分配空閒塊時,操作系統會按順序掃描位示圖,從而找到空閒磁盤塊,然後按照比特位的位置獲得空閒磁盤塊的塊號,將其分配出去,最後對該比特位取反;
在回收空閒塊時,操作系統會將盤塊號轉化成行列號,將對應比特位取反即可。
4.成組鏈接法
操作系統將空閒盤塊(可以不相鄰)分組,每組第一個盤塊擁有一張索引棧,索引下一組的所有空閒塊。
在分配空閒塊時,操作系統會將第一組的第一個盤塊裝入內存(這時候它就叫超級塊啦),在分配空閒塊的時候,操作系統會按照要求將棧頂盤塊分配給文件(即出棧操作),並維護索引棧的大小,如果棧空了,就把該盤塊分配出去,然後裝入下一個分組的第一個盤塊;
在回收空閒塊時,操作系統會將空閒塊入棧,如果棧滿了,就把回收來的塊單獨成組(大小爲1),然後把回收滿的組推後到第二組。

其他補充:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
目錄操作:在這裏插入圖片描述
流式文件:
文件的內容在讀寫時,輸入輸出的數據流的開始和結束僅受程序控制而不受物理符號(如回車換行符)控制。也就是說,在輸出時不以回車換行符作爲記錄的間隔。我們把這種文件稱爲流式文件。 如程序代碼文件

記錄式文件: 可隨意編輯記錄— 如word,記事本,excel

記錄式文件與數據庫區別
文件系統不支持文件之間關聯,每個文件都是獨立的信息集。 數據庫中的表可以通過join等方式關聯查詢。

目錄結構的發展:
1.一級表: 直接用一張表記錄所有文件 沒法分用戶,重名各種問題
2.二級表: 一個主表區分用戶,再加子表記錄文件 —— 仍舊不方便用戶使用
3.層次組織: 文件路徑(文件所在子目錄) + 目錄表項(子目錄中的實際文件)

文件存取方法—基於文件的物理結構:
在這裏插入圖片描述
文件保護(文件操作權限)—— 用戶操作文件時,指定操作方法, 覈對文件的操作權限屬性,從而實現文件保護
在這裏插入圖片描述
直觀操作: 對於word文件
1.文件目錄,文件表(見上)
2.文件操作
在這裏插入圖片描述
3.文件屬性:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章