我知道用户级线程是在用户空间中实现的,而内核级线程是在内核空间中实现的。我还读过用户级线程被映射到内核级线程上以实际运行用户级线程。
“实现”的确切含义是什么?这是否意味着线程控制块分别在用户空间和内核空间中定义?
进行系统调用时会发生什么?此系统调用在哪个内核线程(或用户线程IDK)上运行?每个内核级堆栈都有自己的堆栈吗?
我了解线程只是进程的一部分。当我们处理内核线程时,这里对应的过程是什么?内核进程是什么,您能举个例子吗?
我也提到了其他答案,但没有得到满意的答复。
答案 0 :(得分:0)
depends关于操作系统的实施。
但是通常,像在Linux中一样,系统调用是在调用它的线程上执行的。每个线程都有a user stack and a kernel stack。
有关更多详细信息,请参见How does a system call work和How is the system call in Linux implemented?。我希望this link可以解决您有关“内核线程”的问题。