操作系統第七、八章總結(7、8)

第 七 、八 章    文件與磁盤空間管理

文件定義、類型、文件系統模型

文件結構、外存分配

目錄(層次、檢索)、存儲空間管理

兩種常用文件共享方法

文件保護、數據一致性、磁盤提速…

1、文件和文件系統

文件管理:把所管理的程序和數據組織成一系列的文件,並能進行合理的存儲、使用等操作。

1 )基本概念

數據項:描述對象某種屬性的字符集;是數據組織中可以命名的最小邏輯數據單位。

記錄:一組相關數據項集合,描述對象某方面的屬性;

關鍵字:一個記錄中的一個或幾個數據項的集合,用於唯一的標識一個記錄。

文件:由創建者定義的、具有文件名的一組相關元素的集合。 無結構:字符流的形式有結構:由相關記錄組成 屬性:類型、長度、物理位置、創建時間

2 )文件類型

不同的系統對文件的管理方式不同 大多用擴展名標誌文件類型,按如下幾種方式分類文件

按用途:系統、用戶、庫文件

按數據形式:源文件、目標文件、可執行文件

按存取控制屬性:只執行、只讀、讀寫

按組織和處理方式:普通文件、目錄文件、特殊(設備)文件

3)文件系統模型

系統管理文件模型:

 

四個層次: ④邏輯文件系統 ③基本I/O管理程序 ②基本文件系統層 ①I/O控制層

4)文件操作

操作系統提供哪些文件操作?

最基本的操作

創建/刪除文件:分空間,形成FCB及目錄(名,地址)

讀、寫:按名檢索目錄,找到文件地址,開始讀、寫

設置文件讀寫位置,實現隨機存取(尤其適用於記錄文件)

還需要:“打開”與“關閉”:     

文件讀/寫操作 = 檢索 + 讀/寫。

每次讀寫前都要重複檢索增大開銷。所以爲了方便對同一文件的多次讀寫,一次檢索到文件後就在內存中記錄其位置,避免重複檢索。被記錄下位置的文件就是“打開”文件;

不需要再操作文件時,通過“關閉”這個系統調用關閉文件——即從打開文件表上刪除其路徑信息即可。

2、文件的邏輯結構

文件系統設計的關鍵要素: 如何構成一個文件,以及如何存儲在外存。

文件結構: 文件的邏輯結構file logical structure:按用戶觀點如何組織數據;又稱文件組織file organization 基本要求:檢索速度高、方便修改、降低存儲空間費用(不連續) 文件的物理結構:根據外存上的物理塊的分配機制,記錄文件外存的存儲結構。用戶感知不到的。

1)文件邏輯結構的類型

有結構文件(記錄式) ①定長記錄 ②變長記錄

如何組織記錄:

順序文件。系統需按該類型記錄“長度”,通常定長。

索引文件。系統需爲文件建立索引表。

索引順序文件。建索引表,記錄每組記錄的第一個記錄位置。

無結構文件(字符流式) 字節爲單位,利用讀寫指針依次訪問。 系統對該類文件不需格式處理。

①順序文件

兩種記錄排列方式 串結構:按記錄形成的時間順序串行排序。記錄順序與關鍵字無關; 順序結構:按關鍵字排序。 檢索方法: 從頭檢索,順序查找要找的記錄,定長的計算相對快。 順序結構,可用折半查找、插值查找、跳步查找等算法提高效率

具體的尋址過程: 第i條記錄地址(定長) :     讀寫指針 + 記錄長度: ptr + i*L 第i條記錄地址(變長) :     掃描或讀取前面0~i-1條記錄 第i條記錄地址(變長) 變長記錄數據前用1字節保存每條記錄長度,順序掃描,但不用把記錄全掃描完 j-1 (Lj +1) j=0

順序結構記錄按關鍵字排序,可按關鍵字檢索 定長:結合折半查找算法等提高檢索速度

變長:從第1個記錄開始順序掃描,直到掃描到要檢索的關鍵字標識的記錄(例如:數據庫、文件系統的基於文件名排序的目錄檢索)

順序文件的優缺點: 不方便隨機存取某條記錄,但適用批量存取的場合。 適合磁帶等特殊介質。 單記錄的查找、修改等交互性差;增減不方便(改進辦法:把增刪改的記錄登記在一個事務文件中,在某段時間間隔後再與原文件合併更新)。

②索引文件

        爲了方便單個記錄的隨機存取,爲文件建立一個索引表,記錄每項記錄在文件的邏輯地址及記錄長度;該索引表按關鍵字排序,。 索引表內容: 索引號、長度、記錄地址指針 檢索效率 索引表本身即是個按記錄鍵排序的定長順序文件,所以能利用算法提高索引表檢索速度

一個索引文件可以有多個索引表             爲方便用戶根據不同記錄屬性檢索記錄,爲順序文件建立多個索引表,每種能成爲檢索條件的域都配備一張索引表。 索引文件的優缺點 適用於變長記錄,可提高檢索速度,實現直接存取 索引表增加了存儲開銷

③索引順序文件

既要方便,又要降低開銷 本方式是最常見的一種邏輯文件形式。 將順序文件的所有記錄分組 還是建立索引表,但每個表項記錄的是每組第1條記錄的鍵值和地址。 組內記錄仍按順序方式檢索和使用。 檢索一條記錄的過程: 先計算記錄是在第幾組,然後再檢索索引確定組在哪裏後,在組內順序查找。 可利用多級索引,進一步提高檢索效率。

④直接文件

3、外存分配方式

目標:有效利用外存空間,提高文件訪問速度 常用三種方式: 連續分配 鏈接分配(不連續) 索引分配 通常一個系統中僅採用一種方式 採用的磁盤分配方式決定了文件的“物理結構” 順序結構;鏈接式結構;索引式結構。 注意與邏輯結構名類似但不是一回事。

1)連續分配

爲每一個文件分配一組相鄰的盤塊。 邏輯文件中的記錄順序與存儲器中文件佔用盤塊的順序一致。 優點:順序訪問容易,讀寫速度快

缺點: 會產生外存碎片。可緊湊法彌補,但需要額外的空間,和內存緊湊相比更花時間。 創建文件時要給出文件大小;存儲空間利用率不高,不利於文件的動態增加和修改; 適用於變化不大順序訪問的文件,在流行的UNIX系統中仍保留了連續文件結構。如對換區

2)鏈接分配

可以爲每一個文件分配一組不相鄰的盤塊。 設置鏈接指針,將同屬於一個文件的多個離散盤塊鏈接成一個鏈表,這樣形成的文件稱爲鏈接文件。會有鏈接成本。

優點: 離散分配,消除外部碎片,提高利用率 同時適用於文件的動態增長;修改容易

隱式鏈接

顯式鏈接(FAT--file allocationtable)

 FAT表的相關計算

MS-DOS文件分配結構爲例:         一個1.2M的磁盤,盤塊512B大小;若文件系統採用FAT格式,則FAT表大小如何? 表項個數     =  盤塊個數         =  容量 / 盤塊大小 = 1.2 *220 / 29 = 1.2 *211 個 表項大小,決定於盤塊數量編號需要的位數=12 位; FAT表大小 = 表項個數 * 表項大小            = 1.2 *211 * 12 bit            = 1.2 *211 * 1.5B = 3.6KB 以半字節(0.5B=4b)爲基本單位,表項需12位(1.5B) 由上述公式,若容量爲200M的磁盤,盤塊仍爲512B,FAT表大小如何?

FAT表表項有200K≈218 (個) 表項需20位,即2*8+4,2.5字節 FAT表需內存大小爲200*2.5=500KB

3)索引分配

鏈接的不足

順序檢索的時間成本:不能支持高效的盤塊直接存取。要對一個文件進行直接存取,仍需在FAT中順序的查找許多盤塊號。 鏈接信息的空間成本:FAT需佔用較大的內存空間。當磁盤容量較大時,FAT可能要佔用數MB以上的內存空間。這是令人難以忍受的 改進: 系統運行時只涉及部分文件,FAT表無需全部調入內存 每個文件單獨建索引表(物理盤塊索引),記錄所有分配給它的盤塊號; 建立文件時,便分配一定的外存空間用於存放文件盤塊索引表信息;

①單級索引分配

②多級索引

多級索引下的文件大小

若兩級索引,盤塊1KB,盤塊號佔4字節 一個盤塊可存放的盤塊號數有多少個 1KB/4B = 210/4 = 28 = 256(個)

二級索引下的文件可分配的最大盤塊數 256 * 256 =26×210=64 K(個)

文件最大長度爲             64K(個)*1KB=64MB

若盤塊大小爲4KB,單級索引允許文件最大長度爲4MB(4K/4*4KB),

二級索引則文件最大可達4GB(1K*1K*4KB)。

③混合組織索引(增量式索引組織方式)

索引文件在順序訪問或隨機訪問中都比較靈活,是一種比較 好的文件物理結構,但也是需要一定的用於索引表的空間開銷和檢索文件索引的時間開銷的。 UNIX系統是使用索引結構成功的例子。

磁盤組織

以簇爲單位分配回收、但不規定盤塊大小 磁盤格式化時確定卷的簇大小(物理磁盤扇區的整數倍),512M以內的小磁盤默認簇大小爲512B,1G的默認大小爲1KB。。。大多數情況是4KB 捲上簇編號爲LCN,用戶用到的簇順序編成用戶虛擬簇號VCN,NTFS可進行VCN到LCN的映射

文件組織

以卷爲單位,將卷的所有文件信息、目錄信息、可用未分配空間記錄在主控文件表MFT中。 每個文件的信息對應一行,固定大小1KB,稱爲元數據 文件屬性信息、文件數據較少時就直接寫在MFT中;較多超出1KB時,記錄存放這些信息的簇地址指針。 兼容性上也有不足

例1:盤塊1KB大小,硬盤500MB大小。顯式鏈接方式時,FAT需佔用多少存儲空間?文件A佔用11、12、16、14盤塊,畫出鏈接及FAT的情況。

盤塊500K個≈219 編號決定表項需19位,     半字節爲單位,須20位,即 2.5 B FAT大小 = 500K * 2.5B = 1250 KB

例2:試描述過程:連續分配、隱式鏈接、顯式鏈接和索引方式下如何將文件中3500字節偏移的邏輯地址轉換爲物理塊號和塊內偏移量。(設盤塊大小爲1KB,盤塊號需4B)

3500 / 1024=3,餘428 即邏輯塊號3,塊內偏移428(編號從0開始) 連續分配下: FCB中查到起始物理塊號。設爲a, 在a+3號盤塊中偏移428B即找到需要數據。 隱式鏈接方式: 每個盤塊中的1KB中4B用於記錄下一個塊號,3500/1020=3,餘440 FCB中獲得第1個盤塊號b0,讀取b0最後4B得到下一個盤塊號b1,繼續同樣操作到b2,到b3,在b3盤塊中偏移440B。

顯式鏈接方式

FCB中得到文件首盤號c0。 FAT中檢索c0,找到c0項記錄的c1,繼續找 找到c3後,在C3盤塊中偏移428B。 索引方式 FCB中找到盤塊索引表的地址d(存放索引表的盤塊) 索引表的d+3*4B處即直接檢索到物理塊設結果爲e,在e盤塊中偏移428B。

例3:某磁盤文件系統,採用混合索引分配方式,13個地址項記錄在FCB中。若盤塊大小512字節,盤塊號需3字節(則一個盤塊最多存放170個盤塊號) 該文件系統允許文件的最大長度是多少? 5000、15000、150000需如何尋址? FCB已在內存,其他信息都在外存,則訪問文件某位置需訪問磁盤,最少幾次?最多幾次?

1.c=10+170+170*170+170*170*170(個)     文件最大c*512B

2.不同地址的尋址 5000/512,商9,餘392,直接尋址即可:FCB9號直接地址項記錄的塊內偏移392 15000/512,商29,餘152,<10+170。可從第10項一次尋址找第19=29-10處的塊號 。。。

3.直接尋址最少一次,三次間址則最多訪問磁盤4次

根據外存空間空閒情況分配給文件需要的磁盤空間 管理空閒空間 記錄已分配的空間

4、存儲空間的管理

爲實現存儲空間分配,系統需要: 記住空閒存儲空間使用情況;爲空間設置相應的數據結構; 提供對存儲空間分配、回收的操作手段。 典型的管理方法: 1)空閒表和空閒鏈表法 2)位示圖法 3)成組鏈接法

1)空閒表法和空閒鏈表法

空閒表法 常用於連續分配管理方式

數據結構 系統爲外存上的所有空閒區建立一張空閒表 每個空閒區對應一個空閒表項 (表項包括序號、空閒區的第一個盤塊號、空閒盤塊數等。) 將所有空閒區按其起始盤塊號遞增的次序排列,如右圖。

存儲空間的分配與回收操作 與內存的動態分配類似,同樣可採用首次適應算法、循環首次適應算法等。 回收主要解決對數據結構的數據修改。 應該說明,雖然很少採用連續分配方式,然而在外存的管理中,由於它具有較高的分配速度,可減少訪問磁盤的I/O頻率,故它在諸多分配方式中仍佔有一席之地。(如實現虛擬用的部分外存就是連續分配方式)

空閒鏈表法 將所有空閒盤區拉成一條空閒鏈。

數據結構:鏈         根據構成鏈所用基本元素的不同,可把鏈表分成兩種形式: 空閒盤塊鏈 空閒盤區鏈

空閒盤塊鏈

將磁盤上的所有空閒空間,以盤塊爲單位拉成一條鏈。 因創建文件而請求分配空間時,系統從鏈首依次摘下適當數目的空閒盤塊分配給用戶。 因刪除文件而釋放存儲空間時,系統將回收的盤塊依次插入空閒盤塊鏈的末尾。 優點:分配和回收一個盤塊的過程非常簡單,但爲一個文件分配盤塊時,可能要重複操作多次。

空閒盤區鏈

2)位示圖法——位示圖

利用二進制的一位來表示一個盤塊的使用情況。 值爲0表示對應的盤塊空閒,爲1表示已分配。有的系統則相反。 磁盤上的所有盤塊都有一個二進制位與之對應,這樣由所有盤塊所對應的位構成一個集合,稱爲位示圖。 總塊數=m*n。可用m*n個位數來構成位示圖,可看成是二維數組(數據結構)。

盤塊的分配與回收

根據位示圖進行盤塊分配: 順序掃描位示圖。找到爲0的二進制位。 將所找到的一個或一組二進制位,轉換成與之對應的盤塊號。進行分配操作。 盤塊號計算公式爲:盤塊號 = 列總數*(i-1)+ j; (注意下標i,j從1開始) 修改位示圖。 根據位示圖進行盤塊回收: 將回收盤塊的盤塊號轉換成位示圖中的行號和列號。轉換公式爲:i=(盤塊號-1)div列數+1;j=(盤塊號-1)mod列數+1 Div 求商,mod 取餘,公式中的i、j都是從1開始的 (如12號盤塊轉換後爲1,12) 修改位示圖。

3)成組鏈接法

大型文件系統,空閒表或空閒鏈表太長不方便管理操作。 UNIX系統中採用成組鏈接法,這是將兩種方法結合而形成的一種空閒盤塊管理方法。 中心思想: 所有盤塊按規定大小劃分爲組; 組間建立鏈接; 組內的盤塊藉助一個系統棧可快速處理,且支持離散分配回收。

例:某系統採用成組鏈接法管理磁盤空閒空間,目前狀態如上圖,問: 還有多少空閒盤塊? 若從當前狀態下,系統分配3個盤塊給某文件後,又刪除另一文件,回收了第700,711,703,788,701這5個盤塊。則磁盤空間的狀態圖中的鏈接情況又如何?

成組鏈接法 鏈表長度上限固定 組內的盤塊藉助一個系統棧可快速處理,且分配回收比較簡單。 支持離散分配回收。

空閒盤塊的組織

空閒盤塊號棧。 用來存放當前可用的一組空閒盤塊的盤塊號(最多含100個號) 棧中尚有的空閒盤塊號數N。         (N兼具棧頂指針用。棧底爲S.free(0),棧滿時棧頂到達S.free(99),N=100,表示有100個盤塊供使用。

空閒盤塊的分配與回收

分配盤塊時,須調用分配過程來完成。 先檢查空閒盤塊號棧是否上鎖,如沒有,便從棧頂取出一空閒盤塊號,將與之對應的盤塊分配給用戶,然後將棧頂指針下移一格。 若該盤塊號已是棧底,即S.free(0),到達當前棧中最後一個可供分配的盤塊號。 讀取該盤塊號所對應的盤塊中的信息:即下一組可用的盤塊號入棧。 原棧底盤塊分配出去。修改棧中的空閒盤塊數。 回收 回收盤塊號記入棧頂,空閒數N加1 N達到100時,若再回收一塊,則將該100條信息填寫入新回收塊。

組織文件數據 存放文件數據 檢索使用文件

5、目錄管理

對文件實施有效的管理,必須對它們加以妥善組織,主要是兩大操作: 基本信息記錄(FCB,目錄項) 方便檢索、管理(目錄操作) 目錄管理的要求如下: 實現“按名存取”;(最基本功能) 提高對目錄的檢索速度; 文件共享; 允許文件重名。

文件控制塊—FCB

爲了能對一個文件進行正確的存取,必須爲文件設置用於描述和控制文件的數據結構,稱之爲“文件控制塊”(FCB) 文件與文件控制塊一一對應 記錄文件名及其存放地址、文件的說明和控制信息。(是誰?在哪裏?什麼權?) 文件管理程序藉助於文件控制塊中的信息對文件施以各種操作。         把文件控制塊的有序集合稱爲文件目錄,即一個文件控制塊就是一個目錄項。通常一個文件目錄也被看作是一個文件,稱爲目錄文件。

1)FCB內容

在文件控制塊中,通常含有以下三類信息。

基本信息類 包括文件名,文件物理位置,文件邏輯結構,文件的物理結構。

存取控制信息類 包括文件主的存取權限,覈准用戶的存取權限和一般用戶的存取權限。

使用信息類 建立日期和時間、文件上次修改的日期和時間 當前使用信息:打開該文件的進程數、是否被進程鎖住、是否已修改等。

2)索引結點

索引結點的引入

文件目錄佔越大量的盤塊,需進行的磁盤讀寫開銷越大。減少實際檢索的信息量就減少移動磁頭的開銷,提高速度; 目錄一般是按名檢索。而直到找到正確文件前,只關心文件名,不需要其它的文件描述信息,目錄中這部分內容的調入不是必須的。 所以:將文件名、文件具體信息分開,使文件描述信息單獨形成一個索引結點。

3) 目錄結構

目錄結構的組織,關係到文件系統的存取速度,也關係到文件的共享性和安全性。

組織好文件的目錄,是設計好文件系統的重要環節。

目前常用的目錄結構形式有 單級目錄 兩級目錄 多級目錄

①單級目錄結構(Single-Level Directory)

②兩級目錄結構( Two-Level Directory )

兩級目錄的特點

基本克服了單級目錄的缺點,並具有以下優點: 提高了檢索目錄的速度。 在不同的目錄中可重名。 不同用戶還可以使用相同/不同的文件名來訪問系統中的同一個共享文件。 不提供子目錄操作,還不方便;各用戶之間被完全隔離的話用戶訪問其他用戶文件時,不方便合作。

③多級目錄結構

4)目錄查詢技術

線性檢索法

又稱爲順序檢索法。 單級目錄中 用戶提供文件名,順序查找文件目錄。 樹型目錄中 用戶提供路徑名,如/user/ast/mbox 對多級目錄進行逐層查找。

6、文件共享與保護

1)文件共享 多個用戶共享一份文件,只保留文件的一份副本,節約存儲空間 共享範圍:單機系統/多主機系統/網絡範圍 20世紀六七十年代,出現了若干文件早期共享方法,繞彎路法、連訪法等,逐漸發展爲現代一些共享方式 索引結點 符號鏈

①索引結點法

基本FCB法(有向無循環圖): 名+詳細信息。 直接在文件目錄中包含文件的物理地址,該方法實現的共享不適用文件動態變化。一個用戶對文件的修改(如物理塊號增加),對其他用戶不可見,共享文件的FCB信息記錄同步更新困難。

文件名+索引結點指針。 一個用戶修改指針指向地址裏的內容,指針不變,其他用戶通過指針總能感知索引結點中的最新內容 索引結點中增加count計數 主人刪除操作問題: 刪,共享用戶訪問錯誤;不刪,計費問題。

②符號鏈法 創建一個link類型的文件:“文件名+共享文件路徑”(類似快捷方式) 文件主人刪除文件,共享者只會出現找不到文件錯誤。不會發生共享文件刪除後出現懸空指針的情況。 該方法適用於網絡文件共享,但根據路徑檢索共享文件的目標位置增加了訪問開銷,link文件獨佔索引結點也耗費一定的空間。

②【文件鏈接】——ln

ln鏈接有兩種類型 硬鏈接(Hard Link)默認情況下,ln產生硬鏈接。原文件和連接文件的FCB記錄了相同的inode地址。 建立硬鏈接時,鏈接文件和被鏈接文件必須位於同一個文件系統中,並且不能建立指向目錄的硬鏈接。 符號鏈接(Symbolic Link)。和win下的快捷方式差不多。包含所鏈接文件的路徑。可鏈接任意文件或目錄,可鏈接不同文件系統的文件,甚至可以鏈接不存在的文件,網絡文件。

兩種共享方式的比較

硬鏈接(基於索引節點): 只能文件鏈接,不能對目錄做硬鏈接(可能導致du類命令死循環遍歷); 只能在同一個文件系統範圍內進行,不能跨文件系統。 刪除文件時,如果還有其他鏈接鏈至該文件,則該文件不能被刪除。 軟鏈接(符號鏈接): 雖然實現起來相對麻煩一些,訪問速度相對慢一些,但適用範圍和靈活性要大一些。 允許目錄鏈接,允許不同文件系統間進行鏈接,這兩個文件系統可以在同一個計算機上,也可以在不同的計算機上。 被鏈接文件的刪除和符號鏈接的刪除是完全相互獨立的(返回“被鏈接文件不存在”的錯誤)。

8.5文件保護

進程與域的兩種聯繫 1、靜態聯繫:指進程的可用資源集在進程的整個生命期中是固定的。但應允許修改域的內容,如,把操作文件的權限從r改爲rw. 2、動態聯繫:指進程的可用資源集在進程的整個生命期中是變化的。進程在執行期間可能從一個保護域切換到另一保護域。    

一、訪問控制表(Access Control List)     存取控制矩陣由於太大而往往無法實現。一個改進的辦法是對訪問矩陣按列(對象)劃分,爲每一列建立一張訪問控制表ACL,當對象是文件時,按用戶對文件的訪問權力的差別對用戶進行分類,由於某一文件往往只與少數幾個用戶有關,所以這種分類方法可使存取控制表大爲簡化。由於存取控制表對每個文件將用戶分類,所以該存取控制表可存放在每個文件的文件控制塊(即目錄表目)或索引結點中,作爲該文件的存取控制信息。

二、訪問權限表     對訪問矩陣按行(域)劃分,爲每一行建立一張訪問權限表,表中的每一項即爲該域某一對象的訪問權限。當域爲用戶(進程),對象爲文件時,訪問權限表便可用來描述一個用戶(進程)對每一個文件所能執行的一組操作。

   實際系統中,用四個方面對文件實行安全性管理。(1)系統級管理;(2)用戶級管理;(3)目錄級管理;(4)文件級管理。 一、系統級安全管理     系統級安全管理的主要任務是,不允許未經允許的用戶進入系統,從而防止他人非法地使用系統中的各類資源。實現方法有以下幾種: 1、註冊 2、登錄 3、其它措施: 要求用戶定期修改密碼; 限定用戶在規定時間上機; 限定用戶在指定的終端上上機。 二、用戶級安全管理     用戶級安全管理是爲了給用戶分配“文件訪問權限”而設計的。 1、用戶分類    不同的系統分法不同,如把用戶分爲:(1)文件主 (2)夥伴 (3)一般用戶   另一分法把用戶分爲:(1)超級用戶 (2)系統操作員 (3)用戶 (4)顧客

2、文件訪問權    不同用戶可以有不同的訪問權。  (1)建立(C)  (2)刪除(D)  (3)打開(O)  (4)讀(R)  (5)寫(W)  (6)查詢(S)  (7)修改(M)  (8)父權(P):允許建立/改名/刪除子目錄。 三、目錄級安全管理     目錄級安全管理,是爲保護系統中的各種目錄而設計的,它與用戶權限無關,爲保證目錄的安全,規定只有系統核心才具有目錄的權限。    讀許可權表示允許進程讀目錄。    寫許可權表示允許進程請求核心爲之建立新目錄項,或撤銷已有的目錄項。    執行許可權表示允許進程檢索目錄。

四、文件級安全管理     文件級安全管理,是通過系統管理員或文件主對文件屬性的設置,來控制用戶對文件的訪問。有以下屬性: (1)只執行(EO):只允許用戶執行該文件。 (2)隱含(H):指示文件是隱含文件。 (3)索引(I):指示文件是索引文件。 (4)修改(M):指示文件自上次備份後是否已被修改。 (5)只讀(RO):只允許用戶讀文件。 (6)讀/寫(RW):允許用戶對文件進行讀和寫。 (7)共享(SHA):指示文件是可被共享的文件。 (8)系統(SY):指示文件是系統文件。

SFT,system fault tolerance 防止磁盤故障造成的文件不安全 SFT I:磁盤表面故障 雙目錄、雙文件分配表(空間冗餘) 寫後讀校驗、熱修復重定向(時間操作冗餘) 寫入磁盤後再讀回內存做一致性校驗 熱修復寫過程:從壞道重定向到專區並記錄 SFT II:磁盤驅動器、控制器故障 驅動器故障:磁盤鏡像 控制器故障:磁盤雙工——並行控制器,分離搜索加快讀取

磁盤高速緩存(內存中,磁盤塊的副本) 提前讀(每次訪問磁盤,多讀入一些磁盤塊 ) 延遲寫 優化物理塊分佈(可能順序存取的塊放在一起 →儘量分配在同一柱面上) 虛擬盤(內存模仿磁盤) 磁盤冗餘陣列(高速、大容量磁盤系統,並行交叉存取)

在系統內存中設置磁盤緩衝區的主要目的是() A.減少磁盤I/O 次數 B.減少平均尋道時間 C.提高磁盤數據可靠性 D.實現設備無關性

 

例:假定有8個記錄,記錄大小與扇區大小相等,若磁盤轉速爲20ms/圈,進程處理一個記錄的時間爲5ms,問按逆時針方向安排這8個記錄時,順序處理這8個記錄需要花費多長時間(設磁盤在順時針旋轉) ?

=7.5+(6*2.5+7.5)*7 =165ms

如何最優化分佈記錄,可使處理時間最短?

=7.5*8=60ms

 

 

 

 

 

 

 

 

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