作業系統筆記整理 第八章 磁碟儲存器的管理

2021-09-02 22:05:59 字數 2114 閱讀 6261

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

fat表的作用:用來描述檔案系統內儲存單元的分配狀態及檔案內容的前後鏈結關係的**(也可以籠統的說成是記錄檔案所在位置的**)。它對於fat檔案系統來講是至關重要的乙個組成部分,並且它對於硬碟的使用也非常重要,假若丟失檔案分配表,那麼硬碟上的資料就無法定位,也就不能使用了。

fat表大小的計算:

由於檔案儲存裝置是分成若干個大小相等的物理塊,並以塊為單位來交換資訊的,因此,檔案儲存空間的管理實質上是乙個空閒塊的組織和管理問題,它包括空閒塊組織,空閒塊的分配和空閒塊的**等幾個問題。

二、檔案儲存空間管理的方式

1. 空閒表法(空閒檔案目錄)

作業系統為磁碟外存上所有空閒區建立一張空閒表,每個表項對應乙個空閒區,空閒表中包含序號、空閒區的第一塊號、空閒塊的塊數等資訊。

空閒表法適用於連續檔案結構,其分配的方式是,在系統為某個檔案分配空閒塊時,首先掃瞄空閒表項,如找到合適的空閒區項,則分配給申請者,並把該項從空閒表中去掉。如果乙個空閒區項不能滿足申請者的要求,則把空閒表中的另一項滿足要求的分割槽分配給申請者(連續檔案結構除外)。如果乙個空閒表項所含塊數超過申請者要求,則為申請者分配了所要的物理塊後,再修改該表項。 

2. 空閒鍊錶法(自由鍊錶法)

將所有空閒盤區拉成一條空閒鏈,根據空閒鏈所有的基本元素不同,可以把鍊錶分成兩種形式:空閒盤塊鏈和空閒盤區鏈。

空閒盤塊鏈是將磁碟上的所有空閒分割槽,以盤塊為單位拉成一條鏈,當使用者建立檔案請求分配儲存空間時,系統從鏈首開始,依次摘下適當數目的空閒盤塊分配給使用者;當使用者刪除檔案時,系統將**的盤塊依次加入到空閒盤塊鏈的末尾。

空閒盤區鏈是將磁碟上的所有空閒盤區(每個空閒盤區可包含若干個盤塊)拉成一條鏈。在管理的線性表中,每乙個表項對應乙個空閒區,增加一項存放指向空閒塊的指標,將磁碟上的所有空閒區(可包含若干個空閒塊)拉成一條鏈。每個空閒區上除含有用於指示下乙個空閒區的指標外,還有本盤區大小(盤塊數)的資訊。 

3. 位示圖法

本方法利用二進位制的一位來表示磁碟中乙個盤塊的使用情況,磁碟上所有的盤塊都有與之對應的乙個二進位制位。當其值為0時,表示對應的盤塊空閒,當其值為1時,表示對應的盤塊已經分配。 

4. 成組鏈結法

空閒表法和空閒鍊錶由於空閒表太長而不適合大型檔案系統的使用。成組鏈結法是兩種方法相結合的一種管理方法,兼備了兩種方法的優點而克服了兩種方法的缺點。其大致的思想是:把空閒的n個空閒扇區的位址儲存在第乙個空閒扇區內,其後乙個空閒扇區內則儲存另一順序空閒扇區的位址,以此類推,直至所有空閒扇區都予以鏈結。

以下以unix作業系統為例,說明成組鏈結法的原理。

(1) unix作業系統採用索引結構存放檔案物理塊的位址

在unix 作業系統中,乙個塊定義為512 bytes,每乙個檔案對應乙個唯一的機內**,稱為i節點,在檔案的i節點中,放有存放檔案的物理塊號,由對應檔案的邏輯位元組偏移量計算出邏輯塊號後,就可搜尋i節點的位址索引結構而得檔案的物理塊號。

(2) unix system 的i節點中,定義有乙個40位元組長的字元陣列。

由於每個物理塊占用3個位元組,因此,此字元組最多可以放下13個物理塊號。顯然,對於大於13個物理塊(6.5kb)的檔案,i節點中的索引陣列將無法存放所有的物理塊號。

(3) unix系統把檔案分為小型、中型、大型和巨型四種。

(4) unix 系統檔案的物理結構如圖1

(5)unix的空閒塊管理也使用類似的方法

提公升磁碟i/o:

一次盡可能多寫入或多讀取。也就是說,將程式的讀寫buffer設定得盡可能大一些。例如日誌或者redo log的寫入,不是每次呼叫都直接寫磁碟,而是先快取到記憶體中,等buffer滿了再寫入磁碟,也可以定時寫入磁碟。 

作業系統第八章

檔案級安全管理 檔案級安全管理,是通過系統管理員或檔案主對檔案屬性的設定,來控制使用者對檔案的訪問。有以下屬性 1 只執行 eo 只允許使用者執行該檔案。2 隱含 h 指示檔案是隱含檔案。3 索引 i 指示檔案是索引檔案。4 修改 m 指示檔案自上次備份後是否已被修改。5 唯讀 ro 只允許使用者讀...

作業系統導論第八章筆記

title 作業系統導論第八章筆記 date 2019 10 14 13 01 03 tags 作業系統導論 第八章 categories 作業系統導論 規則1 如果a的優先順序 b的優先順序,那麼執行a 規則2 如果a的優先順序 b的優先順序,那麼輪轉a和b 規則3 工作進入系統時,放在最高優先順...

作業系統 第八章 作業

k是千 m是兆 g是吉咖 t是太拉 8 bit 位 1 byte 位元組 1024 byte 位元組 1 kb 1024 kb 1 mb 1024 mb 1 gb 1024 gb 1 tb 時鐘演算法 書p228 乙個32位位址的計算機使用兩級頁表。虛擬位址被分成9位的頂級頁表域,11位的二級頁表域...