裝置管理學習之磁碟管理(1)

2022-07-22 19:09:08 字數 2483 閱讀 6391

磁碟管理包括磁碟排程演算法、磁碟快取記憶體、raid技術。

首先學習磁碟的結構

如圖所示:磁碟由多個碟片組成,每個碟片有兩個盤面,每個碟片都有兩個磁頭,統一由磁頭臂控制。碟片上的儲存區域被分為磁軌,每個磁軌上又分多個扇區。如圖,每個扇區的大小事512位元組,所以扇區也是資料儲存和傳輸的基本單位。

按磁頭的工作方式,可以分為活動頭磁碟和固定頭磁碟。

1.活動頭磁碟

活動頭磁碟乙個盤面上僅配有乙個磁頭,所有磁頭都安裝在乙個傳動臂上,在訪問盤面上的磁軌時,傳動臂在步進電機的控制下,可在整個盤面上從外向內,或從內向外移動,這稱為尋道。活動頭磁碟只能進行序列讀/寫,導致i/o速度較饅,但是由於結構簡單,仍廣泛用於中、小型磁碟裝置中。微機上配置的溫盤和軟盤,都採用活動磁頭結構,這裡我們主要針對這類磁碟的i/o進行討論。

2.固定頭磁碟

固定頭磁碟在每條磁軌上都有乙個讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中,通過這些磁頭可訪問所有的磁軌,可以進行並行讀/寫操作,有效地提高了磁碟的i/o速度。這種結構的磁碟主要用於大容量磁碟上。

所有盤面上的同一磁軌構成乙個圓柱,通常稱做柱面(cylinder),柱面號和磁軌號是一致的,資料的讀/寫按柱面進行,即磁頭讀/寫資料時首先在同一柱面內從「0」磁頭開始進行操作,依次向下在同一柱面的不同盤面即磁頭上進行操作,只在同一柱面所有的磁頭全部讀/寫完畢後磁頭才轉移到下一柱面,因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換。電子切換相當快,比在機械上磁頭向鄰近磁軌移動快得多,所以,資料的讀/寫按柱面進行,而不按盤面進行。這樣就比單獨讀寫盤面提高了硬碟的讀/寫效率。

硬碟的容量由盤面數(磁頭數)、柱面數和扇區數決定,其計算公式為:

硬碟容量=盤面數×柱面數×扇區數×512位元組

硬碟容量=盤面數*磁軌數*扇區數*512

影響磁碟效能的指標有轉速、尋道時間、磁碟快取、資料傳輸速率。其中影響資料查詢的的主要因素是尋道時間,因此,磁碟排程演算法主要是減少平均尋道時間,提高i\o傳輸的效率。

磁碟的排程演算法:

磁碟是可被多個程序共享的裝置。當有多個程序都請求訪問磁碟時,應採用一種適當的排程演算法,以減小各程序對磁碟的平均訪問(主要是尋道)時間。目前常用的磁碟排程演算法有:先來先服務、最短尋道時間優先、掃瞄演算法和迴圈掃瞄演算法等。

1.先來先服務fcfs(first come first served)演算法

這是一種最簡單的磁碟排程演算法。它根據程序請求訪問磁碟的先後次序進行排程。此演算法的優點是公平、簡單,且每個程序的請求都能依次得到處理,不會出現某一程序的請求長期得不到滿足的情況。但此演算法由於未對尋道進行優化,致使平均尋道時間可能較長。

2.最短尋道時間優先sstf(shortest seek time first)演算法

該演算法總是為那些與當前磁頭所在的磁軌距離最近請求服務,也就是執行尋道時間最短的那個i/o請求。這種排程演算法有較好的平均尋道時間,sstf較之 fcfs有較好的尋道效能,故曾被廣泛採用。

3.掃瞄(scan)演算法

sstf演算法雖然獲得較好的尋道效能,但它可能導致某些程序長時間的得不到服務(稱之為飢餓現象)。因為只要不斷有新程序到達,且其所要訪問的磁軌與磁頭當前所在磁軌的距離較近,這種新程序的i/o請求必被優先滿足。對 sstf演算法略加修改後所形成了scan演算法。

該演算法不僅考慮到欲訪問的磁軌與當前磁軌的距離,更優先考慮的是磁頭的當前移動方向。即當磁頭正在自里向外運動時,scan演算法要選擇的下乙個訪問物件是其欲訪問的磁軌在當前磁軌之外,又是距離最近的。直至再無更外的磁軌需要訪問時,才將磁臂換向,自外向裡運動。從而避免了飢餓現象的出現。由於這種演算法中磁頭移動的規律象電梯的執行,所以又稱為電梯排程演算法。

4.迴圈掃瞄 cscan(circular scan)演算法

這是scan演算法的一種變種演算法,是為了提供更均勻的等待時間而設計的。cscan演算法規定磁頭只能單向運動(自里向外),當磁頭運動到最外面的被訪問磁軌時,磁頭立即返回到最裡面的欲訪的磁軌,即將最小磁軌號緊接著最大磁軌號構成迴圈,進行掃瞄。

5.n-step-scan演算法

在sstf、scan及cscan這幾種演算法中,都可能出現磁臂停留在某處不動的情況。例如,有乙個或幾個程序對某一磁軌有著較高的訪問頻率,反覆請求對某一磁軌進行i/o,從而壟斷了整個磁碟裝置,把這一現象稱為「磁臂粘著」。n步scan演算法是將磁碟請求佇列分成若干個長度為n的子佇列,磁碟排程將按fcfs演算法依次處理這些子佇列,又按scan演算法處理佇列中的每乙個請求,這樣就可避免出現粘著現象。當 n值取得很大時,會使其效能接近於scan演算法;當 n=1時, 該演算法退化為 fcfs演算法。

6. fscan演算法

fscan演算法實質上是n-step-scan演算法的簡化。它只將磁碟請求訪問佇列分成兩個子佇列。乙個是當前所有請求磁碟i/o的程序佇列,由磁碟排程按scan演算法進行處理。另乙個佇列則是在掃瞄期間,新出現的所有請求磁碟i/o的程序佇列,這樣所有的新請求都將被推遲到下一次掃瞄時處理。

裝置管理學習之裝置分配

為了使系統能夠安全高效地工作,系統在進行裝置分配時應考慮的因素有 裝置的固有屬性 裝置的分配演算法 裝置分配的安全性。1 根據裝置的固有屬性而採取的策略 在分配裝置時,首先應考慮裝置的屬性。根據裝置的固有屬性採取以下三種策略 1 獨享方式 獨享方式是指將乙個裝置分配給某程序後,便一直由它獨佔,直至該...

員工管理 (學習筆記) 1

managing people paul evans 作為管理者,一般用 60 90 時間在和人打交道。管理就是如何命令人的學問。如果不會管理人員,就沒有足夠的時間進行本職工作,管理公司 開發新產品 站在競爭前列。人力資源管理不是人道主義的問題。是商務管理的一部分。專業的人力資源管理,現在比以前更重...

專案管理學習思考1

專案管理的人員 專案小組內部,小組外部但是同機構人員,客戶 不同的人都有不同的目標,如何才能協調這些不同人的不同的目標呢?專案的領導者必須去協調這些人員的目標,讓大家為了共同的目的而工作.所以領導者必須第一步做到要查詢所有的專案干係人,去了解專案干係人的角色,從資訊的角度來考慮,專案的領導在遇到專案...