Linux内核分析— —计算机是如何工作的(20135213林涵锦)
2016-02-28 18:00
381 查看
实验部分
(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同)使用
gcc –S –o main.s main.c -m32
命令编译成汇编代码,
int g(int x)
{
return x + 6;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(13) +2;
}
1. 实验截图
复制代码到实验楼编译,打开main.s(打开前忘记截图,改完后截的图)
删完冗余部分,剩下的汇编代码
2.分析汇编代码的工作过程中堆栈的变化
3.总结部分需要阐明自己对“计算机是如何工作的”理解。
首先是了解计算机的工作模型://图以及解说源自百度
(冯·诺依曼体系结构:把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。数字计算机的数制采用二进制;计算机应该按照程序顺序执行。)
按老师给的图也挺好理解://图及解说源自云课堂截图
IP:寄存器,总是指向内存的代码段。 内存:保存数据和指令。
CPU:CPU从IP指向的内存地址取指令执行,执行之后IP自加一,然后继续执行。
然后我们可以大概了解计算机是如何工作的:
先在内存中运行第一条指令,然后根据其指令的内容及要求,从存储器中取出相应的数据在CPU中执行,最后根据地址将结果返回到内存之中。
重复这样的步骤直到停止指令出现或完成所有指令。
注:
姓名:林涵锦
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
相关文章推荐
- http server原理,nginx与php之间是如何工作的
- Spring中HttpInvoker远程方法例子
- 007_Http之常用编码
- 【UNIX网络编程(二)】基本TCP套接字编程函数
- 在有网络还是比较好解决软件上的问题
- IP地址段计算方法——计算最大广播地址,最小网络地址
- CSDN博客以后不再使用,转移到博客园了(http://www.cnblogs.com/dongc/)
- 计算机专业英语 学习笔记 6
- 22.网络提速(最短路)
- 22.网络提速(最短路)
- 22.网络提速(最短路)
- 22.网络提速(最短路)
- 22.网络提速(最短路)
- HTTP协议
- 网络流(最大流) POJ 1637 Sightseeing tour
- http中get与post的真正区别
- wireshark实战之:TCP协议
- CentOS6.5下使用NetHogs监控进程网络使用情况
- 《Linux内核分析》 之 计算机是如何工作的
- 数据结构学习笔记1-概述