【发布时间】:2016-06-29 09:02:43
【问题描述】:
听起来可能是一个愚蠢的问题,但我只是想知道内存中有多少不同的堆栈区域,比如 4 个 CPU 内核(如果这真的完全取决于 CPU 的数量)?
据我所知,在引导加载程序中执行第一个 C 函数之前的某个时间点,在内存中的某个位置会创建一个为单个堆栈保留的区域。由于此时(只有一个正在运行的 CPU 内核)只有一个线程,我想只会创建一个堆栈区域。
然后,只要其他 3 个 CPU 开启,就会创建另外 3 个堆栈。我猜每个内核线程都会有它自己的堆栈区,每个用户进程和线程也是如此。
这个幼稚的假设正确吗?不确定 SO 是否是发布此问题的正确位置,但由于它是 STACKoverflow,我猜它是。 SU 甚至没有适当的堆栈标签。
【问题讨论】:
标签: memory operating-system stack cpu bootloader