如何使用本书
笔者认为对于任何知识的学习,首先是以自我为中心,任何书籍资料都是用来解答读者心中的疑问的,因此在你阅读一本书时,首先要明确自己的疑问是什么?这可以是一个非常梗概的问题,例如:“Linux内核是什么?”;也可以是一个非常细节的问题,例如:“按下键盘上的A,到屏幕上显示出字符A的内部原理”。当你有了来自内心深处经过独立思考的疑问后,阅读对你来说是一种享受,一种乐趣。来自内心的疑问,经过不断的综合分析,缜密的推理,坚持不懈的查阅和求索,之后拨开迷雾见天日喜悦只有经过才能体会。虽然本书是一本很厚的书,但是这不是畏惧的理由,也不要因为它厚,就给自己下一个决心,制定一个阅读计划,几个月要读完本书。学习是主动探求的过程,而不是被动接受,在这个过程中,有太多的东西,不是谁可以计划出来的。例如:在笔者学习内核之初,看到大量的传言,读完《Understanding the linux Kernel》,读完《Linux内核情景分析》...就可以成为“高手”了。于是笔者常常捧着厚厚的书,寻思着自己什么时候可以读完,然而有时好几天也前进不了几页,免不了感慨自己今生将与“高手”无缘,但是又心有不甘,于是囫囵吞枣的“快速”前进,但是越前进,就越感觉到艰难。“欲速则不达”这个道理人人都懂,但是在切身体会之前,人人都会犯这个错误。在经历了很长一段曲折和郁闷之后,笔者摆脱了“书”的束缚,完全以自己的疑问为中心,例如在读到中断处理时,由于知识不够全面,于是丢开内核的书籍,阅读了大量的计算机体系结构方面的资料,同样计算机体系结构的书籍也很厚,但是我也没有想过要把它们读完,这时只捡中断相关的读,之后再来读内核的书籍,发现自己原理懂了,但是具体到理解代码时,就迷糊了,于是有补充GCC内嵌汇编,C代码编译到汇编代码的相关知识,反复试验等等。这个过程很慢,但是积累到最后,笔者发现自己读的非常快,甚至可以不读了,因为很多地方,只要读到前面的,就领悟了作者后面想要说什么了。
至今,我仍然没有完成当初为了成为“高手”而制定下的“宏伟”目标,因为我没有完整的读完《Understanding the Linux Kernel》、《Linux内核情景分析》或《Linux内核完全剖析》等等这类传说中“惊世骇俗”之作中的任何一本。但是笔者却从这些著作中受益菲浅。
现在,你应该知道要如何使用本书了吧?那就是不要拘泥如任何教条。虽然本书经笔者从初学到现在的心得体会以及相关笔记和资料整理而成,初学者的大量疑问都能在本书本书中找到答案。但是每个人都是独一无二的,笔者希望任何一个读者能综合利用本书和其它相关资料寻找你自己的答案。多问一点为什么,多一点假设,多一点思考,多一点推理,多一点试验,多一点坚持。最后,你会感慨原来传说中的任何“秘籍”都是“浪得虚名”,因为读完它,你不一定能成为“高手”,而“高手”却不需要读完它。能否成为“高手”的决定性因素取决于你的学习方法和学习态度,而好的“秘籍”仅仅只是催化剂。
由于笔者水平有限,纰漏之处在所难免,因此希望读者能够指正。笔者的联系方式是:Addylee2004@163.com.另外对本书有任何问题,意见或建议,勘误等等,欢迎前来http://www.osplay.org与笔者进行讨论。