当前位置: 技术问答>linux和unix
关于装入CR3、页面映射、连续执行...的问题
来源: 互联网 发布时间:2016-11-13
本文导语: 我在看《Linux内核源代码情景分析》,看到上册P39有个地方不明白。 第一段末尾提到,装入进程时,将下一个进程的PGD物理地址装入CR3,它说“有读者可能问,CR3的值改变了,也就是使用不同的页面目录,不会使程...
我在看《Linux内核源代码情景分析》,看到上册P39有个地方不明白。
第一段末尾提到,装入进程时,将下一个进程的PGD物理地址装入CR3,它说“有读者可能问,CR3的值改变了,也就是使用不同的页面目录,不会使程序的执行不能连续了吗?答案是,这是在内核中。不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射,所以不会有问题。”
不明白。内核本身执行不也是用页式映射的吗?不也是用CR3的吗?为什么这里CR3改了,而内核却不受影响?
第一段末尾提到,装入进程时,将下一个进程的PGD物理地址装入CR3,它说“有读者可能问,CR3的值改变了,也就是使用不同的页面目录,不会使程序的执行不能连续了吗?答案是,这是在内核中。不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射,所以不会有问题。”
不明白。内核本身执行不也是用页式映射的吗?不也是用CR3的吗?为什么这里CR3改了,而内核却不受影响?
|
内核逻辑地址和物理地址的映射关系和用户空间的映射完全不同,内核没有用段啊,页啊,就是一个运算:addr_real = addr_logical - PAGE_OFFSET 。对哪个进程都一样。详细:http://blogold.chinaunix.net/u1/57802/showart.php?id=2301644
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。