首页 > 代码库 > linux体系结构与内核结构图解

linux体系结构与内核结构图解

1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块:

(1)用户空间:用户空间中又包含了,用户的应用程序,C

(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码

技术分享

 2.Linux体系结构要分成用户空间和内核空间的原因:

    1)现代CPU通常都实现了不同的工作模式,

     以ARM为例:ARM实现了7种工作模式,不同模式下CPU可以执行的指令或者访问的寄存器不同:

(1)用户模式 usr (2)系统模式  sys(3)管理模式 svc(4)快速中断  fiq(5)外部中断  irq(6)数据访问终止 abt(7)未定义指令异常                               以(2)X86为例:X86实现了4个不同级别的权限,Ring0—Ring3 ;Ring0下可以执行特权指令,可以访问IO设备;Ring3则有很多的限制    

    2)所以,Linux从CPU的角度出发,为了保护内核的安全,把系统分成了2部分;

    3.用户空间和内核空间是程序执行的两种不同状态,我们可以通过“系统调用”和“硬件中断“来完成用户空间到内核空间的转移

    4.Linux的内核结构(注意区分LInux体系结构和Linux内核结构)

 

技术分享

 

linux体系结构与内核结构图解