操作系统虚拟内存的问题

请教大家一个问题,操作系统书上写程序使用的都是虚拟地址,通过页表转换成真实的物理地址,每一个进程都有自己的页表。
Q1:每个进程都有自己的页表,操作系统是如何避免不同的进程映射的物理地址是相同的?(就是不同的虚拟地址,如何确保最终映射的物理地址不是相同的)
Q2:每个进程的页表大小是固定的还是动态变化的?(如果是大小固定的,那页表里面的内容是动态的么?比如某个页开始没有使用,后来需要使用的时候,找一块空闲的物理页映射到当前页的虚拟地址)
谢谢
全部评论
1. 两个页表中映射到同一个物理地址就行了。 2. 都是动态变化的。
点赞 回复 分享
发布于 2019-06-12 19:02
页表是动态分配的,物理内存内核应该会有一个位图来管理物理内存。 我的观点是申请内存的步骤是:1.申请虚拟内存2.申请物理内存3.页表中映射
点赞 回复 分享
发布于 2019-06-12 14:17
页表是多级页表,不会一开始就把你4G空间都映射出来
点赞 回复 分享
发布于 2019-06-11 20:20
1.进程的虚拟空间有起始空间,起始空间不一样,不会映射到一样的物理内存的
点赞 回复 分享
发布于 2019-06-11 20:19
我的看法:
点赞 回复 分享
发布于 2019-06-11 20:18

相关推荐

Gaynes:查看图片
点赞 评论 收藏
分享
机械打工仔:不管啥专业,找工作改简历的第一课先把你那排版改了,简历上不要写个人简历四个字,找你要简历的谁不知道这个是简历?而且还占那么多空间,直接把自己名字和基础信息写上面,整体字体大一些。 还有这种经典两页简历一页大空白,导出PDF的时候多了一页几乎全是白的你自己看着不难受吗随手的事为啥不能改掉呢,这是态度问题,你试想一下你是HR你打开简历看到格式都没调整过会是什么感受?你自己都不重视你的简历,HR更不会在意。 然后内容你那个做两年咖啡就别往里写了,简历在精不在多,你在往你的简历里打字的时候就要想好这东西对你要找的工作有没有帮助。自我评价写一行就行了,不如给专业技能单开一栏。核心课程均分90这个真别写了,把你上过的有用的专业课列出来也行。有很多地方废话很多的精炼一下,比如你校内项目第一个写的那些,全然没有重点。 好好修改一下,我看你内容也挺优秀的,别被一个随便做的简历耽误了,我一个同专业的打工人看了都揪心更别说一天看几百份简历的HR
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-18 18:30
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务