虚拟内存是什么(虚拟内存怎么清理)( 四 )
2.MMU将PTEA发送到缓存或内存中 。
3.从缓存或内存中找到页表项(PTE),并将页表项(PTE)返回给MMU 。
4.根据PTE,MMU发现该页面不在内存中并且丢失,因此MMU发送一个缺页中断,由缺页异常处理程序处理 。
5.页面缺失异常处理器根据页面替换算法选择牺牲页面 。如果此页面已被修改,它将被写入磁盘 。最后,该牺牲页的页表条目的有效位将被设置为0,并存储在磁盘地址中 。
6.缺页异常处理程序在新页面中调用 。如果虚拟页还没有分配到disk 空,就分配到disk 空,然后将disk空之间的页数据复制到空闲的物理页,PTE的有效位更新为1,物理页号更新 。
引入了将虚拟地址转换成物理地址的过程 。此外,为了加快将虚拟地址转换为物理地址的过程,现代CPU和操作系统进行了以下两项优化:
1.虚拟号码(VPN)和页表项(PTE)之间的映射关系被建立并存储在TLB中 。当MMU根据虚拟地址获取页表项时,首先查询TLB 。在TLB中找到页表条目后,不需要从缓存或内存中获取它 。如果找不到,它将计算页表项地址PTEA,然后从缓存或内存中获取页表项(PTE) 。
2.一些热点的物理地址对应的数据存储在L1缓冲区中 。当MMU根据物理地址获取页表项或代码数据时,首先从L1缓冲区获取,如果找不到,再从内存中获取 。
以上翻译过程通过一级页表进行翻译 。现在操作系统支持多级页表,类似于一级页表,如下图所示:
k页表
上图是K级页表 。页表基址寄存器存储第一级页表的地址,从1到K-1的页表的每一项存储的下一级页表的起始地址,K级页表的每一项存储的物理页号或磁盘地址 。
好了,关于虚拟地址,虚拟内存,虚拟地址空的话题就到此为止 。
推荐阅读
- 紫癜是什么引起的(为什么会得紫癜)
- 自考本科是什么意思(广西大学自考网)
- 挂机宝是什么(挂机宝可以监听电话吗)
- 得过且过什么意思(得过且过的态度是什么意思)
- durex是什么意思(durex英文)
- 11区是什么(11区中文什么意思)
- 为什么会下雨(雨水形成的原因是什么)
- 貌似是什么意思(貌是什么意思)
- 若即若离什么意思(若即若离是什么歌)
- 寿司的蟹子是什么东西