虚拟地址:VA—Virtual Address
物理地址:PA—Physical Address
MMU:Memory Management Unit——内存管理单元
TLM:Translation Look-aside Buffers(传输后缓冲器)
为什么需要PA?答:因为程序在哪种硬件的机器上运行并不确定,OS不能给出某台机器的PA。
如何实现从VA到PA的转换?
1. 交换页内存管理—基址和极限
程序发出的VA+基址=PA
缺点:(1)空间浪费:程序不断执行释放,内存可用空间不连续。
(2)程序大小受限。
2. 分页内存管理—将内存空间划分成大小相同的页面
一个程序发出的PA由虚拟页面号和页内偏移值组成
解决:1)空间浪费:以页为内存分配的基本单元,避免外部碎片积累。
2)程序受限:当程序需要额外空间,只需对其分配新的页即可。
3. VA ——> PA(地址翻译)
(1)该翻译过程由MMU负责:MMU为每一个程序配备了一个页表;页表是一个映射。
1)MMU只翻译页面,不处理页内偏移值
2)若MMU接收到程序发来的虚拟页面号未查找到物理页面号时,可通过缺页中断,将虚拟页面从磁盘中加载到物理内存的页面中。
3)随着虚拟页面进出内存,页表的内容在不断变化。
(2)页表中除了映射,还有与页面的管理活动有关的信息。