基址寄存器、界限寄存器
地址值+基址值,并检查是否超过界限寄存器的值
缺点:每次都要加法和比较
每个分配单元对应位图的一位
缺点:查找指定长度的0串耗时,并且可能越界
MMU(内存管理单元)把虚拟地址映射为物理地址
虚拟地址空间比物理内存大:缺页中断
“在/不在”位:
该表项对应的虚拟页面在不在内存中
保护位:
读、写、执行
修改位:
若页面已被修改,即“脏”,则必须把它写回磁盘
否则简单丢弃,因为它在磁盘的副本仍有效
访问位:
缺页中断时选择要淘汰的页面,若为1,则表示缺页中断时该页面正在使用
高速缓存禁止位:
假如OS正紧张地等待某个I/O设备响应,保证硬件从设备读取数据,而不是访问旧的高速缓存的副本
TLB:将虚拟地址直接映射为物理地址,不必访问页表,也叫相联存储器、快表
原理类似局部性
还有一位有效位
软失效:一个页面访问在内存中,而不在TLB中
硬失效:不在内存,当然也不在TLB
次要缺页错误:所需页面在内存中,但未记录在进程的页表
严重缺页错误:需要从硬盘重新调入页面
段错误:程序访问了一个非法地址,根本不需要向TLB中新增映射
实际内存中的每个页框对应一个表项,而不是虚拟页面对应表项
共享库是内存映射文件的特例
页面是定长的,而段不是
形成外部碎片,通过内存紧缩解决