深入理解计算机
Posted 20135109
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解计算机相关的知识,希望对你有一定的参考价值。
一、计算机是如何工作的
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)利用实验楼的平台搭建
自己实验截图:
以上是关于深入理解计算机的主要内容,如果未能解决你的问题,请参考以下文章