磁盘的基础知识——扇区、柱面、磁道、族

磁盘的物理结构 html

磁盘是由若干块坚硬金属材料制成的并涂以磁性介质的盘片压制而成。每一个盘有两面,每面各有一个磁头,均可记录信息。要了解硬盘的物理结构,须要弄懂磁道、扇区、柱面、簇等几个概念. spa

磁道:磁盘上划分了不少个同心圆,这些同心圆就是磁道。但打开硬盘,用户不能看到这些,实际上磁道是被磁头磁化的同心圆。磁道之间是有间隔的,由于磁化单元太近会产生干扰. 操作系统

扇区:每条磁道被分红若干等份的区域,每一个区域就是一片扇区。扇区是硬盘数据存储的最小单位. .net

柱面:假如一块磁盘只有3个磁盘片,每块盘片的磁道数是相等的.从外圈开始,这些磁道被分红了0磁道、1磁道、2磁道……。具备相同磁道编号的同心圆组成面就称做柱面。为了便于理解,柱面能够看做没有底的铁桶。柱面数就是磁盘上的磁道数。柱面是硬盘分区的最小单位. htm

一个硬盘的容量=柱面数(或磁道数)×磁头数×扇区数×每一个扇区的大小(一般是512字节)

簇:扇区是硬盘数据存储的最小单位,但操做系统没法对数目众多的扇区进行寻址,因此操做系统就将相邻的扇区组合在一块儿,造成一个簇,而后再对簇进行管理.每一个簇能够包括二、四、八、1六、3二、64个扇区。族有时也称做磁盘块(block)。它是属于文件系统层面的概念,是文件系统层中数据存储的基本单位。 blog

磁盘的分区 内存

要掌握硬盘的分区,须要掌握MBR、扩展分区、逻辑分区的概念. get

硬盘里分为两个区域,一个是放置该硬盘的信息区,称之为主引导扇区(master boot recorder,MBR),一个是实际文件数据放置的地方。其中,MBR是整个磁盘最重要的区域。一旦MBR物理实体损坏时,则该磁盘就差很少报废了.通常来讲,MBR有512个字节,且能够分为两个部分. 源码

  1. 第一部分有446个字节,用于存放引导代码,即bootloader.
  2. 第二部分有64个字节,用于存放磁盘分区表(Disk Partion Table,DPT)。每一个分区的信息须要用16个字节来记录,所以,一块磁盘最多能够有4个分区。

注:一般所说的"磁盘分区"就是指修改磁盘分区表。它定义了"第n个磁盘块是从第x个柱面到第y个柱面".所以,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息. io

    分区有两种,一种是主分区,一种是扩展分区。在一块磁盘中,扩展分区只能有一个,因此这4个分区能够是4个主分区或者3个主分区加1个扩展分区,以下所示:

P + P + P + P

P + P + P + E

其中P表示主分区(Primary),E表示扩展分区(Extend)

    重点说明的是,扩展分区不能直接使用,还须要将其划分为逻辑分区.这样就产生了一个问题,既然扩展分区不能直接使用,但为何还要划分出必定的空间来给扩展分区呢?这是由于,若是用户想要将硬盘划分为5个分区的话,那该如何? 此时,就须要扩展分区来帮忙了.

因为MBR仅能保存4个分区的数据信息,若是超过4个,系统容许在额外的硬盘空间存放另外一份磁盘分区信息,这就是扩展分区. 若将硬盘分红3P+E,则E其实是告诉系统,磁盘分区表在另外的那份分区表,即扩展分区实际上是指向正确的额外分区表.自己扩展分区不能直接使用,还须要额外将扩展分区分红逻辑分区才能使用,所以,用户经过扩展分区就可使用5个以上的分区了.

说明:

  1. 不建议用户将硬盘分为4个主分区.这是由于,假如一个20GB的硬盘,若4个主分区占据了15GB的空间,则剩下的5GB空间彻底不能使用,由于已经没有多余的分区表能够记录这些空间了.
  2. 考虑到磁盘的连续性,通常建议将扩展分区放在最后面的柱面内.
  3. 容许一个硬盘只有1个主分区,其它空间都分配给扩展分区。

Linux磁盘分区

    Windows操做系统是先将物理地址分开,再在分区上创建目录,所以在Windows操做系统中,全部路径都是从盘符开始,如C://program file。而Linux正好相反。在Linux操做系统中,先有目录,再将物理地址映射到目录中。在Linux操做系统中,全部路径都是从根目录开始.Linux默认可分为3个分区,分别是boot分区、swap分区和根分区.

    不管是Windows操做系统,仍是Linux操做系统,每一个分区都可以有不一样的文件系统,如FAT3二、NTFS、Yaffs2等.

    下面简单介绍一下Linux的3个分区,boot分区、swap分区和根分区。

  • boot分区

    该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码.用户可经过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操做就是操做该分区.

  • swap分区

    该分区没有对应的目录,故用户没法访问。Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,而后再将数据调入到内存中执行.因此说,虚拟内存只是暂时存放数据,在该空间内并无执行.

关于虚拟内存

    虚拟内存是指将硬盘上某个区域模拟为内存.所以虚拟内存的实际物理地址仍然在硬盘上.虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍.

  • 根分区

    在Linux操做系统中,除/boot目录外的其它全部目录都对应于该分区.所以,用户可经过访问除/boot目录外的其它全部目录来访问该分区.

说明:

  1. 在Linux操做系统中,用户可根据须要把分区挂载到某个目录下。好比/home目录下有三个目录,假设为test1,test2,test3,可把不一样的分区分别挂载到这三个目录下 。
  2. 根据上面的讨论,一块磁盘上最多有13个分区,即硬盘分为1个主分区和3个扩展分区,而每一个扩展分区又能够分为4个逻辑分区。
  3. 硬盘上至少要有1个主分区.
  4. 逻辑分区不能再进行分区.
  5. Linux分区目录和"盘符"的关系

    假如硬盘安装在IDE1的主盘,并用户想分区成6个可使用的硬盘分区,则能够采用3个主分区加3个逻辑分区方式,或者是1个主分区加5个逻辑分区。

   

    Linux容许使用fdisk -l命令和df -h命令来查询其硬盘分区.其中,df没法显示出swap分区的大小.

    若硬盘的MBR已坏,则该磁盘就不能再做为引导盘,只能做为数据盘.由于MBR位于硬盘的起始处,用户不能经过软件进行修复,也不能跳过起始处.而硬盘中间的某个磁道坏了,用户能够软件修复,也能够跳过该磁道.

参考: http://blog.csdn.net/shuaishuai80/article/details/6202512

              http://learningloong.blog.163.com/blog/static/16230812420107279116921/

http://www.91tech.net/Article/SoftHardTech/SerialCom/200604/3627.html

相关文章
相关标签/搜索