Linux内核态栈

Linux的内核态栈使用一种特殊的约定,分配栈时绝对是按栈大小对齐,然后在栈的最低地址处存放一个thread_info结构体

线程的内核态栈

这样设计带来的一个好处是非常容易低从栈指针得到栈的位置,方法就是把低位抹掉(换为0)。
因为目标系统是64位,栈的大小是16KB,因此,只要把低14位替换为零就得到栈空间的起始地址。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com

文章标题:Linux内核态栈

本文作者:KevinTen

发布时间:2019-10-21, 00:00:00

最后更新:2019-10-21, 19:53:56

原始链接:http://github.com/kevinten10/2019/10/21/OS/Linux-内核栈/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

csdn zhihu github