用户
 找回密码
 立即注册
搜索

硬盘的dos管理结构

[复制链接]

120

主题

643

帖子

2171

积分

高级会员

Rank: 4

积分
2171
QQ
发表于 2007-4-13 11:40:41
硬盘的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)+ds
       h=((rs div ns)mod nh)+dh
       c=((rs div ns)div nh)+dc
要点: (1)以柱面/磁头/扇区表示的为绝对扇区又称物理磁盘地址
    (2)单一数字表示的为相对扇区或dos扇区,又称逻辑扇区号
    (3)相对扇区与绝对扇区的转换公式
4.dos磁盘区域的划分
   格式化好的硬盘,整个磁盘按所记录数据的作用不同可分为主引导记录(mbr:main boot record),dos引导记录(dbros
boot record),文件分配表(fat:file assign table),根目录(bd:boot directory)和数据区。前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 分区中总的扇区数 4b
4个分区中只能有1个活跃分区,即c盘。标志符是80h在分区表的第一个字节处。若是00h则表示非活跃分区。例如:
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位于硬盘第一个物理扇区柱面0,磁头0,扇区1处。不属于dos扇区,
    (2)主引导记录分为硬盘的主引导程序和硬盘分区表。
6.dbr
   dbr位于柱面0,磁头1,扇区1,即逻辑扇区0。dbr分为两部分:dos引导程序和bpb(bios参数块)。其中dos引导程序完成
dos系统文件(io.sys,msdos.sys)的定位与装载,而bpb用来描述本dos分区的磁盘信息,bpb位于dbr偏移0bh处,共13字节。
它包含逻辑格式化时使用的参数,可供dos计算磁盘上的文件分配表,目录区和数据区的起始地址,bpb之后三个字提供物理格
式化(低格)时采用的一些参数。引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(dos扇区号)转换成物理地址(绝对
扇区号)。bpb格式
序号 偏移地址 意义
1 03h-0ah oem号
2 0bh-0ch 每扇区字节数
3 0dh 每簇扇区数
4 0eh-0fh 保留扇区数
5 10h fat备份数
6 11h-12h 根目录项数
7 13h-14h 磁盘总扇区数
8 15h 描述介质
9 16h-17h 每fat扇区数
10 18h-19h 每磁道扇区数
11 1ah-1bh 磁头数
12 1ch-1fh 特殊隐含扇区数
13 20h-23h 总扇区数
14 24h-25h 物理驱动器数
15 26h 扩展引导签证
16 27h-2ah 卷系列号
17 2bh-35h 卷标号
18 36h-3dh 文件系统号
dos引导记录公式:
文件分配表≡保留扇区数
根目录≡保留扇区数+fat的个数×每个fat的扇区数
数据区≡根目录逻辑扇区号+(32×根目录中目录项数+(每扇区字节数-1))div每扇区字节数
绝对扇区号≡逻辑扇区号+隐含扇区数
扇区号≡(绝对扇区号mod每磁道扇区数)+1
磁头号≡(绝对扇区号div每磁道扇区数)mod磁头数
磁道号≡(绝对扇区号div每磁道扇区数)div磁头数
要点: (1)dbr位于柱面0,磁头1,扇区1,其逻辑扇区号为0
    (2)dbr包含dos引导程序和bpb。
    (3)bpb十分重要,由此可算出逻辑地址与物理地址。


[ 本帖最后由 gongtao 于 2007-4-18 20:26 编辑 ]
使用道具 举报 回复
发表于 2007-4-13 14:25:32
还行
使用道具 举报 回复 支持 反对
发表于 2007-4-16 17:00:15
谢谢帮我修改了呀
使用道具 举报 回复 支持 反对
发表于 2007-4-17 09:54:48
看了,顶了
使用道具 举报 回复 支持 反对
发表于 2007-4-18 16:45:01
这个在硬盘管理和修改的时候很有用的
使用道具 举报 回复 支持 反对
发表于 2007-4-18 20:26:14
由于本区的贴是专提供学习和参考的所以字体不能过小.
声名:发贴者以后都以4大小字为标准.
  敬请注意!
使用道具 举报 回复 支持 反对
发表于 2007-6-17 15:29:49
使用道具 举报 回复 支持 反对
发表于 2007-11-1 12:11:14
写的还可以,有高手还可写的详细些吗?
使用道具 举报 回复 支持 反对
发表于 2007-11-1 15:14:55
很少用到的 ~~支持下吧~
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则