内核模式和用户模式

内核模式和用户模式

tags: 内核模式 用户模式


总是发现在要讲解一个问题的时候不得不去先讲解另一个问题。比如要想彻底弄明白ULT和KLT,则需要先明白他们工作的模式。ULT是不需要在内核模式和用户模式之间切换的,KTL是需要的。所以不得不先说说内核模式和用户模式。

先来引导一下:

用户模式和内核模式区分主要是因为,为了计算机系统的正常安全运行,有些硬件资源(比如中断装置)和特权指令是不可以对用户进程开放的,所以区分了两种模式。

下面是两种模式切换过程:

  • 用户模式到内核模式:
    由中断/异常/系统调用中断用户进程执行而触发 。
    包括如下:
    1.处理器模式转为内核模式
    2.保存当前进程的PC/PSW值到核心栈
    3.转向中断/异常/系统调用处理程序

  • 内核模式到用户模式
    OS执行中断返回指令将控制权交还用户进程而触发。
    包括如下:
    1.从待运行进程核心栈中弹出PC/PSW值
    2.处理器模式转为用户模式

本篇主要是为了下一篇讲解用户级别线程和内核级别线程而进行的简要说明。如需要了解详细的两种模式,请各位朋友自行查找。

原文地址:https://www.cnblogs.com/vinter/p/8690071.html