大发快3

嵌入式Linux热门培训内容之Linux进程上下文和中断上下文内核空间和用户空间

时间:2018-12-13 17:38:45

一、什么是内核空间和用户空间

内核空间:针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,内核空间执行的程序一般包括驱动程序,中断程序,内存管理程序

用户空间:将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间,运行在用户空间的程序,像我们正常的用户程序,计算器,日历等,但是用户空间的程序可以通过系统调用进入内核,于是,我们从进程的角度看,进程可以享受4G的虚拟内存空间

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

1、  现代CPU,以ARM为例,拥有不同的工作模式,不同的工作模式对CPU寄存器的访问执行权限不一样,对用户开放的权限肯定不能太大,分层次就是为了方便用户和系统的不同权限。

2、  系统调用是一个非??岬亩?,分层次为了统一系统调用接口,方便管理

3、  内存管理,虚拟地址和物理地址,用户如果直接可以访问到物理地址,那是一件非??植赖氖虑?。

二、什么是进程上下文与中断上下文

进程上下文:

用户进程在执行系统调用,或者发生一个异常的时候,这时这个进程就进入了内核空间,这时候对内核来说就叫做进程上下文

进程上下文,一定是进行了系统调用或者异常执行,导致CPU从用户空间到内核空间了,简单理解点,可以把执行在用户空间的代码叫做进程上文,执行在内核空间的叫做进程下文

中断上下文:

当内核在执行一个中断处理函数或者执行中断下半部时,这时候,内核是处在中断上下文

这里引入一个中断下半部,那就应该有中断上半部

中断上半部:触发中断开始到进入中断处理程序的那个点,都可以叫中断上半部

中断下半部:执行中断处理程序的那部分代码

?

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!