Sat*_*uga 7 multithreading operating-system kernel process system-calls
据我所知,用户级线程是在用户空间中实现的,而内核级线程是在内核空间中实现的。我还读到用户级线程被映射到内核级线程以实际运行用户级线程。
“实施”到底是什么意思?这是否意味着线程控制块分别定义在用户空间和内核空间中?
当进行系统调用时会发生什么?该系统调用在哪个内核线程(或用户线程 IDK)上运行?每个内核级堆栈都有自己的堆栈吗?
我知道线程只是进程的一部分。当我们处理内核线程时,这里对应的进程是什么呢?内核进程是什么,你能举个例子吗?
我也参考了其他答案,但没有得到满意的结果。
小智 4
这取决于操作系统的实现。
但通常,就像在 Linux 中一样,系统调用是在调用它的线程上执行的。并且每个线程都有一个用户栈和一个内核栈。
请参阅系统调用如何工作和Linux 中的系统调用是如何实现的?更多细节。我希望这个链接可以解答您关于“内核线程”的问题。