此文仅用于MOOC
Linux内核分析
作业张依依+原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
转眼间,8个星期的Linux内核
课程结束啦.
老实说,还是有点舍不得呢:)其实在目前的生活中,接触到Linux系统的机会比较少,所用的系统都是Windows和OS X.虽然一直有好好学一下Linux的想法,但是理想丰满现实骨感,迟迟没有合适的时机和动力.
终于!某天在云课堂上看到一门Linux内核分析课程(没错,此处为硬广),我就选了课准备听一下.
关于Linux内核
一直以来,我都认为Linux
是一个简洁高效的系统.这点可以从Linux简单而有效的进程调度方式看出来.
作为Linux系统的灵魂,Linux内核抽象了很多硬件细节,实现了很多操作系统的主要功能.
如果把Linux内核看作一个整体,从时间流的角度来看的画,Linux内核实现是其实就是一个一个进程之间的切换.
这其中很多过程是围绕着schedule()
展开的,Linux系统的一般执行过程最一般的情况可以简化为正在运行的用户态进程X切换到运行用户态进程Y的过程.其中最关键就是理解上下文切换.
- 中断上下文
- 进程上下文
作业列表
- 瞬息万变的指令系统
- 多进程时间片轮转
- Linux内核启动分析
- 使用嵌入汇编实现系统调用
- system_call中断处理过程
- Linux内核创建一个新进程的过程
- 如何装载和启动一个可执行程序
- 进程调度跟踪分析
总结
有什么收获?
最初选择了这门课,是本着多一些了解&反正闲来没事既然有课那就慕名前来学习的想法.真正开始以后,挺喜欢老师的讲课风格就一直坚持下来了.所来非虚:)
- 完成了我最初听这门课的初衷–多一些了解
- 显然我获得的知识远远超过自己预期
- 这可能是我第一个完成的
MOOC
课程,万事开头难,期待更多的MOOC - Linux系统对程序员是非常友好的,今后有机会一定更多的使用它
最大的收获:如果说一定要有一个最,那一定是我不知不觉完成这门课程,不提成绩,获得的远非单单的八节课.
有什么遗憾?
- 这门课属于那种深入浅出的类型,可能是由于篇幅的原因,有些地方并没有讲到.
- 手中没有一本合适的书来配合课程的学习,应该边读边学的
- 最后考试的时候题还没做完就提交了,不专心的后果
- 如果有时间的话,希望把Understanding the Linux Kernel列到书单里面,认真阅读一下
- 当然啦,最遗憾的是没有几个一起学习的朋友互相交流一下
当然了,遗憾不是用来感慨的,它是为了让我们变成更好的自己.正如那句话:
我的征途是星辰大海
最后
真的非常感谢孟宁老师,以后有什么课程我一定会尾随而来的:)