1. 更有效地使用内存,当作磁盘的缓存。由于局部性,将最近访问过的磁盘空间,缓存到内存中;
2. 更简单地管理每个进程的内存空间:每个进程具有相似的虚拟内存空间;
3. 可以实现对内存访问的保护,隔离每个进程的内存使用,避免一个进程踩到其他进程的内存。
术语:PTE page table entry 页表项 页表条目
page table 为 page table entry 的数组
这种情况也是需要访问内存,原因时需要访问page table, 获取pte
translation lookaside buffer TLB:
TLB是一个小的,虚拟寻址的缓存,其中每一行都是单个pte。
存在的意义是缩短MMU获取pte的时间(如果没有tlb,需要到cache或内存中获取pte)
节省页表占用空间,由于大部分的虚拟内存都是没有被分配的,因此多级页表可以省下大部分空间,如下图,使用了1+3,一共4个page table ,就覆盖了全部的虚拟内存空间:
节省空间的关键点,在于,没用到的页,只需要在level1中存储,在后面的level中不占用空间。