Linux内核分析课程笔记(一)
linux内核分析课程笔记(一) 冯诺依曼体系结构 冯诺依曼体系结构实际上就是存储程序计算机。 从两个层面来讲: 从硬件的角度来看,冯诺依曼体系结构逻辑上可以抽象成CPU和内存,通过总线相连。CPU上有一些寄存器,IP(Instruction Pointer)是一个指针,总是指向内存的某一块区域CS(Code Segment),CPU即从IP指向的地址取一条指令进行执行,执行完之后IP自增1,加到下一条指令(逻辑意义上的1,因为有些指令系统是变长指令) 从程序员的角度来看,存储程序计算机。CPU从程序员的角度可以抽象成一个无条件的for循环,总是执行下一条指令。 for(;;){ next instruction(); } API(Application Program Interface) ABI(Application Binary Interface) 32位的x86中EIP的三条特性: 每条指令执行完成后EIP自加1 指令的长度不同 EIP还可能会被一些指令修改,如:CALL、RET、JMP以及条件JUMP x86汇编基础 x86寄存器 有8位、16位和32位的寄存器。 16位:AX、BX、CX、DX、BP、SI、DI、SP 32位:EAX(累加器)、EBX(基地址寄存器)、ECX(计数寄存器)、EDX(数据寄存器)、EBP(堆栈基址指针)、ESI与EDI(变址寄存器)