存储器层次
高速缓存存储器
存储器的最底层(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) 增加备份