浅谈Linux内核和CPU架构
·
Linux由用户空间和内核两部分组成,之所以有这两部分构成,我想应该是由于考虑CPU体系结构
嵌入式ARM处理器有七种工作状态,分别是用户模式、快速中断、外部中断、管理模式、数据访问终止模式、系统模式和为定义指令模式,
而X86体系结构的CPU则有RING0~RING3 四种工作模式,这些工作模式是有权限限制的,例如在访问IO设备上
Linux利用CPU这中架构,用户空间和内核空间分别工作在不同的模式下,
X86体系上,用户代码工作在RING3,而内核代码则工作中在RING0上
如果想切换工作状态,可以通过系统调用和硬件中断两种方式来触发
例如在ARM中,我们实用寄存器CPSR前四位来控制CPU的七种工作模式的转换!
当然工作模式不是随便切换的,例如在切换至中断时候,在中断向量表中指定的空间我们要编写中断服务程序。
下面是Linux内核的七大组成部分

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)