硬盤基本知識
硬盤的dos管理結構
1.磁道,扇區(qū),柱面和磁頭數(shù)
硬盤最基本的組成部分是由堅硬金屬材料制成的涂以磁性介質(zhì)的盤片,不同容量硬盤的盤片數(shù)不等。每個盤片有兩面,都可
記錄信息。盤片被分成許多扇形的區(qū)域,每個區(qū)域叫一個扇區(qū),每個扇區(qū)可存儲128×2的n次方(n=0.1.2.3)字節(jié)信息。在dos
中每扇區(qū)是128×2的2次方=512字節(jié),盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑
的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用,我們知道,每個磁
盤有兩個面,每個面都有一個磁頭,習慣用磁頭號來區(qū)分。扇區(qū),磁道(或柱面)和磁頭數(shù)構成了硬盤結構的基本參數(shù),幫這些
參數(shù)可以得到硬盤的容量,基計算公式為:
存儲容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù)
要點:(1)硬盤有數(shù)個盤片,每盤片兩個面,每個面一個磁頭
(2)盤片被劃分為多個扇形區(qū)域即扇區(qū)
(3)同一盤片不同半徑的同心圓為磁道
(4)不同盤片相同半徑構成的圓柱面即柱面
(5)公式: 存儲容量=磁頭數(shù)×磁道(柱面)數(shù)×每道扇區(qū)數(shù)×每扇區(qū)字節(jié)數(shù)
(6)信息記錄可表示為:××磁道(柱面),××磁頭,××扇區(qū)
2.簇
“簇”是dos進行分配的最小單位。當創(chuàng)建一個很小的文件時,如是一個字節(jié),則它在磁盤上并不是只占一個字節(jié)的空間,
而是占有整個一簇。dos視不同的存儲介質(zhì)(如軟盤,硬盤),不同容量的硬盤,簇的大小也不一樣。簇的大小可在稱為磁盤
參數(shù)塊(bpb)中獲取。簇的概念僅適用于數(shù)據(jù)區(qū)。
本點:(1)“簇”是dos進行分配的最小單位。
(2)不同的存儲介質(zhì),不同容量的硬盤,不同的dos版本,簇的大小也不一樣。
(3)簇的概念僅適用于數(shù)據(jù)區(qū)。
3.扇區(qū)編號定義:絕對扇區(qū)與dos扇區(qū)
由前面介紹可知,我們可以用柱面/磁頭/扇區(qū)來唯一定位磁盤上每一個區(qū)域,或是說柱面/磁頭/扇區(qū)與磁盤上每一個扇區(qū)有
一一對應關系,通常dos將“柱面/磁頭/扇區(qū)”這樣表示法稱為“絕對扇區(qū)”表示法。但dos不能直接使用絕對扇區(qū)進行磁盤上的
信息管理,而是用所謂“相對扇區(qū)”或“dos扇區(qū)”。“相對扇區(qū)”只是一個數(shù)字,如柱面140,磁頭3,扇區(qū)4對應的相對扇區(qū)號
為2757。該數(shù)字與絕對扇區(qū)“柱面/磁頭/扇區(qū)”具有一一對應關系。當使用相對扇區(qū)編號時,dos是從柱面0,磁頭1,扇區(qū)1開始
(注:柱面0,磁頭0,扇區(qū)1沒有dos扇區(qū)編號,dos下不能訪問,只能調(diào)用bios訪問),第一個dos扇區(qū)編號為0,該磁道上剩余
的扇區(qū)編號為1到16(設每磁道17個扇區(qū)),然后是磁頭號為2,柱面為0的17個扇區(qū),形成的dos扇區(qū)號從17到33。直到該柱面的
所有磁頭。然后再移到柱面1,磁頭1,扇區(qū)1繼續(xù)進行dos扇區(qū)的編號,即按扇區(qū)號,磁頭號,柱面號(磁道號)增長的順序連續(xù)
地分配dos扇區(qū)號。
公式:記dh--第一個dos扇區(qū)的磁頭號
dc--第一個dos扇區(qū)的柱面號
ds--第一個dos扇區(qū)的扇區(qū)號
ns--每磁道扇區(qū)數(shù)
nh--磁盤總的磁頭數(shù)
則某扇區(qū)(柱面c,磁頭h,扇區(qū)s)的相對扇區(qū)號rs為:
rs=nh×ns×(c-dc)+ns×(h-dh)+(s-ds)
若已知rs,dc,dh,ds,ns和nh則
s=(rs mod ns)+ds
h=((rs div ns)mod nh)+dh
c=((rs div ns)div nh)+dc
要點:(1)以柱面/磁頭/扇區(qū)表示的為絕對扇區(qū)又稱物理磁盤地址
(2)單一數(shù)字表示的為相對扇區(qū)或dos扇區(qū),又稱邏輯扇區(qū)號
(3)相對扇區(qū)與絕對扇區(qū)的轉(zhuǎn)換公式
4.dos磁盤區(qū)域的劃分
格式化好的硬盤,整個磁盤按所記錄數(shù)據(jù)的作用不同可分為主引導記錄(mbr:main boot record),dos引導記錄(dbros
boot record),文件分配表(fat:file assign table),根目錄(bd:boot directory)和數(shù)據(jù)區(qū)。前5個重要信息在磁盤的外
磁道上,原因是外圈周長總大于內(nèi)圈周長,也即外圈存儲密度要小些,可傷心性高些。
要點:(1)整個硬盤可分為mbr,dbr,fat,bd和數(shù)據(jù)區(qū)。
(2)mbr,dbr,fat,和bd位于磁盤外道。
5.mbr
mbr位于硬盤第一個物理扇區(qū)(絕對扇區(qū))柱面0,磁頭0,扇區(qū)1處。由于dos是由柱面0,磁頭1,扇區(qū)1開始,故mbr不屬于
dos扇區(qū),dos不能直接訪問。mbr中包含硬盤的主引導程序和硬盤分區(qū)表。分區(qū)表有4個分區(qū)記錄區(qū)。記錄區(qū)就是記錄有關分區(qū)信
息的一張表。它從主引導記錄偏移地址01beh處連續(xù)存放,每個分區(qū)記錄區(qū)占16個字節(jié)。
分區(qū)表的格式
分區(qū)表項的偏移 意義 占用字節(jié)數(shù)
00 引導指示符 1b
01 分區(qū)引導記錄的磁頭號 1b
02 分區(qū)引導記錄的扇區(qū)和柱面號 2b
04 系統(tǒng)指示符 1b
05 分區(qū)結束磁頭號 1b
06 分區(qū)結束扇區(qū)和柱面號 2b
08 分區(qū)前面的扇區(qū)數(shù) 4b
0c 分區(qū)中總的扇區(qū)數(shù) 4b
4個分區(qū)中只能有1個活躍分區(qū),即c盤。標志符是80h在分區(qū)表的第一個字節(jié)處。若是00h則表示非活躍分區(qū)。例如:
80 01 01 00 0b fe 3f 81 3f 00 00 00 c3 dd 1f 00
00 00 01 82 05 fe bf 0c 02 de 1f 00 0e 90 61 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
要點:(1)mbr位于硬盤第一個物理扇區(qū)柱面0,磁頭0,扇區(qū)1處。不屬于dos扇區(qū),
(2)主引導記錄分為硬盤的主引導程序和硬盤分區(qū)表。
6.dbr
dbr位于柱面0,磁頭1,扇區(qū)1,即邏輯扇區(qū)0。dbr分為兩部分:dos引導程序和bpb(bios參數(shù)塊)。其中dos引導程序完成
dos系統(tǒng)文件(io.sys,msdos.sys)的定位與裝載,而bpb用來描述本dos分區(qū)的磁盤信息,bpb位于dbr偏移0bh處,共13字節(jié)。
它包含邏輯格式化時使用的參數(shù),可供dos計算磁盤上的文件分配表,目錄區(qū)和數(shù)據(jù)區(qū)的起始地址,bpb之后三個字提供物理格
式化(低格)時采用的一些參數(shù)。引導程序或設備驅(qū)動程序根據(jù)這些信息將磁盤邏輯地址(dos扇區(qū)號)轉(zhuǎn)換成物理地址(絕對
扇區(qū)號)。bpb格式
序號 偏移地址 意義
1 03h-0ah oem號
2 0bh-0ch 每扇區(qū)字節(jié)數(shù)
3 0dh 每簇扇區(qū)數(shù)
4 0eh-0fh 保留扇區(qū)數(shù)
5 10h fat備份數(shù)
6 11h-12h 根目錄項數(shù)
7 13h-14h 磁盤總扇區(qū)數(shù)
8 15h 描述介質(zhì)
9 16h-17h 每fat扇區(qū)數(shù)
10 18h-19h 每磁道扇區(qū)數(shù)
11 1ah-1bh 磁頭數(shù)
12 1ch-1fh 特殊隱含扇區(qū)數(shù)
13 20h-23h 總扇區(qū)數(shù)
14 24h-25h 物理驅(qū)動器數(shù)
15 26h 擴展引導簽證
16 27h-2ah 卷系列號
17 2bh-35h 卷標號
18 36h-3dh 文件系統(tǒng)號
dos引導記錄公式:
文件分配表≡保留扇區(qū)數(shù)
根目錄≡保留扇區(qū)數(shù)+fat的個數(shù)×每個fat的扇區(qū)數(shù)
數(shù)據(jù)區(qū)≡根目錄邏輯扇區(qū)號+(32×根目錄中目錄項數(shù)+(每扇區(qū)字節(jié)數(shù)-1))div每扇區(qū)字節(jié)數(shù)
絕對扇區(qū)號≡邏輯扇區(qū)號+隱含扇區(qū)數(shù)
扇區(qū)號≡(絕對扇區(qū)號mod每磁道扇區(qū)數(shù))+1
磁頭號≡(絕對扇區(qū)號div每磁道扇區(qū)數(shù))mod磁頭數(shù)
磁道號≡(絕對扇區(qū)號div每磁道扇區(qū)數(shù))div磁頭數(shù)
要點:(1)dbr位于柱面0,磁頭1,扇區(qū)1,其邏輯扇區(qū)號為0
(2)dbr包含dos引導程序和bpb。
(3)bpb十分重要,由此可算出邏輯地址與物理地址。
7.文件分配表
文件分配表是dos文件組織結構的主要組成部分。我們知道dos進行分配的最基本單位是簇。文件分配表是反映硬盤上所
有簇的使用情況,通過查文件分配表可以得知任一簇的使用情況。dos在給一個文件分配空間時總先掃描fat,找到第一個可
用簇,將該空間分配給文件,并將該簇的簇號填到目錄的相應段內(nèi)。即形成了“簇號鏈”。fat就是記錄文件簇號的一張表。
fat的頭兩個域為保留域,對fat12來說是3個字節(jié),fat來說是4個字節(jié)。其中頭一個字節(jié)是用來描述介質(zhì)的,其余字節(jié)為ffh
。介質(zhì)格式與bpb相同。
第一個字節(jié)的8位意義:
7 6 5 4 3 2 1 0
└─────-┘ │ │ │┌0非雙面
置1 │ │ └┤
│ │ └1雙面
│ │┌0不是8扇區(qū)
│ └┤
│ └1是8扇區(qū)
│┌0不是可換的
└┤
└1是可換的
fat結構含義
fat12 fat16 意義
000h 0000h 可用
ff0h-ff6h fff0h-fff6h 保留
ff7h fff7h 壞
ff8h-fffh fff8h-ffffh 文件最后一個簇
×××h ××××h 文件下一個簇
對于fat16,簇號×2作偏移地址,從fat中取出一字即為fat中的域。
邏輯扇區(qū)號=數(shù)據(jù)區(qū)起始邏輯扇區(qū)號+(簇號-2)×每簇扇區(qū)數(shù)
簇號=(邏輯扇區(qū)號-數(shù)據(jù)區(qū)起始邏輯扇區(qū)號)div每簇扇區(qū)數(shù)+2
要點:(1)fat反映硬盤上所有簇的使用情況,它記錄了文件在硬盤中具體位置(簇)。
(2)文件第一個簇號(在目錄表中)和fat的該文件的簇號串起來形成文件的“簇號鏈”,恢復被破壞的文件就是根
據(jù)這條鏈。
(3)由簇號可算邏輯扇區(qū)號,反之,由邏輯扇區(qū)號也可以算出簇號,公式如上。
(4)fat位于dbr之后,其dos扇區(qū)號從1開始。
8.文件目錄
文件目錄是dos文件組織結構的又一重要組成部分。文件目錄分為兩類:根目錄,子目錄。根目錄有一個,子目錄可以有
多個。子目錄下還可以有子目錄,從而形成“樹狀”的文件目錄結構。
新聞熱點
疑難解答
圖片精選