写在操作系统学习前

辩证的看设计,无论是何种设计,总会有优点缺点,不要走入“那种编程语言更好”类似的误区。譬如:Linux相对于Minix,Minix的设计哲学按说是更强大(内核体积进一步减小,各模块解耦充分。但是Minix就是不如Linux实用,实际中服务器基本都是Linux内核。所以一定要明白Linux也不是万能的,也有设计缺点。


第一步

熟悉操作系统基本原理,无论是知乎还是百度,或者是《操作系统原理》类似的书籍。首先明白操作系统分几部分组成,每部分设计的目的。(把自己当成大牛,想想自己会怎么设计操作系统,也就能明白大牛为什么要这么设计,设计的好处和坏处)。


第二步

搭建自己的实验环境,推荐《ORANGE’S:一个操作系统的实现(高清晰版)》这本书。按照书上的介绍,搭建开发环境。(这一步很重要,多少人眼高手低最终没学会,就是因为实验环境没搭建好,我在很多年前也犯过此错误,天天看书就以为学会了,实际怎么修改代码都不会。这就是因为没有在实际环境中开发、实验导致的)。


第三步

先学《linux0.11内核设计》,根据赵炯博士的书,先搞明白一个最简单的内核由那些部分组成。内核设计思想是如何和具体的硬件关联起来的。其实,看完这本书就差不多了,因为操作系统设计思想一直没变。后面只是为了实现各种额外的功能而采取的具体的策略。就比如云操作系统、虚拟文件系统、并行计算等等,确实是新技术,但是好学。学会基本思想,后面就一通百通了。


第四步

再看《深入Linux内核架构》,详细了解当前内核最新的技术进展,了解每一部分的发展方向。最好、最好,动手改下内核,做做实验。


以上就是个人的一点见解,有问题请联系我。联系方式,邮箱:dulu150@126.com。或者论坛直接留言。

Logo

更多推荐