Linux内核学习:
就我学习的体会来说,按下面方式学习Linux内核会比较有趣/轻松:
1 读一下《自己动手写操作系统》,它实现了一个非常简单的操作系统,系统启动/多任务/多个终端的支持都跟Linux很像,但是非常简单,可以了解到系统启动/保护模式编程等相关知识,这可以为Linux内核学习铺路,后面学起来可以更轻松,看什么都似乎不仅知其然也知其所以然了,所以学起来会有趣/轻松。
2 读一下《Linux 0.11内核完全注释》,此书最新版本3.0,CSDN有下载。虽然它内容比较多,很多地方太细,而讲解的内核又太老,但我觉得稍微花点时间看看/了解一下还是不错的。
3 实践,前面两本书都会介绍虚拟机下调试Linux内核的方法,多实践,才是学习的正道,只看书会眼高手低的。
渡过Linux学习的迷茫期:
1 明确学习目标。是Linux操作/日常应用/应用编程/内核编程/网络应用/服务器?如果是日常应用,应该非常简单的,Linux图形界面现在跟Windows差别并不大,多点点鼠标摸索一下,估计就可以像驾驭windows一样驾驭它了。如果是其它目标,则还是有一点学习路程的。
2 明确家底,思考一下自己已经掌握了哪些知识,比如如果要学习内核编程,那么需要了解汇编/保护模式编程/C/计算机体系结构以及硬件方面的知识,当然对这些了解不深也可以开始,在研究的过程中学习也非常好。
3 安装Linux,多使用它。开始,可以在VMWare虚拟机上练习,然后可以在真实电脑上装一个,可以用Ubuntu Wubi安装,它可以像安装一个Windows应用程序一样安装Linux。使用Linux过程中,建议多用命令行,多用键盘少用鼠标,多查阅相关资料,不要动不动就重装系统,遇到问题了正是提高的机会,要查阅资料动脑思考去解决它。
4 还是多动手实践。LFS是从无到有编译安装一个Linux,如果你操作一下,估计进步会很大。
5 如果对内核感兴趣,可以研究下内核。前面有帖子还说了这件事,推荐先阅读《自己动手写操作系统》铺路。http://bbs.diybl.com/37/20090818/4957.html
6 只动手不看书,估计是不现实的。看书也很重要,不想动手了就看看书,寻找一些继续前进的思路,推荐一些好书:《Linux权威指南》。
答复初学者不会用Linux的问题:
如果你只是想像用Windows那样完成普通的日常工作,那么你基本不需要太多学习,安装一个Linux,像用Windows一样用就可以了,界面和操作习惯虽然与Windows有些差异,只要多动动鼠标,多到这里点点那里点点,有Windows的使用基础,学习起来是很简单的。
如果你想成为高手,想使用命令行,那么初学命令行,推荐看看《UNIX Tutorial for Beginners》,这是讲述内容非常少/好练习的一本书,初学起来比较容易。
正在阅读《Linux操作系统原理与应用》
据说它能弥补理论和实践的鸿沟,有一些实际练习:)
本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/sinojelly/209937,如需转载请自行联系原作者