一个讲解用户空间和内核空间的图

Posted kelvinchiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个讲解用户空间和内核空间的图相关的知识,希望对你有一定的参考价值。

技术图片

为什么要区分内核空间和用户空间?

大致有三点因素:

第一点:操作系统的数据都是存放于系统空间的,用户进程的数据是存放于用户空间的;

第二点:分开来存放,就让系统的数据和用户的数据互不干扰,保证系统的稳定性,并且管理上很方便;

第三点:也是重要的一点,将用户的数据和系统的数据隔离开,就可以对两部分的数据的访问进行控制。这样就可以确保用户程序不能随便操作系统的数据,这样防止用户程序误操作或者是恶意破坏系统。

第一点:操作系统的数据都是存放于系统空间的,用户进程的数据是存放于用户空间的;

简单说,Kernel space 是 Linux 内核的运行空间,User space 是用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃了,内核也不受影响。

Kernel space 可以执行任意命令,调用系统的一切资源;

相对来说,User space 执行的是较为简单的运算,执行的运算不影响其他程序的执行,并且不能直接调用系统资源,必须通过系统接口(又称 system call),才能向内核发出指令。

 

以上是关于一个讲解用户空间和内核空间的图的主要内容,如果未能解决你的问题,请参考以下文章

内核逻辑地址空间、内核虚拟地址空间和用户虚拟地址空间有啥区别?

RK3399平台开发系列讲解(内核入门篇)1.35内核空间布局

linux用户空间和内核空间(内核高端内存)_转

Linux 内核空间与用户空间

内核空间与用户空间

Linux内核目录文件和最新内核版本升级