深入理解linux内核 该怎么学啊,大神们介绍下经验啊

我已经看了LkD还有LDD基本都是看的懂的,但是看深入理解linux内核就觉得很难懂,目前看了第二第三章,求教学习方法... 我已经看了LkD还有LDD
基本都是看的懂的,但是看 深入理解linux内核 就觉得很难懂,目前看了第二第三章,求教学习方法
展开
 我来答
lrkqmflqzs
2011-07-24 · TA获得超过290个赞
知道答主
回答量:325
采纳率:0%
帮助的人:219万
展开全部
小兄弟,你好!
从你的文字中可以看出你是一个有理想有抱负的人,如果真的是这样的话,只要把心放平静,踏踏实实的去努力,一定会很成功的!
下面,我说下我的建议:
我感觉你是想学好计算机的,而且给自己定了一个很明确的目标:嵌入式。我想说,你选的这条路非常正确,嵌入式的热门程度和发展前景已不需证明,每个IT人都知道,后PC时代已经来临;另外,现在对于大多数的中国学生只有深深的投入Linux的怀抱,才能真正的理解计算机,才能在未来的某个阶段成为真正的计算机人才(由衷的感谢推动GUN计划的先哲们)。为什么这么说呢,现在计算机的课程最开始一般是C/C++语言,数据结构等程序设计的知识,其实在我看来,这样安排并不是想让刚刚接触计算机的学生一上来编程就多么多么的牛逼,而是做个铺垫,为接下来的操作系统,计算机组成原理,计算机网络打基础,是为了能很好的理解这些计算机的基础知识,只有这样才能深刻的明白什么是计算机,计算机能做什么,各个细节又是如何实现的。这样思路就打开了,由于计算机中抽象分层的思想无处无在,以后遇到什么问题都可以一层一层的剖析,最后都会归结到这些最基本的知识上,它们才是整个计算机世界的基石。记得,梁肇新曾经说过:我就是程序,程序就是我!很牛逼的一句话。只有在整个计算机世界的思路都融汇贯通后,才能写出真正的好程序。
所以说,虽然你的目标很明确,但也一定要先将这些基础知识打实,不然茫然的去搞arm+linux是会很费时费力的,而且结果也不会很好,因为这些基础的思想决定了你以后能走多远!
如果你还没有形成比较好的思想的话,还是应该先尽快补上。同时,对于嵌入式这方面,可以熟悉一下linux的基本使用,了解一下伟大的GUN思想,熟悉下linux环境下的C程序(嵌入式中C是绝对的NO.1)的编译,调试等。
接下来,就可以开始linux的系统编程了(基础的东西还是不能丢),在这个阶段里你会加深对操作系统,计组,网络的理解,因为系统编程很多都是他们的具体实现。
然后就是arm,没什么好说的,一门语言而已,如果操作系统和计组比较好的话,没问题,一个工具而已。
最后就是嵌入式的开发了,这里需要综合的用到前面的几乎所有东西。还是那句话,如果计算机思想好的话,理解起来还是比较容易的,最大的问题是动手,实践,如果条件允许的话,可以考虑买一块开发板,处理器最好用S3C2410,现在很多场合都拿这个举例,福建的一个公司有块板子卖的不错貌似。
还有一点要提下,目前嵌入式领域,至少在中国,算法这个东西用的还真是不多,也许学久了,会觉的没有创造性,这里,就看你自己了,看你的想法和感觉吧,自己支配花在算法研究上的精力。

大体的框架是这样,当然这是我的想法。现在整理下,还是要再强调下,思想,计算机的思想,一点要把握住!

C语言和数据结构:谭浩强的书,21天学通C,还有最经典的C程序设计,我觉的都不错,关键是语法,熟练就ok,不用太注重书,课本也可以;数据结构同理。这里可以看下代码大全,对编程的思想很有好处,也比较容易看懂。
基础的,重中之重---
操作系统:操作系统的设计与实现,附录里有Minx的源代码。
计算机组成原理:深入理解计算机系统。
计算机网络:谢希仁的就不错,我比较喜欢国外那边计算机网络。
嵌入式------
linux使用:网上很多,没有特别要介绍的。注意装个linux发行版,网络好的话,可以Ubuntu,否则就SUSE或者Fedora吧,都一样。
linux系统编程:很多好书,百度一下就ok,如果时间多的话,多看两本,否则就看Linux程序设计吧。
arm:我没过多在意,所以了解不太多,你可以查下,我看的是arm体系结构与编程。
嵌入式开发:这里比较复杂,我学的时候没有发现一本集大成的书,都是零零散散的,不过后来发现一本,我也只是翻了翻了,你可以试着看看arm嵌入式系统开发:软件设计与优化。这里的东西很多,也很烦人。主要有,交叉编译工具和环境的配置,内核的裁剪,编译与移植,另外还有驱动程序的开发。各个块,网上都有很多资料。
如果你现在努力的学习,上面的东西学完应该没问题,程度嘛,到熟练就不错了,毕业后会有个相当好的工作(不论什么学校)。
之后的发展,就是在工作中学习了,经验的积累,计算机思想的巩固与延伸,另外可以开始看下内核了,内核完全注释,内核情景分析可以在开始的时候很好的让你亲近linux内核。
嵌入式涉及方方面面,不愁没有你展示平台!
希望你能一直坚持下去,为了自己,为了中国嵌入式,为了伟大的GNU!

希望能帮到你。呵~~,困了,今天没事,夜里弄了一晚上东西,出去吃点东西,休息下:)
浙江启扬智能科技有限公司
2023-06-12 广告
不一定,ARM架构的嵌入式开发可以基于uc/os、Linux、Windows等操作系统,而不一定要使用LINUX操作系统。在ARM架构上,Windows和Linux都是可以使用的,而且许多嵌入式系统开发工具也都是支持这两种操作系统的。因此,... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
qizhca
2011-07-24 · TA获得超过163个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:174万
展开全部
= =,,
我觉得还是去看看早期版本的源码先,
我自己在看0.11的源码,
虽然跟刚发行的3.0 比起来很不完整,
但是基本功能都在了,
其他的功能看完了0.11的源码再说吧,
看看每次更新的不同的地方就行了,
饭要一口一口吃不是。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式