Linux内核分析 计算机是如何工作的——by王玥
1.冯诺依曼体系结构:也就是指存储程序计算机
- 硬件(存储程序计算机工作模式):
- 软件(程序员角度):
2.API:程序员与计算机的接口界面
ABI:程序与CPU的接口界面
3.X86的实现:
4.X86 CPU的寄存器:
- 所有E开头的寄存器一般来说都是32位的。
- EBP:堆栈基址指针
- ESP:堆栈顶指针
- 32位通用寄存器:
5.CPU在实际取指令时根据cs:eip来准确定位一个指令
6.EFLAGS register标志寄存器
7.X86的32位寄存器和64位寄存器在核心机制上差别不大,前面带R的都是64位寄存器
8.X86汇编指令:mov指令及几种内存寻址方式
- movl代表32位
- movq代表64位
- 寄存器模式:以%开头的寄存器标识符
- 立即数:以$开头的数值
- 直接寻址:直接访问一个指定的内存地址的数据
- 间接寻址:将寄存器的值作为一个内存地址来访问内存
- 变址寻址:在间接寻址时改变寄存器的数值
9.linux内核使用的是AT&T汇编格式
10.几个重要的汇编指令:push、pop、call、ret
11.函数调用堆栈是理解C代码在CPU上执行的关键。
12.eip寄存器不能被直接修改,只能通过特殊指令间接修改。
13可以被
代替
14.
15.函数调用堆栈是由逻辑上多个堆栈叠加起来的。
16.函数的返回值默认使用eax寄存器存储返回给上一级函数。
Linux内核分析 计算机是如何工作的——by王玥的更多相关文章
- LInux内核分析——计算机是如何工作的进行
万子惠 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 " 实 ...
- linux内核分析--计算机是如何工作的
实验部分 使用gcc -S -o main.s main.c -m32命令将源代码编译成汇编代码. 源代码如下: int g(int x) { return x + 9; } int f(int x) ...
- Linux内核分析— —计算机是如何工作的(20135213林涵锦)
实验部分 (以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同) 使用 gcc –S –o main.s main.c -m32 命令编译成汇编代码, int g(i ...
- Linux内核分析——计算机是如何工作的
马悦+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.计算机是如何工作的 ( ...
- Linux内核分析 笔记七 可执行程序的装载 ——by王玥
一.预处理.编译.链接和目标文件的格式 (一)可执行程序是怎么得来的? 1. 2.可执行文件的创建——预处理.编译和链接 shiyanlou:~/ $ cd Code ...
- Linux内核分析——操作系统是如何工作的
万子惠 + 原创作品转载请注明出处 + <Linux内核分析> 实验部分 使用实验楼的虚拟机打开shell 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain. ...
- Linux内核分析— —操作系统是如何工作的(20135213林涵锦)
mykernel实验指导(操作系统是如何工作的) 实验要求 运行并分析一个精简的操作系统内核,理解操作系统是如何工作的 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3. ...
- linux内核分析--操作系统是如何工作的?
一个简单的时间片轮转多道程序 操作系统的"两把剑":中断上下文(保存现场和恢复现场)和进程上下文的切换 源代码的分析 *使用的源代码为视频中所使用的精简内核的源代码 首先分析myp ...
- Linux内核分析--操作系统是如何工作的
“平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 一.初 ...
随机推荐
- Beta 冲刺 (7/7)
Beta 冲刺 (7/7) 队名:洛基小队 峻雄(组长) 已完成:人物释放技能部分的实现 后两天计划:整合脚本,测试内容 剩余任务:整合各部分脚本 困难:尽快完善整合出β版的内容 非易 已完成:商店功 ...
- Python接口自动化--SSL 3
官方文档参考地址: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings 针对SSL Warnings,u ...
- 夯实基础之--new关键字、instanceOf原理
1.instanceOf原理 检测右边构造函数的prototype是否在左边对象的原型链上,在返回true,不在返回false 例:function Persion(name,age){ this ...
- 【转】给网站添加X-UA-Compatible标签
X-UA-Compatible是神马? X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中 ...
- CSS2.0实现面包屑
CSS2.0实现面包屑 面包屑这样的 我们以前都是用背景图片做这块工作,但是直到大概2个星期之前在新浪微博上看到用css3.0实现这样的面包屑 但是目前情况下IE6-8并不支持css3.0 只有标准游 ...
- python3——print使用
print的初步认识:对于科班出身的或有相关经验的人来说,学习python是相当有趣的事,因为可以做日常任务, 比如自动备份你的MP3:可以做网站,如YouTube就是Python写的:可以做 ...
- handsontable 拖动末尾列至前面列位置,被拖动列消失的问题
问题描述:将最后一列在往前面列位置进行拖动后,被拖动的最后列消失掉了. 解决办法:在handsontabel绑定中去设置data值,取消通过 loadData 绑定data $("#topF ...
- Linux系统扫描技术及安全防范
1.概述 一.主机扫描 二.路由扫描 三.批量服务扫描 四.linux防范恶意扫描安全策略 一个典型的网络安全事件 ·案例:通过网络扫描方式获取某运营商核心设备管理权限 step01:通过tracer ...
- BZOJ 3812 : 主旋律
非常神仙的状压DP+容斥原理. 首先,给出一个状压方程:$f_S$表示点集为$S$的情况下,整个点集构成强连通图的方案数. 这个DP方程还是比较容易想到的,但是没有办法正常转移,考虑通过容斥原理进行转 ...
- Patchwork(2013年)--CNV检测方法流程
文章题目:Patchwork: allele-specific copy number analysis of whole-genome sequenced tumor tissue 特点: 可以检测 ...