《基于Linux的C编程与内核导读》连载(1)
时间:2006-12-15 来源:gaowp
前言
本来没想把平时的一些学习笔记整理成一本书,不过前日一位老友看过原稿后坚持让要我整理一下,说这样一些精彩的想法应该整理出来让大家一起共享,于是也就有了这本书。
“学而不思则惘,思而不学则怠”两千多年前孔老夫子的话,让我有了深刻的体会。从下决心学习linux开始,我经历了好多的挫折,也因此有了一些教训和心得。刚开始时见一位学长在苦读linux内核,被其雄心壮志和不怕牺牲的精神所深深感染,遂跟其研读linux内核。但是在读的过程中却发现自己在本科时学的那点操作系统知识根本不够,所以又回头重学OS的理论原理。然而人生的转折总发生在惨痛失败后的反思,自己在研读内核一年后,自觉水平可以,于朋友面前也常常自夸。不过一日,一外系老兄闻名前来求助,让我帮其编写一个设备驱动。自己闭屋三日,写出来东西却错误百出,得到的是对自己深深地失望。痛定思痛后决定不能再纸上谈兵,“绝知此事要躬行”要利用自己的知识多应用,多编一些应用程序。
本书的思路也就是我反思的结果,学习任何一个系统都首先要有坚实的理论知识,随后在研读内核的基础上一定要多应用。光看内核不编程,日久便会迷茫;光编程不看内核,就不能掌握系统的实质。
本书分为八章,前两章是C编程和研读内核的基础知识。中间五章分别讲了进程管理、存储管理、文件系统、设备管理和网络编程,其中每一章都分为基础知识、内核导读和C语言编程三节。最后一章是一些有用的专题总结,包括shell程序设计、内核模块编程等。
另外要特别声明,本书是自己的学习笔记整理。既然是学习笔记,肯定借鉴了许多别人书上的成果和例子,在此向他们表示感谢。本书不用于商业出版,仅限于各位linux爱好者学习使用。