Linux体系结构
从上图得知,Linux由用户空间和内核空间两部分组成。
现代CPU通常实现了不同工作模式,以ARM为例,实现了7种工作模式:用户模式(usr)、快速中断(fiq)、外部中断(irq)、管理模式(svc)、数据访问中断(abt)、系统模式(sys)、未定义指令异常(und)。
x86也实现了4个不同的级别:Ring0——Ring3。Ring0下,可以执行特权指令,可以访问IO设备等,在Ring3则有很多限制。Linux系统利用了CPU的这一特性,使用了其中的两级来分别运行Linux内核与应用程序,这样使操作系统本身得到充分保护。例如:如果使用x86用户代码运行在Ring3,内核代码运行在Ring0。
内核空间和用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。
Linux内核架构
虚拟文件系统
VFS(虚拟文件系统)隐藏各种文件系统的具体细节,为文件操作提供统一的接口。