
硬盤的DOS管理結構1.磁道,扇區,柱面和磁頭數 硬盤最基本的組成部分是由堅硬金屬材料制成的涂以磁性介質的盤片,不同容量硬盤的盤片數不等。每個盤片有兩面,都可記錄信息。盤片被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可存儲128×2的N次方(N=0.1.2.3)字節信息。在DOS中每扇區是128×2的2次方=512字節,盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用,我們知道,每個磁盤有兩個面,每個面都有一個磁頭,習慣用磁頭號來區分。扇區,磁道(或柱面)和磁頭數構成了硬盤結構的基本參數,幫這些參數可以得到硬盤的容量,基計算公式為:存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數要點:(1)硬盤有數個盤片,每盤片兩個面,每個面一個磁頭 (2)盤片被劃分為多個扇形區域即扇區 (3)同一盤片不同半徑的同心圓為磁道 (4)不同盤片相同半徑構成的圓柱面即柱面 (5)公式: 存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數 (6)信息記錄可表示為:××磁道(柱面),××磁頭,××扇區2.簇 “簇”是DOS進行分配的最小單位。當創建一個很小的文件時,如是一個字節,則它在磁盤上并不是只占一個字節的空間,而是占有整個一簇。DOS視不同的存儲介質(如軟盤,硬盤),不同容量的硬盤,簇的大小也不一樣。
簇的大小可在稱為磁盤參數塊(BPB)中獲取。簇的概念僅適用于數據區。本點:(1)“簇”是DOS進行分配的最小單位。 (2)不同的存儲介質,不同容量的硬盤,不同的DOS版本,簇的大小也不一樣。 (3)簇的概念僅適用于數據區。3.扇區編號定義:絕對扇區與DOS扇區 由前面介紹可知,我們可以用柱面/磁頭/扇區來唯一定位磁盤上每一個區域,或是說柱面/磁頭/扇區與磁盤上每一個扇區有一一對應關系,通常DOS將“柱面/磁頭/扇區”這樣表示法稱為“絕對扇區”表示法。但DOS不能直接使用絕對扇區進行磁盤上的信息管理,而是用所謂“相對扇區”或“DOS扇區”。“相對扇區”只是一個數字,如柱面140,磁頭3,扇區4對應的相對扇區號為2757。該數字與絕對扇區“柱面/磁頭/扇區”具有一一對應關系。當使用相對扇區編號時,DOS是從柱面0,磁頭1,扇區1開始(注:柱面0,磁頭0,扇區1沒有DOS扇區編號,DOS下不能訪問,只能調用BIOS訪問),第一個DOS扇區編號為0,該磁道上剩余的扇區編號為1到16(設每磁道17個扇區),然后是磁頭號為2,柱面為0的17個扇區,形成的DOS扇區號從17到33。直到該柱面的所有磁頭。然后再移到柱面1,磁頭1,扇區1繼續進行DOS扇區的編號,即按扇區號,磁頭號,柱面號(磁道號)增長的順序連續地分配DOS扇區號。
公式:記DH--第一個DOS扇區的磁頭號 DC--第一個DOS扇區的柱面號 DS--
第一個DOS扇區的扇區號 NS--每磁道扇區數 NH--磁盤總的磁頭數 則某扇區(柱面C,磁頭H,扇區S)的相對扇區號RS為:RS=NH×NS×(C-DC)+NS×(H-DH)+(S-DS) 若已知RS,DC,DH,DS,NS和NH則S=(RS MOD NS)+DSH=((RS DIV NS)MOD NH)+DHC=((RS DIV NS)DIV NH)+DC要點:(1)以柱面/磁頭/扇區表示的為絕對扇區又稱物理磁盤地址 (2)單一數字表示的為相對扇區或DOS扇區,又稱邏輯扇區號 (3)相對扇區與絕對扇區的轉換公式4.DOS磁盤區域的劃分 格式化好的硬盤,整個磁盤按所記錄數據的作用不同可分為主引導記錄(MBR:MainBootRecord),Dos引導記錄(DBR:DosBootRecord),文件分配表(FAT:FileAssignTable),根目錄(BD:BootDirectory)和數據區。前5個重要信息在磁盤的外磁道上,原因是外圈周長總大于內圈周長,也即外圈存儲密度要小些,可靠性高些。要點:(1)整個硬盤可分為MBR,DBR,FAT,BD和數據區。 (2)MBR,DBR,FAT,和BD位于磁盤外道。5.MBR MBR位于硬盤第一個物理扇區(絕對扇區)柱面0,磁頭0,扇區1處。由于DOS是由柱面0,磁頭1,扇區1開始,故MBR不屬于DOS扇區,DOS不能直接訪問。MBR中包含硬盤的主引導程序和硬盤分區表。分區表有4個分區記錄區。記錄區就是記錄有關分區信息的一張表。它從主引導記錄偏移地址01BEH處連續存放,每
個分區記錄區占16個字節。分區表的格式分區表項的偏移意義 占用字節數 00引導指示符1B 01分區引導記錄的磁頭號1B 02分區引導記錄的扇區和柱面號2B 04系統指示符1B 05分區結束磁頭號1B 06分區結束扇區和柱面號2B 08分區前面的扇區數4B 0C分區中總的扇區數4B4個分區中只能有1個活躍分區,即C盤。標志符是80H在分區表的第一個字節處。若是00H則表示非活躍分區。例如:80 01 01 00 0BFE3F813F000000C3DD1F000000018205FEBF0C02DE1F000E906100