+ -
当前位置:首页 → 问答吧 → 关于“进程的地址空间”的几个问题

关于“进程的地址空间”的几个问题

时间:2010-11-13

来源:互联网

小弟有下面几个问题:(32位处理器)
1,进程的地址空间是由两部分构成:内核态和用户态。  这样说对吗?
2,进程的内核态空间是8K,由进程的内核态堆栈和thread_info构成。除了这8K以外,进程不再拥有任何内核态空间。这样说对吗?
3,我们知道,0-3G 是用户空间,那么是“每个进程都可以拥有3G的用户空间”吗?还是“所有的进程共享这3G的用户空间,每个进程只能分到这3G空间的一部分”?
4,如果是每个进程都可以拥有3G的用户空间,那么这样各个进程会不会冲突?通过什么办法回避冲突的呢?
5,内核拥有整个4G的空间吗?内核可以访问0-3G的用户空间吗?


以上,非常感谢!!!

作者: 巨人史玉柱   发布时间: 2010-11-13

建议先把虚拟地址,物理地址搞清楚. 可以看看这篇:

http://linux.chinaunix.net/bbs/thread-919019-1-6.html

作者: accessory   发布时间: 2010-11-13

1 不对,只有用户进程有两个空间
2 不对,这个看下书吧
3 不对,用户空间是进程独占的,内核空间所有进程共享
5 看完书看看代码吧

作者: unbutun   发布时间: 2010-11-13

LZ只是想了解一下的话,大家还可以跟你说说。如果是在学习的话,还是找本内核的书看完内存管理那章再说吧。。。。。。

作者: tempname2   发布时间: 2010-11-13