每个进程是否都存在内核堆栈?

2024-05-06

每个用户空间进程是否都存在一个内核堆栈和一个用户空间堆栈?如果两个堆栈都存在,那么每个用户空间进程应该有 2 个堆栈指针,对吗?


在 Linux 中,每个任务(用户空间或内核线程)都有一个 8kb 或 4kb 的内核堆栈,具体取决于内核配置。确实存在单独的堆栈指针,但是,在任何给定时间,CPU 中都只存在一个;如果用户空间代码正在运行,则用于异常或中断的内核堆栈指针由任务状态段指定;如果内核代码正在运行,则用户堆栈指针保存在位于内核堆栈上的上下文结构中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每个进程是否都存在内核堆栈? 的相关文章

随机推荐