linux内核代码情景分析学习笔记(一)
来源:互联网 发布:opengl中的裁剪算法 编辑:程序博客网 时间:2024/06/06 01:04
第一章:linux内核简介
内核安装后源码:/usr/src/linux

寻址方式:
(1) 根据指令的性质确定使用哪个段寄存器, 例如跳转指令的地址在代码段,取数指令在数据段。
(2) 根据段寄存器的内容,找到对应的“地址段描述结构”
(3) 从地址段描述结构中得到基地址
(4) 将指令中发出的地址作为唯一,与短描述结构中规定的段长度相比,看是否越界
(5) 根据指令的性质和短描述符中的访问权限确定是否越权
(6) 将指令中的地址作为唯一,与基地址相加得到实际的“物理地址”
页式内存线性地址到物理地址映射过程:
1024个目录项,没个目录项指向一个页面表,每个页面表有1024个页面描述项。 增加一个新的寄存器CR3作为当前页面目录的指针
Intel 汇编 vs AT&T汇编区别:
(1) Intel汇编大多使用大写字母,A大都使用小写
(2) A,寄存器名字前加“%”,Intel寄存器没有前缀
(3) Intel指令操作目标在前,源在后;A指令操作源在前,目标在后
(4) A,指令操作数大小(宽度)位数由操作码的后缀决定;Intel,在表示内存单元的操作数前面加上“BYTE PTR”,”WORD PTR”,”DWORD PTR”老表示。
(5) A,直接操作数前加“$”; 在Intel中直接操作数不带前缀
(6) A,绝对转移或调用指令jump/call的操作数(即转移或调用的目标地址),要加”*“为前缀;Intel不用
(7) 远程转移或远程子程序调用,A的格式为”ljmp”,”lcall”;Intel为”JMP FAR”,”CALL FAR”
(8) 间接寻址的格式:
Intel: SECTION:[BASE+INDEX*SCALE+DISP]
AT&T:section:disp(base,index,scale)
- linux内核代码情景分析学习笔记(一)
- 《Linux内核代码情景分析》观感
- 读Linux内核源码情景分析(一)
- linux内核源码情景分析阅读笔记(1)
- 《Linux内核情景分析》阅读笔记
- Linux内核源代码情景分析笔记
- windows内核情景分析学习笔记1
- windows内核情景分析学习笔记2
- windows内核情景分析学习笔记3
- windows内核情景分析学习笔记4
- windows内核情景分析学习笔记5
- windows内核情景分析学习笔记6
- windows内核情景分析学习笔记7
- windows内核情景分析学习笔记8
- windows内核情景分析学习笔记9
- windows内核情景分析学习笔记10
- windows内核情景分析学习笔记11
- windows内核情景分析学习笔记12
- 简单分享开放平台的设计理念和思路
- [IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets
- oracle触发器详解
- angularjs学习笔记—事件指令
- JVM垃圾收集算法及垃圾收集器(顶)
- linux内核代码情景分析学习笔记(一)
- mysql inner jion 效率问题实践
- VLC FOR IOS 截图
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
- ArrayList、LinkedList、Vector区别
- js Dom操作table添加行insertBefore
- 使用getopts处理shell中的输入参数
- 改变DataGridView列显示顺序,通过设置DisplayIndex来改变显示的顺序
- PHP Thread Safe 与 None Thread Safe 版本的区别