gpt4 book ai didi

multithreading - 为什么内核线程在进程上下文中运行?

转载 作者:行者123 更新时间:2023-12-01 15:32:25 24 4
gpt4 key购买 nike

我最近了解到Linux内核线程run in process context

为什么它们在流程环境中运行?

为什么它们不能简单地在传统的“线程”中运行? (如果问得通的话)

最佳答案

不,问:)没有任何意义(请参阅here)

进程上下文仅表示该线程是普通线程,例如您在进程中获得的线程。
中断上下文仅表示线程是由中断启动的。

注意:以下内容已高度简化,但并不完全准确:

中断是低级事件,导致CPU停止正在执行的操作并执行称为中断处理程序的特殊代码(对中断处理程序进行上下文更改)。中断是由硬件引起的,例如网卡发出信号表示数据包已到达并且需要读取,或者通过软件事件发出信号,例如虚拟内存使用中断来请求内核从磁盘物理内存等加载页面。

在现代CPU中,中断和线程非常复杂,它们具有优先级,特权级别,可以单独屏蔽等。

为什么将其称为流程上下文而不是线程上下文?我认为这是出于历史原因。

传统上,Unix和Linux的扩展名不支持仅线程进程。

CPU并不真正了解进程和线程,从CPU的角度来看,它们都是执行上下文,线程和进程之间的差异取决于操作系统如何安排虚拟内存和其他与OS相关的属性(用户上下文)。 ,权限等)。

关于multithreading - 为什么内核线程在进程上下文中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18602664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com