对应唐书第四章存储器中的虚拟内存(补充内容)和辅存。
目录
四、虚拟存储器
1. 概述
Q1:作用
初衷是采用虚存来扩大寻址空间,现在主要用于存储保护、程序共享,并简化了内存管理。
主存、辅存在 OS 和硬件的管理之下,提供更大的存储空间。
虚存空间是靠辅存(磁盘)来支持的,采用与 cache 类似原理,提高速度,降低成本。用户感觉到的是一个速度接近主存而容量极大的存储器。
Q2:实质
逻辑地址——也称虚地址,程序中指令所用地址( 进程所在地址空间) ,VA。
物理地址——存放指令或数据的实际内存地址,也称为实地址、主存地址,PA。
Q3:基本原理
虚拟存储的管理方式有三种:页式管理(变长)、段式管理(定长)和段页式管理。
由于页的未命中开销很大,因此设计的主要目标是提高命中率。
映像规则:全相联。
查找算法:页表(主存中)、段表、TLB。
替换算法:LRU(近期最少使用)等。尽可能减少页故障 , OS 为每个页面设置“使用位”。
写策略:写回法。
2. 页式虚拟存储器与页表管理
Q1:页表
OS会为每个进程生成一个页表,实现VA向PA的转换。
页表的首地址存放在页表基址寄存器中,页表的项数通常由虚拟空间大小决定,每个进程的页表大小理论上是一样的。
页表项有三种状态——已缓存、未缓存、未分配。已缓存的地址指向主存中物理页的起始地址,未缓存的地址指向磁盘中的页起始地址。物理页与虚拟页大小是一致的。
Q2:异常
在访问时可能发生两种异常——缺页和保护违例。
3. 地址翻译
Q1:过程
Q2:TLB
翻译后备缓冲器TLB位于MMU中,能够节省从L1Cache取PTE的1~2个周期。
TLB由OS维护。
Q3:多级页表
优点:
如果一级页表中一个PTE是空的,则对应二级页表就不存在,这是一种巨大的潜在节约;
并且只有一级页表才需要总是在主存中,可以在需要时创建、调入调出二级页表,只有最常用的二级页表才缓存在主存,减少了主存的压力。
五、辅存
1. 概述
Q1:辅存的特点
辅存又称外存,容量大、速度慢、价格低,属于非易失性存储器。
辅存不直接与CPU交换信息。
目前应用较广的辅存有软磁盘、硬磁盘、磁带、光盘等。前三种均属于磁表面存储器。
Q2:磁表面存储器的主要技术指标
一个同心圆是一条磁道,每个磁道分成若干扇区,一个扇区512B。
道密度——半径方向单位长度的磁道数;位密度——同心圆上单位长度磁道记录的位数。
存储容量 = 盘面数 × 每个盘面磁道数 × 每条磁道位数。
数据传输率为单位时间传送的位数/字节数,与盘面数无关。
平均寻址时间包括寻道时间(磁头找到磁道)和等待时间(旋转),数据传输时间可忽略不计。
Q3:计算磁盘响应时间
即寻址并传输一个扇区的时间。