一直想买本关于操作系统的书,听不少人都说学操作系统要从linux学起,也看了好几本讲linux的书,但是总体感觉是过于理论化,所得到的都是些纯理论的东西,都在讲操作系统都需要干什么,对于如何实现这些功能却很少提及,即使提到也是些高深莫测的不知所云的玩意。无意中在网上发现了这本《自己动手写操作系统》,看到第一眼就有买的冲动,又在baidu上搜了下简介,于是读了这本书的导读,一下子被吸引了,作者说出了很久以来我心中有口中无的很多话,有种相见恨晚的感觉。因此从某种程度上说,我买这本书是冲着这篇导读买的。下面是从中摘出的些对我触动很大的话。
纸上得来终觉浅,绝知此事要躬行。 --------陆游
本书是一本操作系统开发实践的技术书书籍,对于操作系统技术感学起,想要亲身体验编写操作系统过程的实践主义者以及Minix,Linux源代码爱好者,都可以在本书中了解到实践所需的知识和思路。
1、有效而愉快的学习
成就感是学习过程中快乐的源泉,没有成就感学习效率就会大大降低,每个人都希望快乐有效的学习,可不幸的是,我们见到的操作系统课程干之八九都是在喋喋不休的讲述进程管理、存储管理、I/O控制、调度算法,我们到头来也没有一点感性的认识。我们好像已经理解却又好像一无所知。
我们将从20行代码开始,使最简单的操作系统婴儿慢慢长大长成一位翩翩少年,你将在不断的实践中获得成就感。
2、学习的过程应该是从感性到理性的提升过程
一千本描述泰山的书都比不上你一次登山的经历,再好的叙述也比不上亲身的体验,人们的认识规律本来如此,有了感性的认识,才能上升为理性的思考,反其道而行之只能是事倍功半。
3、暂时的失误并不可怕
当我们对一件事情的全貌没有很好的理解的时候,很可能会对某一部分产生理解上的误差,这就是所谓的断章取义,很多时候断章取义是难免的,但是不断学习过程中,我们会逐渐看的更多,了解更多,对原先的事物的认识也会变得深刻甚至完全不同。
4、挡住前路的,往往不是大树,而是小藤
如果不是亲手去做,你可能永远不知道什么是困难,写一个操作系统,即使是一个很小的可能受理论家嘲笑的操作系统雏形,仍然可能碰到一大堆没有想过的问题,而这些问题在传统的操作系统书籍中根本没有提到。所 以,唯一的办法就是亲自去做,只有实践了,才知道是怎么回事。
5、用到什么再学什么
实践→→遇到问题→→解决问题→→再实践
因为我们知道我们为什么学习,所以才会非常投入,由于我们知道我们的目标是解决什么问题,所以才会很专注,因为我们在实践中学习,所以才会非常高效。
6、只要用心就没有学不会的东西
我们所做的并非创造性的工作,所有的问题前人都曾经解决过,所以我们更应无所为惧,当遇到困难时,请静下心来,慢慢研究,只要用心,就没有学不会的东西。
7、适当的囫囵吞枣
如果囫囵吞枣只是学习的过程,而非终点,那它并不一定是坏事,等过一段时间,这些问题就会自然解决。