首页 > 教育学习 > 为什么 > Linux 内核学习的经典书籍及途径?

Linux 内核学习的经典书籍及途径?
2012-01-19 17:33:55   来源:   点击:

    Linux 内核学习的经典书籍及途径?

    13 个答案

    • 答案 1:

      说说我们以前的培训经验。先看Unix内核相关的书籍,了解内核的经典实现方法,然后再结合源码去研究Linux内核。这样做的原因是避免从一开始就陷入细节。内核重点关注这几个部分:进程管理及调度,内存管理,文件及文件系统,Cache,I/O,SMP(多CPU)。Unix内核推荐很老的一本书《UNIX操作系统设计》,英文原版的叫做《The Design of The UNIX Operating System》。重点关注这些章节(我手上拿的是英文版的):进程管理及调度:

        The Structure of Processes

        Process Control

        Precess Scheduling and Time

      内存管理:

        Memory Management Policies

      文件及文件系统:

        The Buffer Cache

        Internal Representation of Files

        System Calls for the File System

      Linux内核就看那本经典的基于2.6版写的书《深入理解Linux内核》。这本书相当的枯燥,最好结合实际的代码看,可以了解它们是如何实现的。给几个建议先:

        细看的时候,不用按章节的顺序去看,而是最好是从点到面,先了解一些基本的实现方法,再去结合代码把这些点穿起来。重点关注这些:进程(包括管理和调度),地址空间,内存管理,文件及VFS,Page Cache(页高速缓存),PFRA,I/O及设备驱动等等。

        积极的去探索一些书上没有详细说明,但是内核中又实现了的;或者是那些内核代码已经有很大改变的部分。例如:电梯算法(CFQ,红黑树),通用Block层的I/O请求队列和调度,基于VFS之上的具体文件系统的实现(如ext2/3,YAFFS),页从分配到回收的整个过程,设备驱动的具体实现(如USB,存储设备)等等。

        自己画图、作笔记,把重要知识点用自己能理解的方式全部记录下来,因为如果你不用,也许半年之后就忘的都差不多了。有一些简单的图片和笔记往往能快速的回忆起来。

      这几本书作为辅助也相当的棒:《Linux设备驱动程序》,《深入理解计算机系统》,《Professional Linux Kernel Architecture》,还有相当经典的fudan_abc写的那一套Linux内核代码分析。不过在做所有的这些之前,请把C语言学好,并且去了解一些简单的Shell的语法。推荐一本Shell的书籍:《UNIX Shells by Example, 4th Edition》。
    • 答案 2:

      书籍可以选择《Linux内核设计与实现》、《Linux内核源代码情景分析》、《深入理解Linux内核》等,使用Source Navigator或者其它内核阅读工具读内核代码,尝试自己编译内核。参考:关于Linux内核学习的误区以及相关书籍介绍hzlitai.com.cn/article...
    • 答案 3:

      Kernel是好多年前看的了,印象最深刻的还是Robert Love的Linux Kernel Development。思路条理十分清楚,讲得非常到点,体现出作者功力不俗。看过这本开窍后,自己翻代码或者看其他材料都清晰很多。
    • 答案 4:

      我是根据楼上的帖子,然后迅速买了一本Robert love的《linux内核设计与实现》。觉得这本用来入门真的是很不错,比较通俗易懂。不像深入理解linux内核,直接看可能会觉得枯燥和有点难懂(俺看得心都碎了!),然后配合源码和自己改写,相信会好很多。 而且,我发现结合着lkd这本书看,然后再弄源码,会很有效果。要不只见树木不见森林。鸟哥那本私房菜固然好,但是是教你怎么用linux系统的。我拿来当工具书用:) 这个问题是个好帖子,我受益很多,先谢谢啦~
    • 答案 5:

      Understand the Linux Kernel, 但是建议阅读之前自己仔细研究kernel的build系统,以及EFL文件格式。
    • 答案 6:

      不要看中文版的 《深入理解linux内核》
    • 答案 7:

      1.抛弃翻译教材。2.linux源码树中的Documentation文件夹3.最好先看深入理解计算机系统(CSAPP)4.C语言过硬5.从驱动入手。自己编译内核,动态加载驱动。linux device driver 第三版6.Understanding linux kernel(这本有点老了)7.Robert Love的两本书。。一个讲api的,一本linux kernel development第三版
    • 答案 8:

      推荐《追踪Linxu TCP IP代码运行》这本书,从实践出发;从tcp/ip逐渐扩展到虚拟文件系统,进程管理,内核启动等。目前正在研究这块,有兴趣的可以一起交流:blog.chinaunix.net/space...
    • 答案 9:

      关键词:赵炯;Linux内核完全剖析;0.11; 网上有很多他的PDF著作,当然买一本也会很方便;话说我们做坑爹操作系统多半靠这本大书了;至于鸟哥嘛,大家都推荐,我也看了些,但觉得没赵炯老师写得吸引人,咳嗽,纯个人意见。
    • 答案 10:

      《深入Linux内核架构》和Linux内核源代码包里的文档。
    • 答案 11:

      如果是新手的话,鸟哥私房菜很不错。还有shell脚本。自己动手写操作系统。操作系统原理。
    • 答案 12:

      自学当然是 鸟哥了
    • 答案 13:

      ls你怎么和我一样啊,呵呵

相关热词搜索:

上一篇:上级的什么语言或者行为会让你觉得很反感?
下一篇:大家对“交浅言深”的“深”是怎么理解的呢?