Linux内核分析作业第二周
Posted esalle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核分析作业第二周相关的知识,希望对你有一定的参考价值。
操作系统是如何工作的
一、函数调用堆栈
1、计算机工作三个法宝
存储程序计算机、中断机制、堆栈
2、堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间
-函数调用框架
-传递参数
-保存返回地址
-提供局部变量空间
3、堆栈相关的寄存器
-esp,堆栈指针,指向栈顶
-ebp,基址指针,指向栈底,在C语言中用作记录当前函数调用基址。
4、其他关键寄存器
-cs(代码段寄存器) : eip:总是指向下一条的指令地址
- 顺序执行:总是指向地址连续的下一条指令
- 跳转/分支:执行这样的指令的时候, cs : eip的值会根据程序需要被修改
- call:将当前cs:eip的值压入栈顶,cs:eip指向被调用函数的入口地址。
- ret:从栈顶弹出原来保存在这里的cs:eip的值,放入cs:eip中
以上是关于Linux内核分析作业第二周的主要内容,如果未能解决你的问题,请参考以下文章