1
shiweifu 2012-05-28 11:22:27 +08:00 1
tcpl看完了,再看《现代操作系统》,再学习一些att汇编、数据结构,就可以了吧……
PS:我买的linux源码解析之类的书现在还在吃灰……祝lz好运 |
2
sivacohan 2012-05-28 11:53:42 +08:00
组队一起看。
|
3
ipoh 2012-05-28 11:54:25 +08:00
现代处理器的工作原理
|
4
zellux 2012-05-28 11:59:40 +08:00 1
对 C 和汇编有一定基础的直接看《Linux 内核完全剖析》(http://book.douban.com/subject/3229243/) 就好了,这本书分析的是 0.12 版本的内核,适合入门。看完了再看 ULK 就容易理解了。
|
5
liwei 2012-05-28 12:06:52 +08:00
我觉得最好有实际的需求或者跟工作有关这样看起来才不会觉得无聊
linux内核方面有很多书可以参考: linux kernel development 是对内核的整体概览对内核重要的部分都有所涉及,但是深度不够 可以作为入门内核的开始 linux内核情景分析 中文的看起来比较舒服,讲解也很详细,不过是讲2.4内核的 其实影响也不大 代码虽然有变化但是基本的思想还是一致的,这个作为入门和深入都是不错的 understanding the linux kernel 对内核的几个子系统都有比较深入的描述 啃起来比较难 需要随着对内核的不断理解多看几遍 linux device driver 这是一本偏重实践的书 主要讲解llinux的驱动开发 对内核熟悉了之后 你就可以选择自己感兴趣的方面来深入啦 understanding linux network internals 讲网络方面比较权威的一本书 understanding linux virtual memory menagement 内存管理方面 当然对内核最详细的描述莫过于内核代码本身 |
6
ipoh 2012-05-28 12:09:57 +08:00
读内核最好有硬件基础、学过操作系统原理。现代大学里教os原理都与实际脱节,但是不学这个只会C和汇编去看源码也会很痛苦。不懂得硬件知识在读源码时候又会有很多疑惑。
而且这个东西很难实践,往往看了后面前面的东西会忘记。不过看完收获会很大,是一种内力的提升。 |
9
liwei 2012-05-28 12:31:22 +08:00
@shine_lee 内核中各个子系统之间分的还是比较清晰的 找个自己感兴趣的子系统研究一下
先不急着看代码,先要搞清楚找个子系统是要解决什么问题,解决这个问题一般有哪些方法,linux中是如何解决的,内核代码中有个Documents目录可以参考 弄清楚上面那些然后就可以读读代码看看,订阅一下这个方面的邮件列表,看看大家在讨论的关于这个子系统的问题 一开始你很有可能看不懂他们在讨论什么 不用着急随着你对这个子系统的了解的深入 你就会慢慢看懂啦 然后就可以从简单的问题开始为linux做贡献了 |
10
shiweifu 2012-05-28 12:58:57 +08:00
|
11
Ranler 2012-05-28 13:05:06 +08:00
比较新的Kernel书是Professional Linux Kernel Architecture,基于2.6.24版本,我也断断续续在看
|
13
vultr 2017-01-18 14:13:12 +08:00
Professional Linux Kernel Architecture 能坚持把这本书看完的,英文水平一定很好。
|