浅析用户空间和内核空间
最近在从头梳理Java 并发的常识,这篇文章是为了后头讲ReentrantLock做筹备的,先热个身,跟着研究的深入,就来到了这里,要把一件工作讲清晰,可以无穷下钻,就像物体->分子->原子->夸克,直到超出本身能领略的常识领域。 媒介 我们知道操纵体系回收的是假造地点空间,以32位操纵体系举例,它的寻址空间为4G(2的32次方),这里表明二个观念: 寻址: 是指操纵体系能找到的地点范畴,32位指的是地点总线的位数,你就想象32位的二进制数,每一位可所以0,可所以1,是不是有2的32次方种也许,2^32次方就是可以会见到的最大内存空间,也就是4G。 假造地点空间:为什么叫假造,由于我们内存一共就4G,但操纵体系为每一个历程都分派了4G的内存空间,这个内存空间现实是假造的,假造内存到真实内存有个映射相关。譬喻X86 cpu回收的段页式地点映射模子。 操纵体系将这4G可会见的内存空间分为二部门,一部门是内核空间,一部门是用户空间。 内核空间是操纵体系内核会见的地区,独立于平凡的应用措施,是受掩护的内存空间。 用户空间是平凡应用措施可会见的内存地区。 以linux操纵体系为例,将最高的1G字节(从假造地点0xC0000000到0xFFFFFFFF),供内核行使,称为内核空间,而将较低的3G字节(从假造地点0x00000000到0xBFFFFFFF),供各个历程行使,称为用户空间。空间分派如下图所示: (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |