磁碟是計算機系統中最重要的儲存裝置,其中含有絕大部分檔案。對檔案的操作直接涉及到磁碟的訪問,磁碟io的速度效率和可靠性將直接影響系統的效能。因此,好的磁碟排程演算法、優越的冗餘技術,都是提高磁碟系統效能的切入點。
磁碟排程演算法
1.先來先服務:按照程序訪問磁碟的先後順序進行排程。
優點:公平、簡單
缺點:效率低,平均尋道時間較長
2.最短尋道時間優先:要求訪問磁軌與當前磁頭的磁軌距離最近。
優點:相比於先來先服務,明顯減少平均尋道長度
缺點:磁頭可能在乙個小的範圍內一直尋到,造成遠處請求不滿足而飢餓
3.掃瞄演算法:又稱電梯排程演算法,像電梯一樣上下連續來回尋道
優點:避免了「飢餓」現象
缺點:對於剛剛經過的磁軌又來了新的請求,再次訪問要最多等2個磁軌長度
4.迴圈掃瞄演算法:磁頭單向移動,其餘和掃瞄演算法一樣
優點:解決了可能的錯過型請求的雙倍延遲
缺點:浪費乙個磁頭的移動次數,什麼都沒做
5.nstepscan演算法:磁碟請求分成n個佇列,佇列間用先來先服務處理,佇列內用掃瞄演算法處理
優點:避免新請求帶來的粘著問題
缺點:n值很大時,接近於掃瞄演算法;n=1時,就是先來先服務
6.fscan演算法:磁碟請求只分成兩個佇列,乙個是當前請求佇列,乙個是未來請求佇列,當前佇列按照掃瞄演算法處理,當前佇列處理完就處理另乙個,此時另乙個為當前佇列,已經處理完的是未來請求佇列
優點:簡化nstepscan演算法
缺點:所有新來的請求都在下次掃瞄時再處理,對於緊急的高優先順序的請求也要放到下次
提高磁碟io速度
一、磁碟快取記憶體
在記憶體中開闢一塊單獨或和頁面記憶體共享一塊記憶體區用來快取一部分磁碟區域。
1.資料交付方式
2.置換演算法
3.週期性寫回磁碟:lru演算法
二、預讀資料
對於順序讀取的檔案,可以提前將要讀取的資料取出儲存在快取中,減少io次數。
三、延遲寫入
利用磁碟快取,將快取看成貨櫃,資料線寫入快取,快取滿後,整體送到磁碟。若檔案足夠小,能直接寫入快取,則直接先寫入快取,然後程序返回,由快取和磁碟慢慢互動。
四、優化物理塊分布
以簇為單位分配磁碟空間,可以減少磁頭移動距離。
五、虛擬盤
虛擬化技術產生的記憶體盤,將記憶體虛擬化為一塊磁碟。
廉價磁碟冗餘陣列(raid)
1.並行交叉訪問
有多個磁碟時,將一塊資料分成若干份存放在不同的磁碟上的相同位置上,讀取時,多個磁碟同時工作輸出,產生巨大吞吐量的同時,提高輸出速度。
2.raid等級
3.raid的優點
I O管理和磁碟排程
執行i o的三種技術 1 可程式設計i o 處理器代表乙個程序給i o模組傳送乙個i o命令 該程序進入忙等待,直到操作完成才可以繼續執行。2 中斷驅動i o 處理器代表程序向i o模組發出乙個i o命令。有兩種可能性 如果來自程序的i o指令是非阻塞的,那麼處理器繼續執行發出i o命令的程序的後續...
磁碟排程演算法
磁碟排程在多道程式設計的計算機系統中,各個程序可能會不斷提出不同的對磁碟進行讀 寫操作的請求。由於有時候這些程序的傳送請求的速度比磁碟響應的還要快,因此我們有必要為每個磁碟裝置建立乙個等待佇列,常用的磁碟排程演算法有以下四種 先來先服務演算法 fcfs 最短尋道時間優先演算法 sstf 掃瞄演算法 ...
磁碟排程演算法
一次磁碟讀寫操作的時間由尋找 尋道 時間 延遲時間和傳輸時間決定 1 尋找時間ts 活動頭磁碟在讀寫資訊前,將磁頭移動到指定磁軌所需要的時間。這個時間除跨越n條磁軌的時間外,還包括啟動磁臂的時間s,即 ts m n s。式中,m是與磁碟驅動器速度有關的常數,約為0.2ms,磁臂的啟動時間約為2ms。...