Linux内核开发与优化-系统结构

Linux内核开发与优化-系统结构

图片[1]-Linux内核开发与优化-系统结构-乔伊社区

Linux由内核空间和用户空间两部分组成

图片[2]-Linux内核开发与优化-系统结构-乔伊社区
  • 最底层是硬件平台,即具体的硬件设备。最上层是应用程序空间,这是用户应用程序执行的地方
  • 内核位于硬件与用户空间之间,是用户空间和硬件平台的桥梁

Linux内核可以进一步划分成三层

  • 最上面是系统调用接口,它实现了一些基本的功能,如read、write、ioctl等
  • 系统调用接口之下是内核代码,这些代码是Linux所支持的所有处理器体系结构所通用的
  • 在这些代码之下是依赖于体系结构的代码,这些代码用作给定体系结构的处理器和特定平台的代码

为什么Linux系统会被划分为用户空间和内核空间?这需要从CPU的工作模式讲起

现代CPU通常实现了不同的工作模式

  • ARM共有7种工作模式:用户模式、系统模式、普通中断模式、快速中断模式、管理模式、中止模式、未定义模式
  • X86:四个不同的级别:Ring0~Ring3
  • MIPS64有4中工作模式:调试模式、内核模式、用户模式、超级用户模式

Linux系统出于安全方面的考虑,利用了CPU的这个特性,使用了其中的两级来分别运行linux内核与应用程序,让最核心的部分内核运行在特权级,让相对重要性较低的用户程序运行在级别较低的层次下,避免了用户的一些误操作导致对操作系统的损害

  • x86:用户代码运行在Ring3,内核运行在Ring0
  • ARM:用户代码运行在用户模式,内核运行在管理模式
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容