站长网 应用 浅析用户空间和内核空间

浅析用户空间和内核空间

最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体-分子-原子-夸克,直到超出自己能理解的知识范畴。 前言 我们知道操作系统采用的是虚拟

最近在重新梳理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),供各个进程使用,称为用户空间。空间分配如下图所示:

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/yidong/yy/2021/0524/5137.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部