- 权限:
- 用户态(User Mode): 用户态是一种受限的状态,程序在这个状态下运行时,有很多敏感的指令不能执行,也不能直接访问系统硬件资源。
- 内核态(Kernel Mode): 内核态也称为超级用户模式或系统模式,程序在内核态下运行时,没有任何限制,可以执行所有指令,可以直接访问和控制硬件。
- 功能:
- 用户态主要用于运行应用程序。当一个应用程序需要执行一个系统调用(比如读取文件、发送网络数据等)时,它会切换到内核态,然后由内核来完成这个操作。
- 内核态主要用于运行操作系统的内核和驱动程序。内核提供系统服务、管理硬件资源等。
- 资源访问:
- 用户态无法直接访问硬件资源,只能通过系统调用来请求内核提供的服务。
- 内核态可以直接访问硬件资源,例如内存、磁盘、网络等。
- 切换:
- 用户态到内核态的切换通常通过系统调用或者硬件中断来实现,这个过程需要一定的时间和资源,因此频繁切换会影响系统性能。
- 内核态到用户态的切换通常在完成系统调用或者中断处理之后发生。