文章目录
一、Linux 内核体系架构
二、内核态与用户态切换 ( 系统调用层 )
三、体系结构抽象层
一、Linux 内核体系架构
----
Linux 内核最初的源码不足一万行 , 当前的 Linux...分为三个层次 :
硬件层面 : 包括 CPU , 物理内存 , 磁盘 , 外部设备 等硬件 ;
内核空间 : 这就是 Linux 内核的核心 , 如 : Arch 抽象层 , 设备管理抽象层 , 内存管理..., 中断管理 , 进程调度 , 文件系统管理 , USB / PCI 总线设备 , 设备驱动 ( 字符设备 / 网络设备 / 块设备 / KVM ) , 系统调用层 ;
用户空间 : C 语言库 ,...应用程序进程 , 虚拟机 等 ;
二、内核态与用户态切换 ( 系统调用层 )
----
Linux 内核 实现 内核态 和 用户态 , 使用到了 ring0 和 ring3 两种模式 ,
ring0...系统调用层 ( System Call ) ;
每种处理器体系结构 都提供了 实现 用户态 与 内核态 之间切换的 特殊指令 ,
Linux 内核也利用了该特殊指令 , 进行了用户态 与 内核态 的切换