《Linux内核 》MOOC 课程

姬梦馨

原创微博

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 

学习笔记

一:什么是冯诺依曼体系结构?
      就是指存储程序计算机。
     两个层面:1.从硬件的角度上来说:

 


2. 从程序员的角度来看:

 

二:.CPU识别什么样的指令?
API:程序员与计算机的接口。
应用程序编程接口
ABI :二进制接口,指令编码。
程序与CPU的接口。


三.32位的X86是由EIP指向内存的某条指令。
EIP 自加一,是假一条指令。不是一个字节等。
还可以被其他指令修改。

 

 《Linux内核 》MOOC 课程_第1张图片

 

 


X86 Regsiters

1.CPU 在实际取指令时根据 cs:eip 来准确定位一个指令。
cs:代码段寄存器,其值为代码段的段值。
ss: 堆栈段寄存器,其值为堆栈段的段值。

《Linux内核 》MOOC 课程_第2张图片

2.标志寄存器
通用寄存器
3.X86_64 位寄存器
和32 位差别也不大。指核心机制上差别不大。
4.R指64位。

 《Linux内核 》MOOC 课程_第3张图片

 

 

计算机的汇编指令
1.mov 指令。
b :8位. w :16位 I:32位 q :64位

《Linux内核 》MOOC 课程_第4张图片

《Linux内核 》MOOC 课程_第5张图片

 

 其他一些重要的指令

《Linux内核 》MOOC 课程_第6张图片

 

 

 

 实验

 函数调用堆栈是理解C语言代码在CPU上执行的关键
汇编一个简单的C程序 

《Linux内核 》MOOC 课程_第7张图片

 

  C程序及对应的汇编程序

所有以点开头的都是用于链接时候的一些辅助信息,不会在实际中被执行。  
《Linux内核 》MOOC 课程_第8张图片

 

 

 

 

 

自己对“计算机是如何工作的”理解:

对计算机是如何工作的有了更深刻的理解。了解到各种 各样的计算机寄存器,通过实验,反汇编。感觉计算机的工作很有意思。

计算机是依据冯诺依曼体存储结构,依据其核心思想——存储程序计算机工作模型,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作。 

计算机中每个部件都有自己的分配,配合着进行工作。

 

 

 

 

 

 


 

你可能感兴趣的:(《Linux内核 》MOOC 课程)