Linux内核分析— —计算机是如何工作的(20135213林涵锦)
实验部分
(以下命令为实验楼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
转载于:https://www.cnblogs.com/20135213lhj/p/5225247.html
Linux内核分析— —计算机是如何工作的(20135213林涵锦)相关推荐
- Linux内核分析——操作系统是如何工作的
姓名:王晨光 学号:20133232 王晨光+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000 ...
- Linux内核分析--操作系统是如何工作的
"平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- 庖丁解牛Linux内核分析01:操作系统工作原理基础
目录 1 存储程序计算机工作模型 2 IA-32汇编基础 2.1 寄存器概述 2.1.1 通用寄存器 2.1.2 段寄存器 2.1.3 标志寄存器 2.2 数据格式 2.3 寻址方式 2.3.1 立即 ...
- 《Linux内核分析》第一周笔记 计算机是如何工作的
一.计算机是如何工作的? 1.存储程序计算机工作模型 1)冯诺依曼体系结构 学习研究计算机的基本概念.就是指存储程序计算机.所有的有计算功能的电子设备小到计算器,大到超级计算机核心部分都可以用这种体系 ...
- 《Linux内核分析》 第一节 计算机是如何工作的
第一节 计算机是如何工作的 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-100002900 ...
- Linux内核分析第一周——计算机是如何工作的
冯诺依曼体系结构 核心思想 1.冯诺依曼是:数字计算机的数制采用二进制:计算机应该按照程序顺序执行. 2.采用二进制作为计算机数值计算的基础,以0.1代表数值.不采用人类常用的十进制计数方法,二进制使 ...
- 《Linux内核分析》MOOC课程之从汇编语言角度看计算机是如何工作的
2019独角兽企业重金招聘Python工程师标准>>> piratezgw 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study. ...
- LINUX内核分析第二周学习总结——操作系统是如何工作的
LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...
- Linux内核分析第二周:操作系统是如何工作的
第一讲 函数调用堆栈 计算机是如何工作的? (总结)--三个法宝 1,存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 2,函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆 ...
最新文章
- 无法解析的外部符号 class boost::system::error_category const __cdecl boost::system::system_category(void)
- 关于双机热备,你该知道那些问题?
- .DLL文件是什么?
- boost::log::attribute_value用法的测试程序
- web worker技术-js新线程
- Redis布隆过滤器
- Canvas-drawImage 绘制图片模糊问题
- Qt4_Ticker定时器事件
- pythonnumpy详解_Python:Numpy详解
- Mimikatz 攻防杂谈
- 计算机房用还原保护软件,“小哨兵”还原卡v9.1在机房的巧妙应用
- 初识数据分析利器SPSS
- G-sensor概述及常用概念整理【转】
- 自动化测试(定位元素的方式,浏览器操作)
- 在QPixmap的图片上添加文字
- 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日
- 暗影精灵双系统(win10和Ubuntu16.04)安装+Cuda和tensorflow安装-深度学习环境配置
- java 实现繁简字体转换(笨方法)
- puppeteer在linux上模拟浏览器截图——截取微信公众号文章全文实例
- Magnetic Actuation for Full Dexterity Microrobotic Control Using Rotating Permanent Magnets
热门文章
- html设置table border,用css来设置table的border
- android studio 测试工具,使用Android Studio进行单元测试
- security 底层原理_spring security 实现remeber me(免登陆功能)的原理
- 腾讯 java_2019腾讯的面试题(腾讯qq音乐部门)
- 【图像超分辨率】MSAN:Scene-Adaptive RS Img SR a Multiscale Attention
- 数学--数论--广义欧拉降幂(模板)
- elasticsearch 5.6.x单机环境构建(集成head插件和IK中文分词)
- AI有道干货 --- 126 篇 AI 原创文章精选(ML、DL、资源、教程)
- 【IT笔试面试题整理】二叉树中和为某一值的路径--所有可能路径
- 谷歌 MapReduce 初探