首页 > 系统服务 > 详细

Linux内核分析作业第二周

时间:2016-03-05 16:00:48      阅读:255      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!