当前位置: 技术问答>linux和unix
对内核学习的困惑。。。
来源: 互联网 发布时间:2016-02-19
本文导语: 接触linux也有一年多了,其实一直很想学习linux内核,但感觉无从下手。买了几本书,包括情景分析上下,深入理解linux内核,linux内核设计于实现,还有赵炯的几本书。。但都在看了前几章后无疾而终,感觉效率底下...
接触linux也有一年多了,其实一直很想学习linux内核,但感觉无从下手。买了几本书,包括情景分析上下,深入理解linux内核,linux内核设计于实现,还有赵炯的几本书。。但都在看了前几章后无疾而终,感觉效率底下,目标不明确,最多看看大概的框架,机制,以及一些基本的数据结构。感觉现在最大的问题就是没有学习的需求。比如你有个项目是做一个基于零拷贝的项目 ,那从中你就可以对内存管理这块有了深入的了解。但目前学校里并没有于内核有关的项目。我导师也建议我现在不要急着搞内核,最多搞清楚他的框架,原理,流程,知道linux运作是个怎么回事,不要和代码肉搏,说如果以后工作中需要搞内核,自然有那个环境,同时会有人带,那样搞快的多。工作的同学也说工作后对linux内核代码的研究也没那么大的需要,只有很少的人回去搞和内核代码相关的工作,大部分人还是接触的不多。但网友们总是说内核在工作中很重要很重要,要早学多学。。 迷惑
所以请网上高手指点。以你们在工作中的经验,我搞嵌入式linux这块(至少方向上是这样说。。虽然目前搞的大多都是linux,搞的板子也是x86的板子,不牵涉到其他平台和os)以后工作中对linux代码的需求有多大
现在该看哪些,看到什么样的层次,怎么看。。。
所以请网上高手指点。以你们在工作中的经验,我搞嵌入式linux这块(至少方向上是这样说。。虽然目前搞的大多都是linux,搞的板子也是x86的板子,不牵涉到其他平台和os)以后工作中对linux代码的需求有多大
现在该看哪些,看到什么样的层次,怎么看。。。
|
我大学本科毕业后,做linux下的c开发,但仅仅是做应用开发,2年后决定进一步深入
当时我对内核以及硬件方面的东东,可以说比你还不如,几乎白痴状态,仅仅是以前对他们的一些涉猎,硬件更是白痴到极点
后来阴差阳错的真的进入了这一行,当时没有计较太多的待遇,显示做嵌入式平台上的应用,主要是熟悉一些开发环境以及开发流程等,包括仿真器的使用啊,以及嵌入式开发的环境的建立啊,交叉编译的使用啊等等,反正都是一些嵌入式开发方面的基础东东
然后就是接触到了驱动的相关开发,开始也就是那种基础的驱动开发,即linux下的驱动模块开发,就是那套流程module等等,这时候开始接触到linux内核方面的东东,然后又开始做起了bootloader相关的东西,现在做的项目是多核CPU的驱动开发
以上的这些都是发生在半年的时间中,个人感觉,基础很重要,所谓基础并不代表这你做过什么arm,mips啊什么多少多少的平台,只要有几处的linux下的扎实的c变成以及汇编经验,如果有一点嵌入式开发经验(类似于你曾经作过x86一样),切忌不需要去做太多的东西,原因1就是你没那么多的机会接触到这些东西,没有硬件等环境以及实际开发的机会,人家单位来招聘应届生当然也知道学生的情况,一般大多数谁能把这些东西都做过啊,都是通的,做了一个其他的上手很快的!其次现在一般好一点的公司都是看中学生的潜力,只要你在大学中作过这些东西,出来工作前2年就踏踏实实的干,攒经验吧,有的是机会你接触的,到时候你肯定会比我们这种半道出家的人学的快!而且就我所知,一般有相关开发经验的应届毕业生,一般待遇也差不到哪去的!
当时我对内核以及硬件方面的东东,可以说比你还不如,几乎白痴状态,仅仅是以前对他们的一些涉猎,硬件更是白痴到极点
后来阴差阳错的真的进入了这一行,当时没有计较太多的待遇,显示做嵌入式平台上的应用,主要是熟悉一些开发环境以及开发流程等,包括仿真器的使用啊,以及嵌入式开发的环境的建立啊,交叉编译的使用啊等等,反正都是一些嵌入式开发方面的基础东东
然后就是接触到了驱动的相关开发,开始也就是那种基础的驱动开发,即linux下的驱动模块开发,就是那套流程module等等,这时候开始接触到linux内核方面的东东,然后又开始做起了bootloader相关的东西,现在做的项目是多核CPU的驱动开发
以上的这些都是发生在半年的时间中,个人感觉,基础很重要,所谓基础并不代表这你做过什么arm,mips啊什么多少多少的平台,只要有几处的linux下的扎实的c变成以及汇编经验,如果有一点嵌入式开发经验(类似于你曾经作过x86一样),切忌不需要去做太多的东西,原因1就是你没那么多的机会接触到这些东西,没有硬件等环境以及实际开发的机会,人家单位来招聘应届生当然也知道学生的情况,一般大多数谁能把这些东西都做过啊,都是通的,做了一个其他的上手很快的!其次现在一般好一点的公司都是看中学生的潜力,只要你在大学中作过这些东西,出来工作前2年就踏踏实实的干,攒经验吧,有的是机会你接触的,到时候你肯定会比我们这种半道出家的人学的快!而且就我所知,一般有相关开发经验的应届毕业生,一般待遇也差不到哪去的!
|
在学校多学点,学内核不一定要求把所以的全部搞懂,大牛都不行,了解透1个部分或块,学会放弃那些跟你这模块不了解的联系,有很多书还不错,不过写书的人动手做得也不多,搞嵌入式linux还花点钱买块开发板自己弄和摸索,重要的是有热情和信心..
|
但都在看了前几章后无疾而终,感觉效率底下,目标不明确,最多看看大概的框架,机制,以及一些基本的数据结构。
===================================================================================================
想当初我看这本书,可是看了五遍以后才融汇贯通的。。。第一遍是在看天书,看了三遍都仅仅只明白了一点点,所以LZ不要气馁,能在三遍之内看懂这本书的人,那是很有天赋的。。。。。。等你看明白这本书了,以后学啥子都快。。。。。。
===================================================================================================
想当初我看这本书,可是看了五遍以后才融汇贯通的。。。第一遍是在看天书,看了三遍都仅仅只明白了一点点,所以LZ不要气馁,能在三遍之内看懂这本书的人,那是很有天赋的。。。。。。等你看明白这本书了,以后学啥子都快。。。。。。