- 论坛徽章:
- 3
|
1、为什么学习Linux内核?
因为不喜欢做完全不了解的事情. 刚开始只是因为神秘感, 最后坚持下来的是追根究底的为什么.
至从知道内存映射和内存分配完全两码事以后, 就特别有成就感.
2、如何学习内核?
1) 先看的是LKD, 因为译者恰好是母校的老师也是启蒙导师. 不过这本书并没有吸收很多东西, 太过抽象. 好处就是使人满怀疑惑和好奇, 欲一探究竟.
2) 第二本看的是LDD, 开始也就学会了如何写个小模块. 现在觉得这本书对计算机架构/组成的补充非常到位.最近重头看了pci总线,对硬件和内存的通信也有不一样的体会.
3) ULK & PLKA + 源码 + Intel芯片手册:
ULK看了好几遍. 甚至是逐字逐字的看。对LKD提供的抽象有更加深入的解析, 获益匪浅。对英文版的ULK作者真的无比的佩服.
用词非常的严格. 比如说memory area(物理内存), memory region(虚拟内存). 给出了相应的词语, 就直接知道是物理内存还是虚拟内存。
PLKA可能是德文翻译成英文的关系, 好多晦涩的单词. 但更贴近源码.
Intel芯片手册 volume3 基本补充了ULK一带而过的问题, 比如内存初始化.cache/TLB等。还有处理器初始化,芯片的控制寄存器等.
后面都是边看源码边看书。 两者结合. 看代码基本上是用了最笨的一个办法, 找一个子系统的目录, 根据Makefile列出的文件的顺序, 从第一个文件开始慢慢看.
3、学习Linux内核对实际工作会有哪些实际帮助?
正在努力寻找这方面的工作。 虽然不一定最后能做这个, 但至少现在能乐在其中。 |
|