为了避免用户进程直接操作内核,保证内核安全,操作系统将虚拟内存划分为两部分,一部分是内核空间(Kernel-space)/ˈkɜːnl /,一部分是用户空间(User-space)。

内核是操作系统的核心,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的权限。

内核空间中存放的是内核代码和数据,而进程的用户空间中存放的是用户程序的代码和数据。不管是内核空间还是用户空间,它们都处于虚拟空间中,都是对物理地址的映射。

在Linux 系统中, 内核进程和用户进程所占的虚拟内存比例是1:3。

当进程运行在内核空间时就处于内核态,而进程运行在用户空间时则处于用户态。

进程在内核空间以执行任意命令,调用系统的一切资源;在用户空间只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(又称system call),才能向内核发出指令。

top 命令:

us 代表CPU 消耗在User space 的时间百分比;

sy 代表CPU 消耗在Kernel space 的时间百分比。

用户user空间和内核kernel空间相关推荐

  1. linux 物理内存用完了_Linux用户空间与内核空间(理解高端内存)

    Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型.进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存. 段页式机制如下图. Linux内核地址空间划分 通常32位L ...

  2. linux 内核将两个设备相关联,linux用户空间和内核空间交换数据

    转载地址:http://www.poluoluo.com/server/201107/138420.html 在研究dahdi驱动的时候,见到了一些get_user,put_user的函数,不知道其来 ...

  3. linux 内核空间 sy,在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysf...

    级别: 初级 燚 杨 (), 计算机科学硕士 2006 年 2 月 16 日 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数.模块参数 ...

  4. Linux 用户空间和内核空间

    最近在微信群里看到有人提这个问题,然后查了下资料,觉得这篇文章是写得最能让人看懂的,分享给大家. 欢迎大家评论说出自己的见解,让更多的人更容易理解这部分知识. 之前的相关文章 Linux内存,先看这篇 ...

  5. 用户空间与内核空间数据交换的方式(1)------debugfs

    内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需要这些调试信息,但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要,printk可能是用的最多的,但它并不是最好的,调 ...

  6. 用户空间与内核空间,进程上下文与中断上下文[总结]【转】

    转自:http://blog.csdn.net/lizuobin2/article/details/51791863 本文转载自:http://www.cnblogs.com/Anker/p/3269 ...

  7. Linux用户空间与内核空间(理解高端内存)

    目录 Linux内核地址映射模型 Linux内核地址空间划分 Linux内核高端内存的由来 Linux内核高端内存的理解 Linux内核高端内存的划分 常见问题 小结 1.虚拟内核空间到物理空间的映射 ...

  8. 用户空间和内核空间通讯之【Netlink 中】

    今天我们来动手演练一下Netlink的用法,看看它到底是如何实现用户-内核空间的数据通信的.我们依旧是在2.6.21的内核环境下进行开发. 在文件里包含了Netlink协议簇已经定义好的一些预定义协议 ...

  9. 操作系统中的用户空间和内核空间

    在操作系统中,程序分为两类:用户程序和内核程序. 用户程序:Java.Python.C等编写的应用程序. 内核程序:文件读写.网络传输.进程和线程管理.调用系统资源等. 用户程序运行的空间就是用户空间 ...

最新文章

  1. 十二步创建你的第一个JavaScript库
  2. BZOJ.4553.[HEOI2016TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
  3. 计算机考研学科专业基础,2018考研计算机学科专业基础综合考试大纲
  4. 查询一个表插入数据的时间,按BLOCK时间
  5. python comprehensions_Python中的Comprehensions和Generations
  6. mysql数据库如何新建查询_数据库新建查询
  7. 如何保护前端JS代码?前端js代码混淆加密
  8. UNIX网络编程电子书
  9. 第二周——团队项目(小小大佬带飞队)
  10. java实现排列组合运算
  11. 14-5 food poisoning
  12. Jfinal学习(一)
  13. SIP-会话发起协议
  14. 社会工程学攻击案例-伪装木马
  15. monkey测试linux设备,关于使用Monkey运行脚本测试
  16. Android自定义日期区间选择,类似12306酒店入住的日期选择
  17. 诚之和:三只松鼠走到十字路口
  18. java servlet原理_Java Web 深入分析(8) Servlet工作原理解析
  19. 暗黑和守望先锋服务器不稳定,悲剧:《守望先锋2》和《暗黑破坏神4》今年是玩不到了...
  20. iPhone12独占鳌头,证明了它才是最优秀的5G手机

热门文章

  1. SmartGit破解方法
  2. [转载]图的割点、桥与双连通分支
  3. Java并发编程实例(synchronized)
  4. WPF学习之路(六)Command
  5. mysql group by与order by的研究--分类中最新的内容
  6. 利用html的header下载文件
  7. [Erlang-0003][OTP] Efficiency Guide User's Guide - Common Caveats
  8. SET QUERY_GOVERNOR_COST_LIMIT
  9. Windows Server 2016 Hyper-v 嵌套虚拟化技术
  10. JetBrains 发布Kotlin 1.0