罗晓波 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
不知不觉,八周课程一晃而过,回想起当初选择这门课到学习完最后一个课件,也是一个习惯的养成了,到现在我倒是习惯性地在周五和周日上一下课程主页,不过在这八周的线上课程学习中,我还是有所收获的,下面把我的一点小感想分享一下吧。
课程第一周,通过一段反汇编代码浅析计算机工作方式,这一周主要是通过实验“通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的”,通过反汇编,得到一段C程序的对应的汇编代码,通过在反汇编中esp,ebp,eip的变化以及堆栈的变化来说明了冯诺依曼体系结构下计算机的工作方式,函数的调用栈的状态变化等。
课程第二周,通过一段精简的进程切换代码,聊一下OS是如何工作,这一周主要通过老师给的一个精简的MyKernel 内核,分析精简的mykernel代码,Mykernel OS对于进程的启动以及切换较之linux 内核都是有一定相似性的,但是真正的linux内核考虑的东西远比这个mykernel多得多,但是都是从一个初始化上下文环境的函数开始执行,即start_kernel函数,创建很多进程或者fork若干进程,当中