您的位置:首页 > 运维架构 > Linux

我的linux学习路线

2014-04-15 16:34 281 查看
还是一步一步的学习吧。本科生一个,C语言基础还可以,看内核也并不是看不懂,我的问题我感觉是对linux操作系统不是很熟悉,这几天在网上看了一些大牛的学习历程结合之间学习经验稍作总结。

1)我对linux启动过程init有一个较为全面的学习,发现真的就是自己对linux中提供的各种库函数以及变量结构体等内容不熟悉,比如简单的do_fork函数的使用,由此,我决定还是用一下linux中提供的库函数。新手最忌讳的就是图快。建议看《unix环境高级编程》、《深入理解linux内核》只看一本就可以了。C语言一定要强悍,最简单的就是linux中链表的实现,我之前没有用过只是看,后来实现了一下还是学习到了很多东西,如:对内存的操作。让我进一步体会到了C语言指针的强大以及linux代码之优秀。我之前都是用java。之后学习了3周的C语言,《C和指针》《C专家编程》都看完了,但是还是不够,关键要用,幸好同学都在找工作,从各种公司的笔试题中我学习到了C好多的使用场景。上面的C语言的书比较老了,如果你现在只是一个大3学生并且想找工作,建议看一下《C
primer plus》。上面将了最新的C99标准,linux中用到的还是挺多。同样的,GNU对C语言进行了扩展,但是不是特别多,我的博客中有相关内容。之前也花了将近3周的时间看了《精通unix下C语言》,但是都遗忘了,在看内核的过程中这本书学习到的东西还是给了我一些启发。但是我的linux还是不行,就是没有做linux相关的项目,做为一个本科生,我每天差不多学习12个小时,但是没人带我,没有项目只能靠自己,这是可以参照上面我提到的linux相关的书,书中都有相关的实例代码,必须要敲一下,多看几遍书。最重要的还是Makefile文件了,一定要仔细学习一下Makefile。我的最终目标是android内核,所以,linux是基础,还有很长的路要走。android内核也看了一些,对JNI比较熟悉,但是android内核中C++代码量比较大,如果要研究android内核C++也必须要精通。

2)上面的内容你能hold住吗?操作系统还是要看一些的,汇编我是不懂,我之前做了2年时间的java,对硬件真心不懂。我感觉如果不想做硬件的话,汇编不一定非懂不可。有了上面的基础就可以看内核了,网上有好多的资料,我也整理了一些,有时间会写出了和大家分享。内核其实并不是特别难,只要你的智商是正常的都会看懂的。所以,如果你想研究内核的话一定要坚持住。

3)当然,上面的内容在学习了2个半月(我指每周学习6天)之后就差不多可以看内核了,如果你是一个学生,可能会慢一些但一定要坚持,当然可以学习内核并不代表能力够了,只是说基础知识可以了,还需要在看内核的过程中学着使用一些内核中的函数,我的目标是做基于内核的开发。这个过程我给自己的时间是3个月。

4)如果你可以的话,就试着编译运行一下内核,当然我还没有做过,我只是一个菜鸟,在前进的道路上走了好多的弯路,同时,我也不是一个聪明人,但我相信方法得当然后坚持下去这就足够了,现在的大学生缺少的就是坚持。虽然自己很菜但是对未来充满了美好的希望。

5)写一下是为了排解一下自己的压力,同时希望得到大神的指点而不是想哗众取宠。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: