是否有单独的内核级线程用于处理用户进程的系统调用?

时间:2019-02-26 03:56:22

标签: multithreading process operating-system

我知道用户级线程是在用户空间中实现的,而内核级线程是在内核空间中实现的。我还读过用户级线程被映射到内核级线程上以实际运行用户级线程。

  1. “实现”的确切含义是什么?这是否意味着线程控制块分别在用户空间和内核空间中定义?

  2. 进行系统调用时会发生什么?此系统调用在哪个内核线程(或用户线程IDK)上运行?每个内核级堆栈都有自己的堆栈吗?

  3. 我了解线程只是进程的一部分。当我们处理内核线程时,这里对应的过程是什么?内核进程是什么,您能举个例子吗?

我也提到了其他答案,但没有得到满意的答复。

1 个答案:

答案 0 :(得分:0)

depends关于操作系统的实施。

但是通常,像在Linux中一样,系统调用是在调用它的线程上执行的。每个线程都有a user stack and a kernel stack

有关更多详细信息,请参见How does a system call workHow is the system call in Linux implemented?。我希望this link可以解决您有关“内核线程”的问题。