磁盤存儲器的管理算法
如前所述,文件的物理結構直接與外存的組織方式有關。對於不一樣的外存組織方式,將造成不一樣的文件物理結構。目前經常使用的外存組織方式有:數據庫
(1) 連續組織方式。緩存
(2) 連接組織方式。安全
(3) 索引組織方式。服務器
連續組織方式又稱連續分配方式,要求爲每個文件分配一組相鄰接的盤塊。例如,第一個盤塊的地址爲b,則第二個盤塊的地址爲b+1,第三個盤塊的地址爲b+2,…。一般,它們都位於一條磁道上,在進行讀/寫時,沒必要移動磁頭。在採用連續組織方式時,可把邏輯文件中的記錄順序地存儲到鄰接的各物理盤塊中,這樣所造成的文件結構稱爲順序文件結構,此時的物理文件稱爲順序文件。網絡
圖8-1 磁盤空間的連續組織方式數據結構
連續組織方式的主要優勢有:併發
(1) 順序訪問容易。post
(2) 順序訪問速度快。性能
連續組織方式的主要缺點以下:
(1) 要求爲一個文件分配連續的存儲空間。
(2) 必須事先知道文件的長度。
(3) 不能靈活地刪除和插入記錄。
(4) 對於那些動態增加的文件。
若是能夠將文件裝到多個離散的盤塊中,就可消除連續組織方式的上述缺點。在採用連接組織方式時,可爲文件分配多個不連續的盤塊,再經過每一個盤塊上的連接指針,將同屬於一個文件的多個離散的盤塊連接成一個鏈表,由此所造成的物理文件稱爲連接文件。連接組織方式的主要優勢是:
(1) 消除了磁盤的外部碎片,提升了外存的利用率。
(2) 對插入、刪除和修改記錄都很是容易。
(3) 能適應文件的動態增加,無需事先知道文件的大小。
1. 隱式連接
在採用隱式連接組織方式時,在文件目錄的每一個目錄項中,都須含有指向連接文件第一個盤塊和最後一個盤塊的指針。
圖8-2 磁盤空間的連接式分配
2. 顯式連接
這是指把用於連接文件各物理塊的指針顯式地存放在內存的一張連接表中。該表在整個磁盤中僅設置一張,如圖8-3所示。
圖8-3 顯式連接結構
1. FAT12
1) 早期的FAT12文件系統
FAT12是以盤塊爲基本分配單位的。因爲FAT是文件系統中最重要的數據結構,爲了安全起見,在每一個分區中都配有兩張相同的文件分配表FAT1和FAT2。在FAT的每一個表項中存放下一個盤塊號,它其實是用於盤塊之間的連接的指針,經過它能夠將一個文件的全部的盤塊連接起來,而將文件的第一個盤塊號放在本身的FCB中。
圖8-4 MS-DOS的文件物理結構
2) 以簇爲單位的FAT12文件系統
稍加分析即可看出,若是把每一個盤塊(扇區)的容量增大n倍,則磁盤的最大容量即可增長n倍。但要增長盤塊的容量是不方便和不靈活的。爲此,引入了簇(cluster)的概念。
2. FAT16
FAT12對磁盤容量限制的緣由在於, FAT12表中的表項有限制,亦即最多隻容許4096個。這樣,隨着磁盤容量的增長,一定會引發簇的大小和簇內碎片也隨之增長。
3. FAT32
因爲FAT16表的長度只有65 35項,隨着磁盤容量的增長,簇的大小也必然會隨之增長,爲了減小簇內零,也就應當增長FAT表的長度,爲此須要再增長FAT表的寬度,這樣也就由FAT16演變爲FAT32。
圖8-5 FAT中簇的大小與最大分區的對應關係
1. NTFS新特徵
NTFS(New Technology File System)是一個專門爲Windows NT開發的、全新的文件系統,並適用於Windows 2000/XP及後續的Windows OS。
2. 磁盤組織
NTFS是以簇做爲磁盤空間分配和回收的基本單位的。一個文件佔用若干個簇,一個簇只屬於一個文件。這樣,在爲文件分配磁盤空間時,就無須知道盤塊的大小,只要根據不一樣的磁盤容量,選擇相應大小的簇,即便NTFS具備了與磁盤物理塊大小無關的獨立性。
3. 文件的組織
在NTFS中,以卷爲單位,將一個卷中的全部文件信息、目錄信息以及可用的未分配空間信息,都以文件記錄的方式記錄在一張主控文件表MFT(Master File Table)中,該表是NTFS卷結構的中心,從邏輯上講,卷中的每一個文件做爲一條記錄,在MFT表中佔有一行,其中還包括MFT本身的這一行。每行大小固定爲1 B,每行稱爲該行所對應文件的元數據(metadata),也稱爲文件控制字。
1. 單級索引組織方式
連接組織方式雖然解決了連續組織方式所存在的問題(即不便於隨機訪問),但又出現了另外兩個問題,即:① 不能支持高效的直接存取,要對一個較大的文件進行存取,須在FAT中順序地查找許多盤塊號;② FAT需佔用較大的內存空間,因爲一個文件所佔用盤塊的盤塊號是隨機地分佈在FAT中的,於是只有將整個FAT調入內存,才能保證在FAT中找到一個文件的全部盤塊號。
圖8-6 索引分配方式
2. 多級索引組織方式
在爲一個大文件分配磁盤空間時,若是所分配出去的盤塊的盤塊號已經裝滿一個索引塊時,OS須再爲該文件分配另外一個索引塊,用於將之後繼續爲之分配的盤塊號記錄於其中。依此類推,再經過鏈指針將各索引塊按序連接起來。
圖8-7 兩級索引分配
3. 增量式索引組織方式
1) 增量式索引組織方式的基本思想
爲了能較全面地照顧到小、中、大及特大型做業,能夠採起多種組織方式來構成文件的物理結構。若是盤塊的大小爲1 B或4 B,對於小文件(如1 B~10 B或4 B~40 B)而言,最多隻會佔用10個盤塊,爲了能提升對數量衆多的小型做業的訪問速度,最好能將它們的每個盤塊地址都直接放入文件控制塊FCB(或索引結點)中,這樣就能夠直接從FCB中得到該文件的盤塊地址。
2) NIX System V的組織方式
在UNIX System V的索引結點中設有13個地址項,即i.addr(0)~i.addr(12),如圖8-8所示。
(1) 直接地址。
(2) 一次間接地址。
(3) 屢次間接地址。
圖8-8 混合索引方式
1. 空閒表法
1) 空閒表
空閒表法屬於連續分配方式,它與內存的動態分配方式雷同,它爲每一個文件分配一塊連續的存儲空間。即系統也爲外存上的全部空閒區創建一張空閒表,每一個空閒區對應於一個空閒表項,其中包括表項序號、該空閒區的第一個盤塊號、該區的空閒盤塊數等信息。再將全部空閒區按其起始盤塊號遞增的次序排列,造成空閒盤塊表,如圖8-9所示。
圖8-9 空閒盤塊表
2) 存儲空間的分配與回收
空閒盤區的分配與內存的分區(動態)分配相似,一樣是採用首次適應算法和最佳適應算法等,它們對存儲空間的利用率大致至關,都優於最壞適應算法。在系統爲某新建立的文件分配空閒盤塊時,先順序地檢索空閒表的各表項,直至找到第一個其大小能知足要求的空閒區,再將該盤區分配給用戶(進程),同時修改空閒表。
2. 空閒鏈表法
1) 空閒盤塊鏈
這是將磁盤上的全部空閒空間以盤塊爲單位拉成一條鏈,其中的每個盤塊都有指向後繼盤塊的指針。
2) 空閒盤區鏈
這是將磁盤上的全部空閒盤區(每一個盤區可包含若干個盤塊)拉成一條鏈。在每一個盤區上除含有用於指示下一個空閒盤區的指針外,還應有能指明本盤區大小(盤塊數)的信息。
1. 位示圖
位示圖是利用二進制的一位來表示磁盤中一個盤塊的使用狀況。當其值爲「0」時,表示對應的盤塊空閒;爲「1」時,表示已分配。有的系統把「0」做爲盤塊已分配的標誌,把「1」做爲空閒標誌。(它們在本質上是相同的,都是用一位的兩種狀態來標誌空閒和已分配兩種狀況。)磁盤上的全部盤塊都有一個二進制位與之對應,這樣,由全部盤塊所對應的位構成一個集合,稱爲位示圖。
圖8-10 位示圖
2. 盤塊的分配
根據位示圖進行盤塊分配時,可分三步進行:
(1) 順序掃描位示圖,從中找出一個或一組其值爲「0」的二進制位(「0」表示空閒時)。
(2) 將所找到的一個或一組二進制位轉換成與之相應的盤塊號。假定找到的其值爲「0」的二進制位位於位示圖的第i行、第j列,則其相應的盤塊號應按下式計算:
式中,n表明每行的位數。
(3) 修改位示圖,令map[i, j] =1 。
3. 盤塊的回收
盤塊的回收分兩步:
(1) 將回收盤塊的盤塊號轉換成位示圖中的行號和列號。轉換公式爲:
i = (b - 1)DIV n + 1
j = (b - 1)MOD n + 1
(2) 修改位示圖。令map[i, j] = 0 。
1. 空閒盤塊的組織
(1) 空閒盤塊號棧,用來存放當前可用的一組空閒盤塊的盤塊號(最多含100個號),以及棧中尚有的空閒盤塊(號)數N。順便指出,N還兼做棧頂指針用。
圖8-11 空閒盤塊的成組連接法
(2) 文件區中的全部空閒盤塊被分紅若干個組,好比,將每100個盤塊做爲一組。假定盤上共有10000個盤塊,每塊大小爲1 KB,其中第201~7999號盤塊用於存放文件,即做爲文件區,這樣,該區的最末一組盤塊號應爲7901~7999;次末組爲7801~7900,…,倒數第二組的盤塊號爲301~400;第一組爲201~300,如圖8-11所示。
(3) 將每一組含有的盤塊總數N和該組全部的盤塊號記入其前一組的第一個盤塊的S.free(0)~S.free(99)中。這樣,由各組的第一個盤塊可鏈成一條鏈。
(4) 將第一組的盤塊總數和全部的盤塊號記入空閒盤塊號棧中,做爲當前可供分配的空閒盤塊號。
(5) 最末一組只有99個盤塊,其盤塊號分別記入其前一組的S.free(1)~S.free(99)中,而在S.free(0)中則存放「0」,做爲空閒盤塊鏈的結束標誌。(注:最後一組的盤塊數應爲99,不該是100,由於這是指可供使用的空閒盤塊。其編號應爲(1~99),0號中放空閒盤塊鏈的結尾標誌。)
2. 空閒盤塊的分配與回收
當系統要爲用戶分配文件所需的盤塊時,須調用盤塊分配過程來完成。該過程首先檢查空閒盤塊號棧是否上鎖,如未上鎖,便從棧頂取出一空閒盤塊號,將與之對應的盤塊分配給用戶,而後將棧頂指針下移一格。若該盤塊號已經是棧底,即S.free(0),這是當前棧中最後一個可分配的盤塊號。
(1) 改進文件的目錄結構以及檢索目錄的方法來減小對目錄的查找時間;
(2) 選取好的文件存儲結構,以提升對文件的訪問速度;
(3) 提升磁盤的I/O速度,能將文件中的數據快速地從磁盤傳送到內存中,或者相反。其中的第1和第2點已在上一章或本章做了較詳細的闡述,本節主要對如何提升磁盤的I/O速度做一簡單介紹。
在設計磁盤高速緩存時須要考慮的問題有:
(1) 如何將磁盤高速緩存中的數據傳送給請求進程;
(2) 採用什麼樣的置換策略;
(3) 已修改的盤塊數據在什麼時候被寫回磁盤。
1. 數據交付(Data Delivery)方式
若是I/O請求所須要的數據能從磁盤高速緩存中獲取,此時就須要將磁盤高速緩存中的數據傳送給請求進程。所謂的數據交付就是指將磁盤高速緩存中的數據傳送給請求者進程。系統能夠採起兩種方式將數據交付給請求進程:
(1) 數據交付
(2) 指針交付
2. 置換算法
如今很多系統在設計其高速緩存的置換算法時,除了考慮到最近最久未使用這一原則外,還考慮瞭如下幾點:
(1) 訪問頻率。
(2) 可預見性。
(3) 數據的一致性。
3. 週期性地寫回磁盤
還有一種狀況值得注意,那就是根據LRU算法,那些常常要被訪問的盤塊數據可能會一直保留在高速緩存中,長期不會被寫回磁盤。
能有效地提升磁盤I/O速度的方法還有許多,如提早讀、延遲寫等,現介紹以下:
1. 提早讀
2. 延遲寫
3. 優化物理塊的分佈
4. 虛擬盤
因爲訪問內存的速度遠高於訪問磁盤的速度,因而有人試圖利用內存空間去仿真磁盤,造成所謂虛擬盤,又稱爲RAM盤。該盤的設備驅動程序也能夠接受全部標準的磁盤操做,但這些操做的執行不是在磁盤上而是在內存中。這對用戶都是透明的。
1. 並行交叉存取
這是把在大、中型機中,用於提升訪問內存速度的並行交叉存取技術應用到磁盤存儲系統中,以提升對磁盤的I/O速度。在該系統中,有多臺磁盤驅動器,系統將每一盤塊中的數據分爲若干個子盤塊數據,再把每個子盤塊的數據分別存儲到各個不一樣磁盤中的相同位置上。之後當要將一個盤塊的數據傳送到內存時,採起並行傳輸方式,將各個盤塊中的子盤塊數據同時向內存中傳輸,從而使傳輸時間大大減小。
圖8-12 磁盤並行交叉存取方式
2. RAID的分級
RAID在剛被推出時,是分紅6級的,後來又增長了RAID 6級和RAID 7級。
(1) AID 0級。
(2) AID 1級。
(3) AID 3級。
(4) AID 5級。
(5) AID 6級和RAID 7級。
3. RAID的優勢
(1) 可靠性高,除了RAID 0級外,其他各級都採用了容錯技術。當陣列中某一磁盤損壞時,並不會形成數據的丟失。此時可根據其它未損壞磁盤中的信息來恢復已損壞的盤中的信息。其可靠性比單臺磁盤機高出一個數量級。
(2) 磁盤I/O速度高,因爲採起了並行交叉存取方式,可以使磁盤I/O速度提升N-1倍。
(3) 性能/價格比高,RAID的體積與具備相同容量和速度的大型磁盤系統相比,只是後者的1/3,價格也只是後者的1/3,且可靠性高。換言之,它僅以犧牲1/N的容量爲代價,換取了高可靠性。
第一級容錯技術(SFT-Ⅰ)是最基本的一種磁盤容錯技術,主要用於防止因磁盤表面缺陷所形成的數據丟失。它包含雙份目錄、雙份文件分配表及寫後讀校驗等措施。
1. 雙份目錄和雙份文件分配表
在磁盤上存放的文件目錄和文件分配表FAT,是文件管理所用的重要數據結構。爲了防止這些表格被破壞,可在不一樣的磁盤上或在磁盤的不一樣區域中分別創建(雙份)目錄表和FAT。其中一份爲主目錄及主FAT,另外一份爲備份目錄及備份FAT。一旦因爲磁盤表面缺陷而形成主文件目錄或主FAT的損壞時,系統便自動啓用備份文件目錄及備份FAT,從而能夠保證磁盤上的數據還是可訪問的。
2. 熱修復重定向和寫後讀校驗
因爲磁盤價格昂貴,在磁盤表面有少許缺陷的狀況下,則可採起某種補救措施後繼續使用。通常主要採起如下兩個補救措施:
(1) 熱修復重定向。
(2) 寫後讀校驗方式。
1. 磁盤鏡像(Disk Mirroring)
爲了不磁盤驅動器發生故障而丟失數據,便增設了磁盤鏡像功能。爲實現該功能,須在同一磁盤控制器下,再增設一個徹底相同的磁盤驅動器,如圖8-13所示。
2. 磁盤雙工(Disk Duplexing)
若是控制這兩臺磁盤驅動器的磁盤控制器發生故障,或主機到磁盤控制器之間的通道發生故障,磁盤鏡像功能便起不到數據保護的做用。所以,在第二級容錯技術中,又增長了磁盤雙工功能,即將兩臺磁盤驅動器分別接到兩個磁盤控制器上,一樣使這兩臺磁盤機鏡像成對,如圖8-14所示。
圖8-13 磁盤鏡像示意圖
圖8-14 磁盤雙工示意圖
1. 雙機熱備份模式
如圖8-15所示,在這種模式的系統中,備有兩臺服務器,二者的處理能力一般是徹底相同的,一臺做爲主服務器,另外一臺做爲備份服務器。
圖8-15 雙機熱備份模式
2. 雙機互爲備份模式
在雙機互爲備份模式中,平時,兩臺服務器均爲在線服務器,它們各自完成本身的任務,例如,一臺做爲數據庫服務器,另外一臺做爲電子郵件服務器。爲了實現二者互爲備份的功能,在兩臺服務器之間,應經過某種專線將其鏈接起來。若是但願兩臺服務器之間能相距較遠,最好利用FDDI單模光纖來鏈接兩臺服務器。在此狀況下,最好再經過路由器將兩臺服務器互連起來,做爲備份通訊線路。圖8-16示出了雙機互爲備份系統的狀況。
圖8-16 雙機互爲備份系統的示意圖
3. 公用磁盤模式
爲了減小信息複製的開銷,能夠將多臺計算機鏈接到一臺公共的磁盤系統上去。該公共磁盤被劃分爲若干個卷。每臺計算機使用一個卷。若是某臺計算機發生故障,此時系統將從新進行配置,根據某種調度策略來選擇另外一臺替代機器,後者對發生故障的機器的卷擁有全部權,從而可接替故障計算機所承擔的任務。這種模式的優勢是消除了信息的複製時間,於是減小了網絡和服務器的開銷。
1. 磁帶機
它是最先做爲計算機系統的外存儲器。但因爲它只適合存儲順序文件,故如今主要把它做爲後備設備。磁盤機的主要優勢是容量大,通常可達數GB至數十GB,且價格便宜,故在許多大、中型系統中都配置了磁帶機。其缺點是隻能順序存取且速度也較慢,爲數百KB到數MB,爲了將一個大容量磁盤上的數據拷貝到磁帶上,須要花費不少時間。
2. 硬盤
(1) 移動磁盤。
(2) 固定硬盤驅動器。
圖8-17 利用大容量硬盤兼作後備系統
3. 光盤驅動器
光盤驅動器是如今最流行的多媒體設備,可將它們分爲以下兩類:
(1) 只讀光盤驅動器CD-ROM和DVD-ROM。
(2) 可讀寫光盤驅動器。
在實際應用中,常常會在多個文件中都含有同一個數據。所謂數據一致性問題是指,保存在多個文件中的同一數據,在任何狀況下都必需能保證相同。
1. 事務的定義
事務是用於訪問和修改各類數據項的一個程序單位。事務也能夠被看作是一系列相關讀和寫操做。
2. 事務記錄(Transaction Record)
爲了實現上述的原子修改,一般須藉助於稱爲事務記錄的數據結構來實現。這些數據結構被放在一個很是可靠的存儲器(又稱穩定存儲器)中,用來記錄在事務運行時數據項修改的所有信息,故又稱爲運行記錄(Log)。
3. 恢復算法
因爲一組被事務Ti修改的數據以及它們被修改前和修改後的值都能在事務記錄表中找到,所以,利用事務記錄表系統能處理任何故障而不導致故障形成非易失性存儲器中信息的丟失。恢復算法可利用如下兩個過程:
(1) undo〈Ti〉。該過程把全部被事務Ti修改過的數據恢復爲修改前的值。
(2) redo〈Ti〉。該過程能把全部被事務Ti修改過的數據設置爲新值。
1. 檢查點(Check Points)的做用
如前所述,當系統發生故障時,必須去檢查整個Log表,以肯定哪些事務須要利用redo〈Ti〉過程去設置新值,而哪些事務又須要利用undo〈Ti〉過程去恢復數據的舊值。因爲在系統中可能存在着許多併發執行的事務,於是在事務記錄表中就會有許多事務執行操做的記錄。隨着時間的推移,記錄的數據也會越來越多。所以,一旦系統發生故障,在事務記錄表中的記錄清理起來就很是費時。
2. 新的恢復算法
在引入檢查點後,能夠大大減小恢復處理的開銷。由於在發生故障後,並不須要對事務記錄表中的全部事務記錄進行處理,而只需對最後一個檢查點以後的事務記錄進行處理。所以,恢復例程首先查找事務記錄表,肯定在最近檢查點之前開始執行的最後的事務Ti。在找到這樣的事務後,再返回去搜索事務記錄表,即可找到第一個檢查點記錄,恢復例程便從該檢查點開始返回搜索各個事務的記錄,並利用redo和undo過程對它們進行處理。
1. 利用互斥鎖實現「順序性」
實現順序性的一種最簡單的方法,是設置一種用於實現互斥的鎖,簡稱爲互斥鎖(Exclusive Lock)。在利用互斥鎖實現順序性時,應爲每個共享對象設置一把互斥鎖。當某一事務Ti要去訪問某對象時,應先得到該對象的互斥鎖。若成功,便用該鎖將該對象鎖住,因而事務T即可對該對象執行讀或寫操做;而其它事務因爲未能得到該鎖,於是不能訪問該對象。若是Ti須要對一批對象進行訪問,則爲了保證事務操做的原子性,Ti應先得到這一批對象的互斥鎖,以將這些對象所有鎖住。
2. 利用互斥鎖和共享鎖實現順序性
利用互斥鎖實現順序性的方法簡單易行。目前有很多系統都是採用這種方法來保證事務操做的順序性,但這卻存在着效率不高的問題。由於一個共享文件雖然只容許一個事務去寫,但卻容許多個事務同時去讀;而在利用互斥鎖來鎖住文件後,則只容許一個事務去讀。爲了提升運行效率而又引入了另外一種形式的鎖——共享鎖(Shared Lock)。共享鎖與互斥鎖的區別在於:互斥鎖僅容許一個事務對相應對象執行讀或寫操做,而共享鎖則容許多個事務對相應對象執行讀操做,但不容許其中任何一個事務對對象執行寫操做。
1. 重複文件的一致性
咱們以UNIX類型的文件系統爲例來講明如何保證重複文件的一致性問題。對於一般的UNIX文件目錄,其每一個目錄項中含有一個ASCII碼的文件名和一個索引結點號,後者指向一個索引結點。當有重複文件時,一個目錄項可由一個文件名和若干個索引結點號組成,每一個索引結點號都是指向各自的索引結點。圖8-18示出了UNIX類型的目錄和具備重複文件的目錄。
圖8-18 UNIX類型的目錄
2. 連接數一致性檢查
在UNIX類型的文件目錄中,其每一個目錄項內都含有一個索引結點號,用於指向該文件的索引結點。對於一個共享文件,其索引結點號會在目錄中出現屢次。
習 題 8:
1. 目前經常使用的外存有哪幾種組織方式?
2. 由連續組織方式所造成的順序文件的主要優缺點是什麼? 它主要應用於何種場合?
3. 在連接式文件中經常使用哪一種連接方式? 爲何?
4. 在文件分配表中爲何要引入「簇」的概念? 以「簇」爲基本的分配單位有什麼好處?
5. 簡要說明爲何要從FAT12發展爲FAT16? 又進一步要發展爲FAT32?
6. 試解釋邏輯簇號和虛擬簇號這兩個名詞,NTFS是如何將它們映射到文件的物理地址上的?
7. 在MS-DOS中有兩個文件A和B,A佔用十一、十二、16和14四個盤塊;B佔用1三、18和20三個盤塊。試畫出在文件A和B中各盤塊間的連接狀況及FAT的狀況。
8. TFS文件系統中的文件所採用的是什麼樣的物理結構?
9. 假定一個文件系統的組織方式與MS-DOS類似,在FAT中可有64 個指針,磁盤的盤塊大小爲512 ,試問該文件系統可否指引一個512 B的磁盤?
10. 爲了快速訪問,又易於更新,當數據爲如下形式時,應選用何種文件組織方式?
(1) 不常常更新,常常隨機訪問;
(2) 常常更新,常常按必定順序訪問;
(3) 常常更新,常常隨機訪問。
11. 在UNIX 中,若是一個盤塊的大小爲1 B,每一個盤塊號佔4 個字節,即每塊可放256個地址。請轉換下列文件的字節偏移量爲物理地址:
(1) 999;(2) 8000;(3) 20000。
12. 什麼是索引文件? 爲何要引入多級索引?
13. 試說明增量式索引組織方式。
14. 有一計算機系統利用圖8-19所示的位示圖來管理空閒盤塊。盤塊的大小爲1 B,現要爲某文件分配兩個盤塊,試說明盤塊的具體分配過程。
圖8-19 某計算機系統的位示圖
15. 某操做系統的磁盤文件空間共有500塊,若用字長爲32位的位示圖管理盤空間,試問:
(1) 位示圖需多少個字?
(2) 第i字第j位對應的塊號是多少?
(3) 給出申請/歸還一塊的工做流程。
16. 對空閒磁盤空間的管理常採用哪幾種分配方式? 在UNIX系統中是採用何種分配方式?
17. 可從哪幾方面來提升對文件的訪問速度?
18. 何謂磁盤高速緩存? 在設計磁盤高速緩存時須要考慮哪些問題?
19. 能夠採起哪幾種方式將磁盤高速緩存中的數據傳送給請求者進程?
20. 何謂提早讀和延遲寫?
21. 試說明廉價磁盤冗餘陣列RAID的主要優勢。
22. 在第一級系統容錯技術中,包括哪些容錯措施? 什麼是寫後讀校驗?
23. 在第二級系統容錯技術中,包括哪些容錯措施? 請畫圖說明之。
24. 具備容錯功能的集羣系統的主要工做模式有哪幾種? 請簡要說明之。
25. 爲何要在系統中配置後備系統? 目前經常使用作後備系統的設備有哪幾種?
26. 何謂事務? 如何保證事務的原子性?
27. 引入檢查點的目的是什麼? 引入檢查點後又如何進行恢復處理?
28. 爲什麼引入共享鎖? 如何用互斥鎖或共享鎖來實現事務的順序性?
29. 當系統中有重複文件時,如何保證它們的一致性?
30. 如何檢查盤塊號的一致性? 檢查時可能出現哪幾種
狀況?