磁盤是一個扁平的圓盤(與電唱機的唱片類似)。盤面上有許多稱為磁道的圓圈,資料就記錄在這些磁道上。磁盤可以是單片的,也可以是由若幹盤片組成的盤組,每一盤片上有兩個面。如下圖11.3中所示的6片盤組為例,除去最頂端和最底端的外側面不存儲資料之外,一共有10個面可以用來儲存資訊。

當磁盤驅動器執行讀/寫功能時。盤片裝在一個主軸上,并繞主軸高速旋轉,當磁道在讀/寫頭(又叫磁頭) 下通過時,就可以進行資料的讀 / 寫了。一般磁盤分為固定頭盤(磁頭固定)和活動頭盤。固定頭盤的每一個磁道上都有獨立的磁頭,它是固定不動的,專門負責這一磁道上資料的讀/寫。活動頭盤 (如上圖)的磁頭是可移動的。每一個盤面上隻有一個磁頭(磁頭是雙向的,是以正反盤面都能讀寫)。它可以從該面的一個磁道移動到另一個磁道。所有磁頭都裝在同一個動臂上,是以不同盤面上的所有磁頭都是同時移動的(行動整齊劃一)。當盤片繞主軸旋轉的時候,磁頭與旋轉的盤片形成一個圓柱體。各個盤面上半徑相同的磁道組成了一個圓柱面,我們稱為柱面 。是以,柱面的個數也就是盤面上的磁道數。
磁盤上資料必須用一個三維位址唯一标示:盤面号、柱面号、塊号(磁道上的盤塊)。
讀/寫磁盤上某一指定資料需要下面3個步驟:
(1) 首先移動臂根據柱面号使磁頭移動到所需要的柱面上,這一過程被稱為定位或查找 。
(2) 如上圖11.3中所示的6盤組示意圖中,所有磁頭都定位到了10個盤面的10條磁道上(磁頭都是雙向的)。這時根據盤面号來确定指定盤面上的磁道。
(3) 盤面确定以後,盤片開始旋轉,将指定塊号的磁道段移動至磁頭下。
經過上面三個步驟,指定資料的存儲位置就被找到。這時就可以開始讀/寫操作了。
通路某一具體資訊,由3部分時間組成:
(1)查找時間(seek time) Ts: 完成上述步驟(1)所需要的時間。這部分時間代價最高,最大可達到0.1s左右。
(2)等待時間(latency time) Tl: 完成上述步驟(3)所需要的時間。由于盤片繞主軸旋轉速度很快,一般為7200轉/分(電腦硬碟的性能名額之一, 家用的普通硬碟的轉速一般有5400rpm(筆記本)、7200rpm幾種)。是以一般旋轉一圈大約0.0083s。
(3)傳輸時間(transmission time) Tt: 資料通過系統總線傳送到記憶體的時間,一般傳輸一個位元組(byte)大概0.02us=2*10^(-8)s
磁盤讀取資料是以盤塊(block)為基本機關的。位于同一盤塊中的所有資料都能被一次性全部讀取出來。而磁盤IO代價主要花費在查找時間Ts上。是以我們應該盡量将相關資訊存放在同一盤塊,同一磁道中。或者至少放在同一柱面或相鄰柱面上,以求在讀/寫資訊時盡量減少磁頭來回移動的次數,避免過多的查找時間Ts。