hopeless-dream

导航

Linux磁盘

1、磁盘的接口类型与命名方式

  磁盘接口分为SATA、SCSI、SAS、PCI-E、光纤FC通道。常见的设备在Linux中的命名如下:

设备   设备在Linux内的文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘 /dev/sd[a-p]
U盘 /dev/sd[a-p]
软驱

/dev/fd[0-1]

打印机

25针:/dev/lp[0-2]

USB:/dev/usb/lp[0-15]

当前CD ROM/DVD ROM /dev/cdrom

 

  1.1 IDE接口

  IDE的接口是40个针39个口,防插反。一个IDE扁平线缆可以连接两个IDE设备,通常主机提供两个IDE接口,所以最多连接4个IDE设备。这两个IDE接口又被称为IDE1(primary)和IDE2(secondary)。每条IDE扁平线缆上的IDE设备被分为Master(主设备)和Slave(从设备)。这四个IDE设备的文件名如下表:

 

IDE/Jumper Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd

 

  1.2SATA接口

  SATA口的磁盘又叫串口磁盘。

  SATA接口磁盘的命名方式不同于IDE的顺序命名,而是依照Linux内核检测到磁盘的顺序。例如:

  一个PC有两个SATA盘和一个USB盘,主板上有6个SATA插槽,将这两个SATA盘分别插在主板上的SATA1和SATA5,那么这三块盘在Linux中的文件名依次是:

  SATA1插槽上磁盘的文件名:/dev/sda

  SATA2插槽上磁盘的文件名:/dev/sdb

       USB盘(需要开机完成后才能被识别):/dev/sdc

 

2、磁盘的组成

  磁盘主要由机械臂、机械轴、盘片、磁头、主轴组成。数据的写入实在盘片上,盘片分为扇区(Sector)和柱面(Cylinder)。

  每个扇区的大小为512bytes。在磁盘的最外圈,离主轴最远的磁道为0磁道,磁盘存放数据是从0磁道开始的。其中第一个扇区记录了磁盘的重要信息。磁盘的第一个扇区主要记录了:

  • 主引导记录(Main Boot Record):安装引导加载程序的地方。共446bytes。在0磁头0磁道1扇区。
  • 分区表(partition table):记录整块磁盘的分区状态。共64bytes。
  • 分区结束标识(55AA):其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。

标准MBR结构如下:

地址 描述 长度(字节)
0 代码区 440(最大446)
440 选用磁盘标志 4
444 一般为空值; 0x0000 2
446 标准MBR分区表规划(四个16 byte的主分区表入口) 64
511 MBR有效标志:0x55AA 2

 

磁盘分区表

  文件系统是以柱面为单位存储数据的。分区的最小单位也是柱面。

   扇区和柱面:

  1.  磁头数等于盘面数,一块磁盘由2-14个盘片
  2.  同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道
  3.  不同盘面相同磁道组成一个圆柱体就是柱面
  4.  不同盘面的磁道被划分成多个扇形区域,每个区域就是一个扇区
  5.  一个柱面包含多个磁道,一个磁道包含多个扇区
  6.  数据信息记录可表示为三个条件:某磁头、某磁道(柱面)、某扇区

  分区表:

    默认的分区表只能写入4组分区信息,即:4个主分区(Primary)或3个主分区(Primary)和一个扩展分区(Extend),扩展分区里面可以分出逻辑分区。

 

  

  分区的重要性:

    1、数据的安全性:在整理数据时,可以将待整理分区的数据移动到其他分区,避免数据丢失。

    2、系统性能:由于数据存储的最小单位是柱面,所以当需要读取存储在同一柱面的数据时,只会读取这一柱面,提高了读取速度和性能。

 

   扩展分区和逻辑分区:

    扩展分区的目的是使用额外的扇区记录分区信息

    扩展分区不能被格式化,只有主分区和逻辑分区可以格式化后作为数据访问的分区。逻辑分区的编号从5开始,逻辑分区的数量限制依据操作系统的不同,在Linux中,IDE硬盘最多有59个逻辑分区(编号5-63),SATA盘最多有11个逻辑分区(编号5-15)。

 

  注意:主分区和逻辑分区是不能整合在一起的。除非将扩展分区全部破坏,但是会影响到其他的逻辑分区。

 

 

什么是CHS寻址

 

很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的CSH 3D参数 (Disk Geometry)。即磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应CHS寻址方式。

 

CHS寻址模式将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。

 

  • 磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁 头就可以表示数据在哪个磁面。

  • 柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面数=磁道数。

  • 扇区(Sector):将磁道划分为若干个小的区段,就是扇区。虽然很小,但实际是一个扇子的形状,故称为扇区。每个扇区的容量为512字节。

 

 

CHS寻址的最大容量

 

CHS寻址方式的容量由CHS三个参数决定:

 

  • 磁头数最大为255 (用 8 个二进制位存储)。从0开始编号。
  • 柱面数最大为1023(用 10 个二进制位存储)。从0开始编号。
  • 扇区数最大数 63(用 6个二进制位存储)。从1始编号。

 

所以CHS寻址方式的最大寻址范围为:
255 * 1023 * 63 * 512 / 1048576 = 7.837 GB ( 1M =1048576 Bytes )

 

或硬盘厂商常用的单位:
255 * 1023 * 63 * 512 / 1000000 = 8.414 GB ( 1M =1000000 Bytes )

 

CHS寻址的缺点

 

显然,由于要求每个磁道的扇区数相等,而外道的周长要大于内道,所以外道的记录密度要远低于内道,不仅造成了硬盘空间的浪费,也限制了硬盘的容量。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,硬盘不再具有实际的CHS参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。
但一些古老的软件仍然使用CHS寻址方式(如使用BIOSInt13H接口的软件),为了兼容这样的程序,在硬盘控制器内部安装了一个地址翻译器,可以通过它将老式CHS参数翻译成新的线性参数。

 

posted on 2019-10-23 18:15  hopeless-dream  阅读(212)  评论(0编辑  收藏  举报