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