硬盘

硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。一般说来,无论哪种硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成

硬盘的物理结构。

为了便于理解硬盘的物理结构 ,可将硬盘看作一个圆,它是坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘有两面,都可记录信息。要了解硬盘的物理结构,需要弄懂磁道扇区柱面等几个概念。

磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道.但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是有间隔的,因为磁化单元太近会产生干扰。

扇区:每个磁道中被分成若干等份的区域.扇区是硬盘数据存储的最小单位。

柱面:假如一个硬盘只有上图中的3个磁盘片,每一片中的磁道数是相等的.从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道...具有相同磁道编号的同心圆组成面就称作柱面.为了便于理解,柱面可以看作没有底的铁 桶.从上图可以看出,柱面数就是磁盘上的磁道数.柱面是硬盘分区的最小单位.因此,一个硬盘的容量=柱面*磁头*扇区*512。

簇:扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理.每个簇可以包括2、4、8、16、32、64个扇区

局部性原理

局部性原理通常有两种不同的形式:时间局部性和空间局部性;一个具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来再次被多次引用;

一个具有良好空间局部性的程序中,如果内存位置被引用了一次,很可能在不远的将来引用附件的一个内存位置。

  • 重复引用相同变量的程序有良好的时间局部性;
  • 对于步长为k的引用模式的程序,步长越小,空间局部性越好。
  • 对于取指令来说,循环有好的时间和空间局部性。循环越小,迭代次数越多,局部性越好。

由于存储介质的特性,磁盘本身存取就比主存慢很多,再加上机械运动耗费,磁盘的存取速度往往是主存的几百分分之一,因此为了提高效率,要尽量减少磁 盘I/O。为了达到这个目的,磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放 入内存。这样做的理论依据是计算机科学中著名的局部性原理

STAT硬盘主要是看顺序读写性能,SSD主要看随机读写性能

SSD硬盘与传统磁盘相比,第一是没有机械装置,第二是由磁介质改为了电介质,在SSD内部有一个FTL(Flash Transalation Layer),它相当于磁盘中的控制器,主要功能就是作地址映射,将flash memory的物理地址映射为磁盘的LBA逻辑地址,并提供给OS作透明访问。SSD没有传统磁盘的寻道时间和延迟时间,所以SSD可以提供非常高的随机读取能力,这是它的最大优势.

SSD的IO特点分析

  1.随机读能力非常好,连续读性能一般,但比普通SAS磁盘好。

  2.不存在磁盘寻道的延迟时间,随机写和连续写的响应延迟差异不大。

  3.erase-before-write特性,造成写入放大,影响写入的性能。

  4.写磨损特性,采用wear leveling算法延长寿命,但同时会影响读的性能。

  5.读和写的IO响应延迟不对等(读要大大好于写),而普通磁盘读和写的IO响应延迟差异很小。

  6.连续写比随机写性能好,比如1M顺序写比128个8K的随即写要好很多,因为随即写会带来大量的擦除。

硬盘的分区

一个是放置该硬盘的信息区,称之为主引导记录(MBR,Main Boot Record),一个是实际文件数据放置的地方.其中,MBR是整个硬盘最重要的区域,一旦MBR物理实体损坏时,则该硬盘就差不多报废了,一般来说,MBR有512个 字节,且可以分为两个部分。

(1)第一部分有446个字节,用于存放引导代码,即是bootloader

(2)第二部分有64个字节,用于存放磁盘分区表 :其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。注:通常所说的"硬盘分区 "就是指修改磁盘分区表,它定义了"第n个磁盘块是从第x个柱面 到第y个柱面".因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息。

由于扩展分区只能有一个,所以这4个分区可以是4个主分区或者3个主分区加1个扩展分区,如下所示:

P + P + P + P

P + P + P + E

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

results matching ""

    No results matching ""