gpt4 book ai didi

c - 用户模式和内核模式下的线程

转载 作者:行者123 更新时间:2023-12-05 01:31:04 25 4
gpt4 key购买 nike

在用户模式下运行和在内核模式下运行的线程是什么意思?这与来自用户模式的线程执行指令和来自内核模式的线程执行指令有关吗?请详细说明。
另外,是否有可能如果在用户模式下执行的线程被置于挂起状态,那么它可能会在内核模式下开始执行?如果是,那怎么可能?到目前为止,我只知道一个线程如果被挂起将被完全挂起,即 CPU 将进行上下文切换以调度另一个线程。

最佳答案

what do we mean by thread running in User mode and running in kernel mode?



没有上下文就无法知道一个人所说的短语是什么意思。如果我不得不猜测,我会说他们在谈论线程是由用户空间调度程序还是内核调度程序调度的。但也有可能他们实际上是在询问线程是在运行用户代码还是内核代码。

Is this related to thread execution instruction from User mode and thread executing instruction from Kernel mode? Kindly elaborate.



它可能是。也可能不是。没有上下文就无法知道一个人所说的短语是什么意思。

Also, is it possible that if a thread is executing in user mode is put to suspended state, then it may start executing in kernel mode? if yes, how is it possible?



对于内核调度线程的实现,调度程序在内核空间中运行。实际挂起线程的代码通常也在内核空间中运行,因为它必须将线程添加到各种内核调度程序数据结构中。所以恢复线程的线程也将在内核空间中运行。在更高级别的 View 中,同一执行线程可以“成为”内核调度程序,选择一个用户空间线程来执行,然后“成为”该线程。

Until now I am only aware that a thread if suspended will be SUSPENDED completely, i.e. the context switch will take place by CPU to schedule another thread.



对,这就是内核代码。所以同一个内核运行用户空间代码,然后运行内核代码,然后运行另一个线程的用户空间代码。

关于c - 用户模式和内核模式下的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17515676/

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