浅谈Linux内核和CPU架构

Linux由用户空间和内核两部分组成,之所以有这两部分构成,我想应该是由于考虑CPU体系结构

嵌入式ARM处理器有七种工作状态,分别是用户模式、快速中断、外部中断、管理模式、数据访问终止模式、系统模式和为定义指令模式,

而X86体系结构的CPU则有RING0~RING3 四种工作模式,这些工作模式是有权限限制的,例如在访问IO设备上

Linux利用CPU这中架构,用户空间和内核空间分别工作在不同的模式下,

X86体系上,用户代码工作在RING3,而内核代码则工作中在RING0上

如果想切换工作状态,可以通过系统调用和硬件中断两种方式来触发

例如在ARM中,我们实用寄存器CPSR前四位来控制CPU的七种工作模式的转换!

当然工作模式不是随便切换的,例如在切换至中断时候,在中断向量表中指定的空间我们要编写中断服务程序。

 

下面是Linux内核的七大组成部分

浅谈Linux内核和CPU架构_第1张图片

你可能感兴趣的:(浅谈Linux内核和CPU架构)