码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核分析作业第二周

时间:2016-03-05 16:03:38      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

操作系统是如何工作的

一、函数调用堆栈

 

1、计算机工作三个法宝

  存储程序计算机、中断机制、堆栈

2、堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间

-函数调用框架

-传递参数

-保存返回地址

-提供局部变量空间

3、堆栈相关的寄存器  

-esp,堆栈指针,指向栈顶

-ebp,基址指针,指向栈底,在C语言中用作记录当前函数调用基址。

4、其他关键寄存器  

  -cs(代码段寄存器) : eip:总是指向下一条的指令地址  

  • 顺序执行:总是指向地址连续的下一条指令
  • 跳转/分支:执行这样的指令的时候, cs : eip的值会根据程序需要被修改
  • call:将当前cs:eip的值压入栈顶,cs:eip指向被调用函数的入口地址。
  • ret:从栈顶弹出原来保存在这里的cs:eip的值,放入cs:eip中

 

Linux内核分析作业第二周

标签:

原文地址:http://www.cnblogs.com/20135231hj/p/5244777.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!