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内核分析作业第二周的主要内容,如果未能解决你的问题,请参考以下文章

20169217《Linux内核原理与分析》第二周作业

20169203《Linux内核原理与分析》第二周作业

2017-2018-1 20179219《Linux内核原理与分析》第二周作业

linux内核分析第二周

Linux内核分析(第二周)

20169217 《Linux内核原理与分析》 课程总结