Linux中有关堆栈常量结构的思维导图,包括Linux中有关堆栈常量结构的思维导图,包括常量定义、存放在栈中的寄存器结构 pt_regs等
树图思维导图提供 堆栈常量结构思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 堆栈常量结构思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:920edddd9d0575ec84d59db8c361f807
堆栈常量结构思维导图思维导图模板大纲
了进入中断处理程序时,相关寄存器与堆栈指针(ESP)的相对位置
ORIG_EAX 是 Original eax 之意
是 pt_regs 数据结构,定义在 include/i386/ptrace.h 中
把这个结构与内核栈的内容相比较,会发现堆栈的内容是这个数据结构的一个映像
在中断发生前夕,要把所有相关寄存器的内容都保存在堆栈中
宏解释
CPU 在进入中断处理程序时自动将用户栈指针(如果更换堆栈)、EFLAGS 寄存器及返回地址一同压入堆栈
段寄存器 DS 和 ES 原来的内容入栈,然后装入内核数据段描述符__KERNEL_DS(定义为 0x18),内核段的 DPL 为 0
从中断返回时,恢复相关寄存器的内容
当执行到 iret 指令时,内核栈又恢复到刚进入中断门时的状态,并使 CPU 从中断返回
进程的 task_struct存放在内核栈的底部
以把 task_struct 结构的地址放在 reg 寄存器中