层次化存储结构
- 辅助存储器:(外存,辅存),存在计算机之外的存储器,虽然硬盘是集成在计算机主机箱内的,但它独立于计算机主板上的内存之外,所以也归为外存,如:硬盘、光盘、U盘、移动硬盘,大小一般有500G/1T等;
- 主存储器:(内存、主存),主要集成在计算机主板上,属于主机部分存储器,大小一般有4G/8G/16G/32G,一般由RAM组成的;
- RAM:随机存储存储器,特点是掉点数据会丢失,如:电脑卡顿,需要重启电脑就不卡了,是因为重启电脑重新加载数据,对于内存一般用到是RAM;DRAM就是动态定时做刷新;
- ROM:只读存储器,特点是掉点数据不会丢失,如:操作系统,BIOS等就是掉点数据不会丢失,计算中把一些固定存储的数据存放在ROM中;
- cache:(高速缓存),按内存存取(相联存储器组成),cpu和主存之间,处理速度和容量不匹配,所以有了cache的出现,在冯诺伊曼计算机结构中,cpu处理的速度大于内存存储的速度,这时有了cache的出现,提高了cpu的输入输出速率和命中率,速度、容量、成本是cpu和内存的折中,M兆级别,透明性,程序员不可操作;
- 存储器越接近CPU,容量越来越小,存储速度越来越快,成本越来越高,最快的是CPU中的寄存器; 它可以暂存数据,容量一般只有bit,与字长相关,如:32位计算机的寄存器只有32位大小;
- 局部性原理:如:软件装在外存中,按需加载到内存中,用什么调什么到内存中使用,切片后用什么调什么使用;
- 外存、内存、cache被称为:三层存储结构;cache在存储系统中速度最快,在计算机存储器中仅次于cpu中的寄存器;
- 层次化结构能够运行是由于局部性原理的支撑;
- 层次化结构中,cache是不可被程序员操作的,它具有透明性,其他都可以;
- 计算机采用分级存储体系主要目的是为了解决存储的容量、速度、成本之间的矛盾;
Cache
- 在容量确定的情况下,替换算法影响Cache命中率;
- 在容量确定的情况下,时间复杂度影响Cache时间效率;
- Cache的设计思想是在合理的成本下提高命中率和快速cpu与内存的访问速度;
局部性原理
- 时间局部性:强调循环;
- 空间局部性:强调顺序;
主存编址计算
- 按字编址:字存储单元,字的长度与计算相关,一般有4/8/16/32/64bit为一组;
- 按字节编址:长度固定,1B=8bit;8bit一组;
磁盘基本结构和存取过程
- 一个磁盘是立体的,有多个盘面,多个磁头通过硬件连接在主杆上,磁盘是为绕轴心匀速、同向、一直运动;
- 一个盘面可以划分为多个同心圆,一圈一圈的同心圆就是磁道,一个磁道的数据量较大,按角度切分出扇区,实际中,按扇区读取数据块,从外向圆心内编号就是磁道编号,扇区也有编号;
- 从立体的角度来看多个盘面磁道就是一个空心圆柱,同一磁道编号就是一个柱面,一个柱面对应所有磁盘上的同一个磁道;
- 由于磁头是固定在主杆上的,所以磁头查找磁道的过程就是查找柱面的过程;
- 在磁盘上读取信息就是磁头在磁盘上运动的过程;
- 等待时间:旋转延迟时间,潜伏时间;
平均存取时间:平均访问时间,不包括传输时间和处理时间;
磁盘优化分布存储
磁盘单缓冲区和双缓冲区
磁盘移臂调度算法
- 都是磁头移动过程;
- 先来先服务:(FCFS),方式较简单,效率较差;
- 最短寻道时间优先:(SSTF),谁离的近先响应谁,效率有所提高,在寻道过程中,方向会根据距离的远近改变;
- 扫描算法:(SCAN),电梯算法,双向;如在盘面上,从外圈到圆心内扫描,途中所遇请求就响应,返回再从圆心向外圈扫描,所遇请求再响应一遍;
- 循环扫描:(CSCAN),单向;在盘面上,固定一个方向,比如从外到内扫描,到达最高层不会返回,而是从头再同一个方向扫描,所遇请求响应;