磁碟儲存空間的管理
對檔案的操作,都將涉及到對磁碟的訪問。磁碟I/O速度的高低和磁碟系統的可靠性,都將直接影響到系統效能。
1.資料的組織和格式:
碟片----盤面----磁軌----扇區。
低級格式化----磁碟分割----進階格式化
注意:每個分區就是一個獨立的邏輯磁碟。
2.磁碟的類型:
1)固定頭磁碟:在每條磁軌上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁軌,並進行並行讀/寫,有效地提高了磁碟的I/O速度。
2)移動頭磁碟:每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁軌,該磁頭必須能移動以進行尋道。可見,移動磁頭僅能以串列方式讀/寫,致使其I/O速度較慢。
3.磁碟存取時間
1)尋道時間Ts:把磁頭移動到指定磁軌上所經曆的時間。為啟動磁臂的時間s與磁頭移動n條磁軌所花費的時間之和,即Ts=m*n+s。其中,m是一個常數,與磁碟機的速度有關。
2)旋轉延遲時間Tr:是指定扇區移動到磁頭下面所經曆的時間。不同的磁碟類型中,旋轉速度至少相差一個數量級。Tr=1/(2r),其中r為磁碟每秒鐘的轉數。
3)傳輸時間Tt:是指把資料從磁碟讀出或向磁碟寫入資料所經曆的時間。Tt的大小與每次所讀/寫的位元組數b和旋轉速度有關。Tt=b/(rN),其中,r為磁碟每秒鐘的轉數;N為一條磁軌上的位元組數,當一次讀/寫的位元組數相當於半條磁軌上的位元組數時,Tt與Tr相同。
因此,訪問時間Ta為Ta=Ts+Tr+Tt。
4.磁碟調度
由於在訪問磁碟的時間中,主要是尋道時間,因此,磁碟調度的目標是使磁碟的平均尋道時間最少。目前常用的磁碟調度演算法有先來先服務、最短尋道時間優先及掃描等演算法。
1)先來先服務(FCFS):它根據進程請求訪問磁碟的先後次序進行調度。此演算法的優點是公平、簡單,且每個進程的請求都能依次地得到處理,不會出現某一個進程的請求長期得不到滿足的情況。
2)最短尋道時間優先(SSTF):其要求訪問的磁軌與當前磁頭所在的磁軌距離最近,以使每次的尋道時間最短。
3)SCAN演算法:該演算法不僅考慮到欲訪問的磁軌與當前磁軌間的距離,更優先考慮的是磁頭當前的移動方向。例如,當磁頭正在自裡向外移動時,SCAN演算法所考慮的下一個訪問對象,應是其欲訪問的磁軌既在當前磁軌之外,又是距離最近的。這樣自裡向外地訪問,直至再無更外的磁軌需要訪問時,才將磁臂換向為自外向裡移動。
4)迴圈掃描演算法(CSCAN):CSCAN演算法規定磁頭單向移動,例如,只是自裡向外移動,當磁頭移到最外的磁軌並訪問後,磁頭立即返回到最裡德欲訪問的磁軌上,亦將最小磁軌號緊接著最大磁軌號構成迴圈,進行迴圈掃描。
5)NStepSCAN演算法:N步SCAN演算法是將磁碟請求隊列分成若干個長度為N的子隊列,磁碟調度將按FCFS演算法依次處理這些子隊列。而每處理一個子隊列又是按SCAN演算法,對一個隊列處理完後,再處理其他隊列。當正在處理某子隊列時,如果又出現新的磁碟I/O請求,便將新請求進程放入其他隊列,這樣就可能避免粘著現象。
6)FSCAN演算法:只將磁碟請求隊列分成兩個子隊列。一個是由當前所有請求磁碟I/O的進程形成的隊列,由磁碟調度按SCAN演算法進行處理。在掃描期間,將新出現的所有請求磁碟I/O的進程,放入另一個等待處理的請求隊列。
5.磁碟快取
1)形式:指利用記憶體中的儲存空間來暫存從磁碟中讀出的一系列盤塊中的資訊。
2)資料交付方式:
資料交付:這是直接將快取中的資料,傳送到要求者進程的記憶體中作區中。
指標交付:這是只將指向快取中某地區的指標交付給要求者進程。
6.提高磁碟I/O速度的其它方法
1)提前讀
2)延遲寫
3)最佳化物理塊的分布
4)虛擬盤
7.廉價磁碟冗餘陣列(RAID):它是利用一台磁碟陣列控制器,來統一管理和控制一組(幾台到幾十台)磁碟機,組成一個高度可靠的、快速的大容量磁碟系統。
為了提高對磁碟的方位速度,已把在大、中型機中應用的交叉存取技術應用到了磁碟儲存系統中。在該系統中,有多台磁碟機,系統將每一盤塊中的資料分為若干個子盤塊資料,再把每一個子盤塊的資料分別儲存到各個不同磁碟中的相同位置上。在以後,當要將一個盤塊中的資料傳送到記憶體時,採取並行傳輸方式,將各個盤塊中的子盤塊資料同時向記憶體中傳輸,從而使傳輸時間大大減少。
RAID的分級:RAID 0~RAID 7
RAID 0:僅提供了並行交叉存取,無冗餘校正功能,致使磁碟系統的可靠性不好。
RAID 1:具有磁碟鏡像功能。用磁碟容量換取訪問速度。
RAID 3:具有並行傳輸功能的磁碟陣列。利用一台同位盤來完成資料的校正功能。減少了所需要的冗餘磁碟數。用於科學計算和影像處理。
RAID 5:一種具有獨立傳送功能的磁碟陣列。每個磁碟機都各有自己獨立的資料通路,獨立的進行讀/寫,且無專門的校正盤。用來進行錯誤修正的校正資訊,是以螺旋方式散布在所有資料盤上。用於I/O較頻繁的交易處理中。