您的位置首页>企业动态>

Linux用户空间与内核空间

导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux用户空间与内核空间问题。应用程序在用户空间运行,而Linux驱动程序是内核的一

音频解说

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux用户空间与内核空间问题。

应用程序在用户空间运行,而Linux驱动程序是内核的一部分,所以驱动程序在内核空间运行。当我们想要在用户空间操作内核时,比如使用open函数打开驱动程序/dev/led,因为用户空间不能直接操作内核,所以必须使用一种叫做“系统调用”的方法从用户空间进入内核空间,从而操作底层驱动程序。

Os为每个进程分配一个独立的、连续的虚拟地址内存空间。通常32位Linux内核(2 ^ 32)的虚拟地址空间分为0~3G用户空间和3~4G内核空间。

进程寻址空间0~4G

进程在用户模式下只能接入0~3G,进入内核模式才能接入3G~4G。

通过系统调用进入内核状态。

每个进程虚拟空间的3G~4G部分都是一样的。

32位系统用户进程最多可以访问3GB,内核代码可以访问所有物理内存。

从用户模式到内核模式的进程转换;

系统调用

反常的

中断外设

lw

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。