![图片[1]-Linux内核开发与优化-系统结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316143204761-image-1024x760.png)
Linux由内核空间和用户空间两部分组成
![图片[2]-Linux内核开发与优化-系统结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316144215144-image.png)
- 最底层是硬件平台,即具体的硬件设备。最上层是应用程序空间,这是用户应用程序执行的地方
- 内核位于硬件与用户空间之间,是用户空间和硬件平台的桥梁
Linux内核可以进一步划分成三层
- 最上面是系统调用接口,它实现了一些基本的功能,如read、write、ioctl等
- 系统调用接口之下是内核代码,这些代码是Linux所支持的所有处理器体系结构所通用的
- 在这些代码之下是依赖于体系结构的代码,这些代码用作给定体系结构的处理器和特定平台的代码
为什么Linux系统会被划分为用户空间和内核空间?这需要从CPU的工作模式讲起
现代CPU通常实现了不同的工作模式
- ARM共有7种工作模式:用户模式、系统模式、普通中断模式、快速中断模式、管理模式、中止模式、未定义模式
- X86:四个不同的级别:Ring0~Ring3
- MIPS64有4中工作模式:调试模式、内核模式、用户模式、超级用户模式
Linux系统出于安全方面的考虑,利用了CPU的这个特性,使用了其中的两级来分别运行linux内核与应用程序,让最核心的部分内核运行在特权级,让相对重要性较低的用户程序运行在级别较低的层次下,避免了用户的一些误操作导致对操作系统的损害
- x86:用户代码运行在Ring3,内核运行在Ring0
- ARM:用户代码运行在用户模式,内核运行在管理模式
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



暂无评论内容