当前位置: 技术问答>linux和unix
问一个内核源代码情景分析中的一个问题。
来源: 互联网 发布时间:2015-05-05
本文导语: 问一个内核源代码情景分析中的一个问题,在第39页: 有这么一段话,我不理解: ...不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射,所以不会有问题。... 都有相同的页面映射,怎么理解啊...
问一个内核源代码情景分析中的一个问题,在第39页:
有这么一段话,我不理解:
...不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射,所以不会有问题。...
都有相同的页面映射,怎么理解啊?
有这么一段话,我不理解:
...不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射,所以不会有问题。...
都有相同的页面映射,怎么理解啊?
|
进程通过陷阱进入了内核,将使用系统资源。有相同的页面映射即是可以使用系统的分页机制。
|
Linux在做页面映射的时侯,对于0x0-0xbfffffff,不同的进程是不同的,但是对于0xc0000000-0xffffffff,所有的进程的映射函数是相同的,但是普通进程是无法访问的,因为这块内存是内核态才能访问,具体的映射其实就是__pa宏,一个很简单的东西,你自己grep一下吧
|
我像知道:到底是每个进程都有3G的用户空间,还是所有进程共享3G的用户虚拟空间
|
每个进程都有3G的用户空间 它们并不共享 共享还得了
那不成线程了。
这3G的空间并没有立刻分配 需要时再给你物理页面 如果都需要
就得交换一部分出去。注意一个时刻只能有一个进程在run(smp除外)
那不成线程了。
这3G的空间并没有立刻分配 需要时再给你物理页面 如果都需要
就得交换一部分出去。注意一个时刻只能有一个进程在run(smp除外)
|
每个进程都有 __独立的__ 3G空间,因为他们的内存映射函数是不一样的,具体情况楼上已经说了