2.2 磁盘
辅助存储器的使用是数据库管理系统的重要特性之一,而辅助存储器几乎都是基于磁盘的。这样,为了说明 DBMS实现中采用的许多思想的理由,我们必须详细地研究磁盘操作。
2.2.1 磁盘结构
图2-2 给出了一个磁盘驱动器两个主要的移动部件;一个是磁盘组合(disk assembly) ,另一个是磁头组合(head assembly)。磁盘组合由一个或多个圆盘(platter)组成,它们围绕着一根中心主轴旋转。圆盘的上表面和下表面涂覆了一薄层磁性材料,二进制位被存储在这些磁性材料上。其中,0和1在磁材料中表现为不同的模式。盘片的直径一般是3.5英寸,尽管直径从一英寸到几英尺的磁盘都已经制造出来。
磁盘被组织成磁道(track),磁道是单个盘片上的同心圆。所有盘面上半径相同的磁道构成了柱面(cylinder),从图2-3的顶视图可以看到,磁道占据大部分盘面,最靠近主轴的区域除外。沿着磁道的数据密度大于沿着半径的数据密度。在2008年,一个典型的磁盘上每英寸有大约100 000个磁道,但是沿着磁道每英寸能够存储100万个二进制位。
![]() |
(点击查看大图)图2-2 一个典型的磁盘 |
![]() |
图2-3 盘面的顶视图 |
磁道被组织成扇区(sector)。扇区是被间隙(gap)分割的圆的片段,间隙未被磁化为0或1
在图2-3中,我们显示每一个磁道有相同的扇区数。然而,每个磁道的扇区数通常是不同的,靠外圈磁道的扇区数比靠内圈磁道的扇区数多。就读写磁盘而论,扇区是不可分割的单位;就磁盘错误而论,它也是一个不可分割的单位。倘若一部分磁化层被以某种方式损坏,以至于它不再能存储信息,那么那些包含这个部分的整个扇区也不能再使用。间隙大约占整个磁道的10%,用于帮助标识扇区的起点。我们在2.1.2节中所提到的“块”,是在磁盘与主存之间所传输数据的逻辑单元,由一个或多个扇区所组成。
图2-2所示的第二个可移动部件是磁头组合,它承载着磁头。每一个盘面有一个磁头,它极其贴近地悬浮在盘面上,但是绝对不与盘面接触(否则就要发生“头损毁”,盘片被破坏)。磁头读出经过它下面的盘面的磁方向,也能改变其磁方向,以便在磁盘上写信息。每个磁头被固定在一个磁头臂上,所有盘面的磁头随着磁头臂一同移进移出,磁头臂是固定的磁头组合的一部分。
例2.1Megatron 747磁盘是一种典型的vintage-2008的大容量的驱动器,它具有下列特性:
8个圆盘,16个盘面。
整个磁盘的容量的算法是:16个盘面,乘以65 536个磁道,乘以256个扇区,再乘以4096字节,即 字节。这样Megatron 747是一块1TB的磁盘。一个磁道存放256×4096字节或1MB。如果一个块的容量是
(即16 384)字节,那么一个块使用4个连续扇区,一个磁道上(平均)有256/4 = 32个块。