分页操作后地址映射问题

来源:3-3 存储和寻址

眼睛君有话说

2020-05-03

想请问一下老师如果执行分页操作,是不是逻辑内存和物理内存的映射关系就改变了,比如原来通过逻辑内存访地址在虚拟内存中,是不是执行分页以后它就映射到了物理内存中,这个过程是怎么实现的?http://img.mukewang.com/szimg/5ead9f1208d4025e10000750.jpg

写回答

1回答

ccmouse

2020-05-05

操作系统会维护一个分页表,里面记录了与逻辑内存分页对应的物理内存分页。访问某逻辑内存地址的时候,如果它已经在物理内存中,就可以根据物理内存的分页和地址基于分页的偏移量来找到物理内存的地址。

如果它不在物理内存中,则把它所在硬盘上的虚拟内存页面装载到物理内存,然后再访问。

如果此时内存满了,则会根据页面置换算法,挑选出“不用”的页面,拿出内存,替换为我们新访问的这个页面。

当然,里面每一步都有很多实现的细节,这在相关的操作系统书籍中都有详细的讲解,我这里再推荐一篇写的比较好的博文:

https://blog.csdn.net/EveryFriDay_ShuJk/article/details/79817235 

0
0

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程