1. 程式人生 > >硬碟基礎知識:磁頭 柱面 扇區理解

硬碟基礎知識:磁頭 柱面 扇區理解

By: Ailson Jack Date: 2018.11.11

1、基礎知識

整個硬碟上一般有很多的碟片組成,沿著碟片半徑的方向被劃分成了很多同心圓,這就是磁軌,每條磁軌由很多的扇形區域組成,叫做扇區(扇區是從磁碟讀出和寫入資訊的最小單位,通常大小為512位元組),不同碟片上的同半徑磁軌組成了柱面,這些都是磁碟物理上的概念,知道便可。有了這些概念,便可以計算磁碟的容量:

磁碟容量 = 磁頭數x磁軌(柱面)數x每道扇區數x每扇區位元組數

磁頭(head)數:每個碟片一般有上下兩面,分別對應1個磁頭,共2個磁頭,因此,用哪個磁頭就可以表示資料在哪個磁面;

磁軌(track)數:磁軌從碟片外圈往內圈編號0磁軌,1磁軌…,靠近主軸的同心圓用於停靠磁頭,不儲存資料;

柱面(cylinder)數:等於磁軌數量,所有磁片中半徑相同的同心磁軌構成“柱面",意思是這一系列的磁軌垂直疊在一起,就形成一個柱面的形狀。簡單地理解,柱面就是磁軌;

扇區(sector)數:每個磁軌都被切分成很多扇形區域,每個磁軌的扇區數量相同;

圓盤(platter)數:就是碟片的數量。

         磁碟的結構圖如下所示:

2、相對扇區號的計算

         3.5寸1.44M 軟盤,有兩個磁頭,正反兩面各一個;80個磁軌(即80個圓圈);每個磁軌有18個扇區;每個扇區為512位元組。

軟盤容量 = 512位元組/扇區 * 2面 * 80磁軌(柱面)/面 * 18扇區/磁軌 = 1440 KB

磁頭,即面:編號[0, 1]

80個磁軌,即柱面(圓圈):編號[0, 79]

18個扇區:編號[1, 18]

相對扇區號[0, 2879]:相對扇區號按照柱面排序,即從最外頭的圓圈到最裡頭的圓圈。

0柱面正面(即磁頭號為0)的1-18扇區為0-17號相對扇區,0柱面反面(即磁頭號為2)的1-18扇區為18-35號相對扇區,然後是1柱面,2柱面,直到79柱面。

(1)、知道柱面號,磁頭號,扇區號計算相對扇區號

由上面可知0號柱麵包含了相對扇區號[0,35],1號柱麵包含相對扇區號[36,71],依次類推。

設相對扇區號為N,則

柱面號CH = N / 36;

令x = N % 36;

則x範圍為[0,35],其中[0,17] 為磁頭號0, [18,35]為磁頭號1.

則磁頭號DH = x / 18;

令y = x % 18; y範圍[0, 17]

則扇區號CL = y + 1。

相對扇區號:N = 36*CH + 18*DH + CL。

(2)、知道相對扇區號,計算柱面號、磁頭號、扇區號

N = 36*CH + 18*DH + CL;

由此式子,也可計算:

CH = N / 36

DH = (N % 36) / 18

CL = (N % 36) % 18 + 1

3、硬碟上的引導資訊

硬碟的第一個扇區被稱之為Boot Sector。由MBR (MasterBoot Record)、DPT (Disk Partition Table) 和 Boot Record ID 三部分組成。

MBR又稱作主引導記錄,佔用 Boot Sector 的前 446 個位元組(0 ~ 0x1BD)。存放系統主載入程式,負責從活動分割槽中裝載並執行系統載入程式。

DPT 即主分割槽表,佔用 64 個位元組 (0x1BE ~ 0x1FD),記錄了磁碟的基本分割槽資訊。主分割槽表分為四個分割槽項,每項 16 位元組,分別記錄了每個主分割槽的資訊 (因此最多可以有 4 個主分割槽)。

Boot Record ID 即引導區標記,佔用兩個位元組 (0x1FE ~ 0x1FF)。對於合法引導區,它等於 0xAA55,這是判別引導區是否合法的標誌。