一个程序中的错误可能会对许多进程产生不利影响,它可能会修改另一个程序的数据,或者也可能影响操作系统。例如,如果一个进程卡在无限循环中,那么这个无限循环可能会影响其他进程的正确运行。所以为了保证操作系统的正常执行,有两种操作模式:
用户模式——
当计算机系统由用户应用程序(如创建文本文档或使用任何应用程序)运行时,系统处于用户模式。当用户应用程序向操作系统请求服务或发生中断或系统调用时,就会从用户模式转换到内核模式来满足请求。
注意:要从内核模式切换到用户模式,模式位应为 1。
下图描述了发生中断时会发生什么:
内核模式——
当系统启动时,硬件以内核模式启动,当操作系统加载时,它以用户模式启动用户应用程序。为了给硬件提供保护,我们拥有仅在内核模式下执行的特权指令。如果用户试图在用户模式下运行特权指令,那么它将把指令视为非法并陷阱到操作系统。一些特权指令是:

- 处理中断
- 从用户模式切换到内核模式。
- 投入产出管理。