内核模式和用户模式

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

内核模式和用户模式

tags: 内核模式 用户模式


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

先来引导一下:

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

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

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

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

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

希望大家多评论交流,互相学习
目录
相关文章
|
3天前
|
Unix Shell Linux
Linux 终端和进程的关系,以及在终端前后台切换进程
Linux 终端和进程的关系,以及在终端前后台切换进程
43 1
|
3天前
|
设计模式 算法 编译器
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
58 0
|
3天前
一般模式
【2月更文挑战第20天】一般模式。
11 1
|
前端开发 JavaScript Java
MVX模式是什么?
MVX模式是什么?
230 0
|
分布式计算 自然语言处理 并行计算
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
|
前端开发 JavaScript 编译器
模式二之框架模式
模式二之框架模式
|
并行计算 搜索推荐 算法