操作系统 - 用户堆栈 - 实际上没有4096个可用内存

时间:2015-05-28 14:17:26

标签: operating-system stack context-switch

有人确认当我们说某个应用程序的堆栈有4096个字节时,它实际上不能使用所有这些空间,因为有用于在应用程序(陷阱帧,...)之间切换的内存通常位于叠加。

此空间可能取决于不同的操作系统实现。

我是对的吗?

由于

1 个答案:

答案 0 :(得分:1)

1)这些天4096将是一个很小的堆栈。 2)您是否在谈论申请?

当你到达"你的"代码(主要的,无论如何),堆栈已经有多个调用帧(进入你的4096字节)。通常,在顶部,有一个框架可以处理返回操作系统的问题。然后可能有用于设置库和异常处理程序的框架。这些天通常有一个框架使用命令行参数。

所有这些都进入了筹码堆。