首页 > 其他 > 详细

深入理解计算机

时间:2016-03-05 00:22:47      阅读:232      评论:0      收藏:0      [点我收藏+]

一、计算机是如何工作的

1、1 计算机的三个法宝

存储程序计算机、函数调用堆栈、中断机制。

堆栈是C语言程序运行时必须记录调用路径和参数的空间。(函数调用框架、传递参数、保存返回地址、提供局部变量空间)

1、2 深入理解函数堆栈

(1)push栈顶减少4个字节

pop栈顶增加4个字节

ebp在C语言中用作记录当前函数调用基址

(2)其他关键寄存器

技术分享 

(3)函数堆栈框架

技术分享

 

技术分享        技术分享

1、3 参数传递与局部变量

(1) 生成反汇编代码

技术分享

(2)分析语句示例

sub &0x18,%esp在堆栈中预留出空间存储变量    

  技术分享

二、借助Linux内核部分源代码模拟存储程序计算机工作模型及时钟中断

2、1 mykernel实验背后涉及的思想

一个 程序有一个自己的执行流,如何切换到另一个程序?

  由CPU和内核代码共同实现了保护现场和恢复现场,当中断信号发生,cpu把当前信号的esp、ebp压到内核堆栈中去,把eip指向中断处理程序的入口。

2、2 利用mykernel实验模拟计算机硬件平台

 (1)利用实验楼的平台搭建

技术分享

 技术分享

自己实验截图:

 

深入理解计算机

原文:http://www.cnblogs.com/gyt0520/p/5243381.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!