内核模式和用户模式

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

内核模式和用户模式

tags: 内核模式 用户模式


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

先来引导一下:

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

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

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

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

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

希望大家多评论交流,互相学习
目录
相关文章
|
4天前
|
调度
系统库调用如何在内核模式和用户模式之间切换?
【10月更文挑战第29天】系统库调用通过特定的指令触发从用户模式到内核模式的切换,传递参数并保存上下文,在内核模式下完成系统服务的处理后,再恢复上下文并返回用户模式。这种模式切换机制是操作系统实现用户程序与内核交互的核心机制,保证了系统的稳定性、安全性和资源的有效管理。同时,异常和中断处理也会涉及到类似的模式切换,共同构成了操作系统复杂而高效的运行机制。
19 4
|
6月前
|
设计模式 运维 安全
边车模式的介绍
边车模式的介绍
73 0
|
6月前
|
设计模式 算法 编译器
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
241 0
|
分布式计算 自然语言处理 并行计算
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
|
前端开发 JavaScript Java
MVX模式是什么?
MVX模式是什么?
277 0
使用不完整的模式
使用不完整的模式
80 0
|
前端开发 JavaScript 编译器
模式二之框架模式
模式二之框架模式