数据库系统实现 第二章 数据存储

存储器层次

高速缓存存储器

存储器的最底层(cache),当机器执行指令时,在高速缓存中寻找指令以及那些指令要使用的数据。如果在高速缓存中找不到这些数据,那么就要到主存中寻找,并将其拷贝到高速缓存当中。当高速缓存的数据被修改的时候,单个处理机上的数据不必需要立刻去修改,但当多处理器访问相同主存的时候,直写(立即修改主存中相应的位置)是有必要的。

主存

主存是计算机的活动中心,我们可以认为发生在计算机中的每一件事情,无论是指令的执行还是数据的操纵,都作用在主存的信息上,尽管实际的数据是转移到告诉缓存中的。

虚拟存储器

 在写程序的时候,我们所使用的数据都要占据一个虚拟存储器地址空间。同样程序指令也占据一个自己的地址空间。典型的虚拟存储器大小为4GB。由于虚拟存储器的空间通常比内存要大的多,一个完全被占用的虚拟存储器大部分的内容实际上保存在硬盘上。

第二级存储器

第二级存储器也称为辅助存储器(辅存),它的速度比内存要慢很多,容量比主存大的多,并且基本是随机访问,访问不同数据项的时间差别相对较小。在操作系统中,文件以块的方式在主存与磁盘之间移动。将块从磁盘移动到主存试一次磁盘读,反之为写

第三级存储器

容量更大,速度更慢,价格更便宜

易失与非易失存储器

易失:切断电源时会忘记存储的信息

非易失,切断电源或设备故障的时数据仍得到保留

易失存储器:主存通常是易失的

非易失存储器:磁盘磁带,快闪主存

磁盘

磁盘是一种重要的二级存储器

磁盘结构

磁盘驱动器的两个移动部件

1)磁盘组合:由一个或多个圆形盘片组成,绕中心轴旋转,盘片的表面涂了一层薄的磁性材料,存储二进制位;

2)磁头组合:

磁盘控制器

磁盘控制器是一个小处理器,能够完成一下功能

1)移动磁头到指定半径

2)选择一个准备读写的盘面

3)将要求扇区的二进制位送到主存,或从主存写入扇区

磁盘存储特性

1)磁盘旋转速度

2)每个单元的盘片数

3)每面的磁道数

4)每个磁道的字节数

磁盘访问特性

从发出命令到块的内容出现在主存中所经历的时间有以下几个部分

1)处理器和磁盘控制器处理请求所花费的时间

2)磁头定位到合适的柱面

3)转盘转动的时间

4)传输时间

第二级存储器中的数据排序

两阶段多路归并排序算法分为两个步骤

1)排序主存大小的数据片段

2)对所有排序子表的归并排序

改善第二级存储器的访问时间

1)将一起被访问的块放置在同意柱面上,消除寻道时间(寻道时间占平均访问时间的一半),当访问可预测时效果较好,否则没有效果

2)将数据分到几个较小的磁盘上,使用更多可以访问独立块的磁头组合,可以增加单位时间内块访问的数量,当对同一磁盘多次操作是没有用

3)镜像磁盘,制作数据的拷贝,除了可以保护数据意外,还能够提高单位时间访问的速度,任何时候都能提高速度,但对磁盘数需求大  

4)预存取,在访问数据之前预测请求块的顺序,在访问块之前提前将块装入到主存。需要额外缓冲区,当数据随机访问时没有效果

5)电梯调度法。当访问不可预测的时候可以有效减少时间

磁盘故障

1)间断性故障,读或写一个扇区的某次没有成功,再次的时候访问时成功,可以通过增加冗余位来使校验的准确性提高

2)一个或多个二进制位永久损坏

3)写故障,既不能写也不能检索

4)磁盘崩溃,某磁盘永久不可读

磁盘故障的预防方式

1)增加冗余校验位

2) 增加备份

原文地址:https://www.cnblogs.com/icodefive/p/7446212.html