计算机的核心 --CPU
计算机我们每天都在使用,人的基本生存--衣、食、住、行、网络,计算机帮助人们实现了很多的功能,方便了我们的生活。但是真正了解计算机内部核心部件的人很少,因为晦涩的机器语言总是让人兴趣下降,但总要有人去了解它,兴许换个角度,我们才能豁然开朗。
高级语言与机器代码直接的连接是编译器,高级语言更接近普通话,而机器语言就像天书一样,云山雾罩、不知所措,从C语言、汇编、类似机器语言,涉及到很多的符号、字母,例如:%,mov,pop,$,add,sub,leave,push,etc;有时候你的英语真的能让你深入“险境”,mov=move,移动 -> 赋值 ->内存中有相同的数值,add=addition,加法,sub=substraction,减法,翻译的人总会绞尽脑汁的融入中国元素,让我们理解起来更加容易,实际上汇编语言,我也就是个浅尝辄止,但是我不想让自己始终停滞不前,10000小时定律,250天*8小时=2000小时,5年后你的计算机技术就上升了一个台阶,5年后我也快30岁了,人的黄金年龄呀,所以每个人都要有目标,每天忍住寂寞、孤独去努力、思考、改变。
废话太多了,CPU作为中枢,下达指令,在内存中存储,调用,C代码的执行,从main函数开始,同样汇编语言也从main命令行开始执行,栈起到了关键的作用,数据结构接触到栈、队列,栈就像一个杯子,进栈就像往杯子里倒水,出栈就是喝水,总之只有一个口,整个执行过程本质是指令流的往复,最终要与我们的自然语言保持一致。esp\eip\ebp,这些寄存器,对指令做出响应,由栈底依次到栈顶、再由栈顶恢复到栈底,标志着整个过程结束,还是有待补充.....
刘占鹏《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000