【发布时间】:2013-06-02 21:36:20
【问题描述】:
我正在准备操作系统考试,但刚刚意识到我不知道内核是否会取消映射为用户模式堆栈分配的页表条目?
我无法在任何地方找到答案,而且阅读内核代码需要很长时间,所以我认为在这里提问可能会更快。
编辑:我想内核不可能知道何时缩小堆栈的大小。不过,明确执行此操作的系统调用不会受到伤害。
【问题讨论】:
我正在准备操作系统考试,但刚刚意识到我不知道内核是否会取消映射为用户模式堆栈分配的页表条目?
我无法在任何地方找到答案,而且阅读内核代码需要很长时间,所以我认为在这里提问可能会更快。
编辑:我想内核不可能知道何时缩小堆栈的大小。不过,明确执行此操作的系统调用不会受到伤害。
【问题讨论】:
用户线程由glic pthread库创建,用户线程的栈由调用malloc()创建。
Linux 的默认用户堆栈大小默认限制为 8MB。你可以通过 ulimit 命令来改变:
$ ulimit -s
8192 # The stack size limit is 8 MB (0x800000 bytes)
【讨论】: