• 应用程序(裸机) 硬件(Haredare)
  • 应用程序 [操作系统通用代码设备驱动(Linux内核)] 硬件(Haredare)

应用

  • 关注业务逻辑
  • 应用程序通过系统调用来使用内核资源

驱动

  • 关注硬件特性
  • 驱动是Linux内核的一部分,驱动的架构越来越复杂,目的是为了应用层需要做的事情越来越少

状态

内核态和用户态不仅是软件上的抽象,ARM处理器本身在硬件上就支持这两种状态 ARM处理器工作模式

  • 用户模式
  • 系统模式
  • 中断模式

用户态

  • 不能直接访问硬件资源,直接访问会触发异常中断 ??????????
  • 普通函数调用由函数库或用户自己提供,运行在用户态

内核态

  • 系统调用由操作系统核心提供,运行于内核态
  • 系统调用ARM系统中一般用软中断的方式实现