对分区表的详解分析

简介:

对分区表的分析

硬盘是由多个盘体组成的,盘体又是有无数盘片组成,(当然有人会问:不是存在单碟硬盘吗?没错,单碟硬盘是双面可读的硬盘,当然也相当于两个盘片。)每个盘片又分为许多磁道,每个磁道有63个扇区,扇区是硬盘存储的基本单位,这是一个理想化的模型,之所以将硬盘用一个理想化的模型是为了对硬盘的研究更方便和具体化,客观上符合了工程实施的可行性。
    那么硬盘在读取数据时是如何定位一个具体位置呢?这是必须要解决的问题,其实在硬盘的内部有一个我们看不到的地址翻译器,于是解决了扇区的定位问题。
    对扇区的定位有两种方法:其一是C/H/S;其二是LBA,即扇区的编号。操作系统一般用LBA来计算,更适合计算机的使用。
C/H/S  相对比较直观,但是计算复杂或者说有的时候用C/H/S表示不出来,这时必须采用LBA,它的特点是计算简单,但是相对不直观,下面对这两种对分区的定位进行分析一下。
首先,一个转化关系必须清晰:
1柱面=255个盘片=255个磁头
 
一个柱面包含了若干磁道,如何来准确表示柱面中的具体磁道呢?这时就可以使用磁头参数了。每个磁头负责读取柱面中的处于不同高度的磁道,我们只要给出具体的磁头数值,就知道对应柱面中的哪个磁道了。这样我们根据柱面和磁头两个参数就可以准确地定位到盘体中的某个磁道,一个磁道上有63个扇区,我们只要再知道扇区的编号,就可以完成在三维空间中定位扇区的任务了,C/H/S三个参数就是这样定位扇区的。
 
1扇区=512字节
1磁道=63个扇区
利用C/H/S计算,磁头从0254磁头,扇区从163扇区;但是利用LBA计算的话,扇区从0开始计算,这是需要注意的地方。
硬盘的读取机制:
0/0/1 0/0/2,…………0/0/63
0/1/1 0/1/1,…………0/1/63
0/2/1 0/2/2,…………0/2/63
……
0/254/1 ……           0/254/63
到此,整个硬盘的所有数据读取完毕。
 
 
分区时柱面是分区的粒度,即精确到柱面。
 
         255*63*512
1 柱面=---------------=7.8M
     2 20次方
 
当然,7.8M是不准确的,硬盘会为柱面预留出空间作为动态磁盘使用。分区的确定就是起始扇区和结束扇区确定后,一个分区的大小即可确定。
硬盘的第一个扇区是主引导扇区,又叫MBR,总共512字节,MBR扇区又叫0号扇区,是一个硬盘的起始位置。硬盘的结构由引导扇区(446字节),分区表(64字节),55AA2个字节)的结束标志组成。用磁盘编辑器分析磁盘,如果是55AA结尾,说明扇区的分区表有效。分区表最多能有4个主分区,每个分区有16个字节。
首先,以一个分区的字节为单位分析一下分区表的计算原理。
XX    XX    XX   XX    XX   XX   XX    XX
1--------------4    5------------8
XX    XX    XX   XX    XX   XX   XX    XX
9---------------12) (13------------16
1 4 :引导标志,起始磁道,起始扇区,起始柱面
5 8 :分区类型,结束磁道,结束扇区,结束柱面
9 12 :分区起始前的扇区,即分区起始扇区,
13-16 :分区的大小
 
通过上面分区的含义理解,只要分区的起始扇区和结束扇区确定后,分区表即可确定,一般情况下,硬盘的第一个扇区都是从63扇区开始,如果用C/H/S表示即从0柱面,1磁头,1扇区开始,结束于254磁头,63扇区,在计算验证时如果符合,就说明计算正确,下一篇博文将以具体例子分析分区表,今天这些基本知识必须心中有数,为下面的学习作铺垫。
本文源出:shenleigang.blog.51cto.com
请尊重版权,谢谢!!!!
 


     本文转自shenleigang 51CTO博客,原文链接: http://blog.51cto.com/shenleigang/147521 ,如需转载请自行联系原作者

相关文章
|
4天前
|
Linux Windows
分区表概述
关于磁盘分区表的概述,主要介绍了分区的原因、分区方式(MBR和GPT)、分区空间的使用步骤、以及Windows和Linux默认使用的分区方式,同时详细解释了MBR和GPT分区方式的结构和特点。
8 0
分区表概述
|
3月前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之如何对现有的非分区表数据进行分区处理
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
存储
分区表和分桶表(高频重点)
分区表和分桶表(高频重点)
176 0
|
分布式计算 MaxCompute
MaxCompute查看分区表某个分区生成时间
MaxCompute查看分区表某个分区生成时间
MaxCompute查看分区表某个分区生成时间
|
OLAP 数据库 索引
分区表
分区表
155 0
|
索引 SQL
对已存在的表进行分区时遇到的坑
在网上能够找到很多关于表分区的资料,可是大部分都是在介绍如何给一个新表创建表分区,而对已存在的表如何做分区的文章相对比较少,因此一些坑没有被“挖掘”出来或者“曝光率”比较低。
1534 0
|
测试技术 索引
非分区表是否可以创建分区索引?
有同事问一个问题, 一张非分区表,是否可以创建分区索引? 答案是可以,但分区索引的类型有限制。 MOS这篇文章给出了答案,以及一些例子,What Is The Global Partitioned Index On Non Partitioned Table? (文档 ID 1612359.1)。
1137 0