EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. 了解操作系统基本概念。如果不会,可以学习《操作系统:设计与实现》Andrew S.Tanenbaum 写的那本。以MINIX为例子讲解操作系统的概念。非常推荐。 2. 有了操作系统的基本概念以后,可以了解Linux的机制了。推荐《Linux内核设计与实现》Robert Love 写的。这本书从概念上讲解了Linux有什么,他们是怎么运行的。这本书要反复认真看透。, q+ S0 X. n( \# b3 F5 _* i7 X7 N
3. 有了Linux内核的了解,还需要具体研究Linux内核源码。最经典的就是《深入理解Linux内核》Daniel P. Bovet 写的。学习这本书的时候,要对着内核代码看着学。这本书学起来相当费力了,那么多多代码要研究。不过这本书如果学明白了,恭喜你,Linux内核你已经很熟悉了。% u' |7 k/ M0 P5 r3 w. L5 Z
9 D: a0 D- }& Y0 a* t4. 如果要开发设备驱动,可以学习《linux设备驱动程序》O'Reilly出版社的。这本作为驱动的入门是很好的资料。另外还有一本《精通Linux 驱动程序开发》也是不错的教材,可以参考着看。学习驱动,免不了要学习一些硬件的协议和资料,研究哪个就找到相应的硬件文档,把硬件的工作原理搞明白。这些就不细说了。$ d) Z: U* [# o: s+ E, ?
- m+ n6 _8 k& o4 c; m! U
5. 网络部分,学些Linux网络部分就学习《深入理解LINUX网络技术内幕》。这本书把Linux的网络部分讲的非常清晰透彻。但是通常不做这方面的工作研究,也不用研究这么深,毕竟现在国内相关职位较少。- A) K3 i0 d( P) E
7 ?5 E9 C$ Y& Z! V: _# g& ?
6. 现在Linux相关的工作,多集中在一些嵌入式开发领域,ARM,mips等,要学习以下这些体系架构的的资料,了解CPU的设计和工作方式。ARM就看对应的芯片手册,讲的很细致。MIPS就看 《see mips run》,有一二两版,两版内容有些差异,推荐都看。) V- q% I6 I! C5 ~
0 t$ l3 O! L/ Y# h5 `
7. 补充一点经验。不要认为Linux很庞大,很复杂,就觉的很难学。任何东西认真学下来都是能学会的,看你都恒心和毅力了。另外,不要走弯路,不要看市面上讲什么Linux0.11的那些书,直接学你要学的东西。就像学C语言看什么谭浩强一样,弯路走了,力气没少花,还严重影响学习效果。" s9 T9 H1 l5 r+ r; S; l6 }+ W
1 O6 ^+ A8 {4 M( _* m5 E4 U+ x# S! H, ?" O: s) @1 s/ F: b( S
你问的内核,多给你说几句应用编程,有时候经常会需要的:
2 u" _5 b2 n8 V. R& [3 f6 o5 v4 y) w5 n
1. 学习Linux应用编程,建议看《unix环境高级编程》,把里面的例子都做一遍,会对整个Linux编程有系统都认识。
- T% X" Y5 ~) H+ w+ @( o) [
5 [- s) q" I7 }6 V" O2. 针对Linux,有本 《Linux系统编程》,学完上一本,这本很快看一遍就懂了。主要是针对Linux具体懂一些内容,讲的挺全了,很实用。9 f* W" L2 a H4 T
$ I1 \3 s4 z/ l; x7 e+ O4 N
3. Linux网络编程,系统的学习一下《unix网络编程.卷1,套接字联网api》,基本上网络应用相关的程序就都没问题了。 g0 }; b: ]% j: m3 A
$ }" Q' o& h! I' M3 `, A6 W$ g
- g* O$ _! w0 X) a3 V1 j这些内容,分几年时间,分步计划学习,相信很快就会成为Linux高手了。
\* i" w& I2 n4 J0 F, c, g6 E1 t* j, A3 T- v6 ~) N7 y2 m
: ?! e' Q: R6 r' A% E: Z
( H) K9 w; @) p4 U' C" a
5 P3 M6 Z6 W/ C& J. i* p" i5 U D! J) g0 f4 N6 m& O
. Y' A- G4 A, B3 t+ L! I+ J* F
7 K4 M2 c7 j1 \. R- \
|