【发布时间】:2018-09-23 07:12:38
【问题描述】:
我正在开发 Pintos。
这有点像用于学习构建操作系统的教育工具,并且我正在从事第二个项目,该项目旨在为用户程序构建支持。
所以,首要任务是设置堆栈!太好了。
问题是 - 自从上课开始以来,我一直对 The Stack 这些词感到不寒而栗 - 因为我永远无法完全理解 The Stack 是什么以及它如何影响程序或线程的执行。所以我知道这是在 RAM 中设置的内存区域,仅此而已。
我的问题如下:
- 栈的作用是什么?
- 关于程序计数器、寄存器和堆栈指针,“堆栈”如何影响 CPU 中线程的执行?
- 东西是如何添加到堆栈中的,又是如何从堆栈中删除的?
- 此外,即使您不了解 Pintos,在为操作系统中的用户程序构建支持时“设置堆栈”是什么意思?
【问题讨论】:
-
这太宽泛了,与计算机结构更相关。与操作系统无关。
-
什么意思?这与操作系统有关。堆栈是操作系统管理进程和内存的一个组成部分。
标签: multithreading operating-system stack cpu pintos