Linux是否为其运行的每个进程都有用户模式和系统模式堆栈?

时间:2014-02-24 04:33:43

标签: linux unix

这是我的作业问题。现在我明白了用户模式和内核模式之间的区别(我认为是系统模式)。

但我的问题是:这个过程在Linux中是如何运作的?系统是否为其运行的每个进程都具有用户模式和系统模式堆栈?

1 个答案:

答案 0 :(得分:2)

我相信这个问题已在这里得到解答:

  1. What is the difference between kernel stack and user stack?
  2. kernel stack and user space stack
  3. 也就是说,一个用户空间进程只有一个堆栈,指针指向task_structinclude/linux/sched.h的第二个元素(约为3.12中的第1045行)。

    如上面的帖子所述,有可能与每线程内核堆栈有些混淆。从某种意义上说,进程可以有一个或多个堆栈,用户空间和内核空间,具体取决于它在任何时间点的线程数。每个线程内核堆栈,线程和进程task_struct之间的连接由Junfeng Yang在此lecture中描述。