硬盘基础知识:磁头 柱面 扇区理解
<p class="artical_littlestyle1">1、基础知识</p><p style="text-indent: 2em;">整个硬盘上一般有很多的盘片组成,沿着盘片半径的方向被划分成了很多同心圆,这就是磁道,每条磁道由很多的扇形区域组成,叫做扇区(扇区是从磁盘读出和写入信息的最小单位,通常大小为512字节),不同盘片上的同半径磁道组成了柱面,这些都是磁盘物理上的概念,知道便可。有了这些概念,便可以计算磁盘的容量:<br/></p><p style="text-indent: 2em;">磁盘容量 = 磁头数x磁道(柱面)数x每道扇区数x每扇区字节数<br/>磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头,因此,用哪个磁头就可以表示数据在哪个磁面;<br/>磁道(track)数:磁道从盘片外圈往内圈编号0磁道,1磁道…,靠近主轴的同心圆用于停靠磁头,不存储数据;<br/>柱面(cylinder)数:等于磁道数量,所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面就是磁道;<br/>扇区(sector)数:每个磁道都被切分成很多扇形区域,每个磁道的扇区数量相同;<br/>圆盘(platter)数:就是盘片的数量。<br/></p><p style="text-indent: 2em;">磁盘的结构图如下所示:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2018.11.12/1541998688341835.png" onclick="preview_image('/uploads/AilsonJack/2018.11.12/1541998688341835.png')"/></p><p class="artical_littlestyle2">2、相对扇区号的计算</p><p style="text-indent: 2em;">3.5寸1.44M 软盘,有两个磁头,正反两面各一个;80个磁道(即80个圆圈);每个磁道有18个扇区;每个扇区为512字节。<br/></p><p style="text-indent: 2em;">软盘容量 = 512字节/扇区 * 2面 * 80磁道(柱面)/面 * 18扇区/磁道 = 1440 KB<br/>磁头,即面:编号[0, 1]<br/>80个磁道,即柱面(圆圈):编号[0, 79]<br/>18个扇区:编号[1, 18]<br/>相对扇区号[0, 2879]:相对扇区号按照柱面排序,即从最外头的圆圈到最里头的圆圈。<br/>0柱面正面(即磁头号为0)的1-18扇区为0-17号相对扇区,0柱面反面(即磁头号为2)的1-18扇区为18-35号相对扇区,然后是1柱面,2柱面,直到79柱面。<br/><span style="background-color: rgb(118, 146, 60);">(1)、</span>知道柱面号,磁头号,扇区号计算相对扇区号<br/>由上面可知0号柱面包含了相对扇区号[0,35],1号柱面包含相对扇区号[36,71],依次类推。<br/>设相对扇区号为N,则<br/>柱面号CH = N / 36;<br/>令x = N % 36;<br/>则x范围为[0,35],其中[0,17] 为磁头号0, [18,35]为磁头号1.<br/>则磁头号DH = x / 18;<br/>令y = x % 18; y范围[0, 17]<br/>则扇区号CL = y + 1。<br/>相对扇区号:N = 36*CH + 18*DH + CL。<br/><span style="background-color: rgb(118, 146, 60);">(2)、</span>知道相对扇区号,计算柱面号、磁头号、扇区号<br/>N = 36*CH + 18*DH + CL;<br/>由此式子,也可计算:<br/>CH = N / 36<br/>DH = (N % 36) / 18<br/>CL = (N % 36) % 18 + 1<br/></p><p class="artical_littlestyle3">3、硬盘上的引导信息</p><p style="text-indent: 2em;">硬盘的第一个扇区被称之为Boot Sector。由MBR (MasterBoot Record)、DPT (Disk Partition Table) 和 Boot Record ID 三部分组成。<br/></p><p style="text-indent: 2em;">MBR又称作主引导记录,占用 Boot Sector 的前 446 个字节(0 ~ 0x1BD)。存放系统主引导程序,负责从活动分区中装载并运行系统引导程序。<br/></p><p style="text-indent: 2em;">DPT 即主分区表,占用 64 个字节 (0x1BE ~ 0x1FD),记录了磁盘的基本分区信息。主分区表分为四个分区项,每项 16 字节,分别记录了每个主分区的信息 (因此最多可以有 4 个主分区)。<br/></p><p style="text-indent: 2em;">Boot Record ID 即引导区标记,占用两个字节 (0x1FE ~ 0x1FF)。对于合法引导区,它等于 0xAA55,这是判别引导区是否合法的标志。<br/></p>
你可能也喜欢:
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla