Linux用户空间和内核空间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012041204/article/details/85943666

一、用户空间和内核空间

现在操作系统都是采用虚拟存储器,对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。为保证内核的安全,用户进程是不能直接操作内核的,所以Linux将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。

二、 用户空间和内核空间的内存分配

linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。

在这里插入图片描述

三、用户态和内核态

(1)当一个任务(进程)执行系统调用而陷入内核代码中执行时,进程就进入内核运行态(内核态)。

(2)当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。

什么时候会从用户态切换到内核态呢?
一种是系统调用,另一种是产生中断

猜你喜欢

转载自blog.csdn.net/u012041204/article/details/85943666