转自: https://blog.csdn.net/21aspnet/article/details/6585602

关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。

Linux Kernel 四库全书
1. Linux内核设计与实现 Edition 2   
2. Linux设备驱动 Edition 3   
3. Linux内核源代码情景分析   
4. 深入理解Linux内核(第三版)

1.《Linux内核设计与实现》

本书重在原理。适合入门的最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。

2.《深入理解Linux内核》

此书比上一本多了些细节。是Linux内核黑客在推荐图书时的首选。写的比较简单易懂,适合刚刚接触LINUX内核的。
此书图表很多,形象地给出了关键数据结构的定义,与《Linux内核源代码情景分析》相比,本书内容紧凑,不会一个问题讲解动辄上百页,有提纲挈领的功用,但是深度上要逊于《Linux内核源代码情景分析》。

3.《LINUX设备驱动程序(第3版)》

这书强调动手实践!但它是讲解“设备驱动”的,不是最核心的东西,而且有些东西没硬件的话无法实践,可能更适合驱动开发的程序员吧,其中关于同步与互斥、内存分配的部分,感觉很不错。

4.《Linux内核源代码情景分析》

书很好,很经典,是浙大教授毛德操写的,可惜成书于2001年之后一直没有更新。分上下册。

很多是基于2.4内核讲解的需要注意。如果学习的话也建议学习2.6,2.6跟2.4比发生了很多显著改善,应该学习的。

全书内容博大精深,不是非常好懂,对细节问题描述比较清晰。但是感觉对内核的整体感觉不够强。另外缺少网络部分的分析。觉得不是很适合初学者。
上册讲解内存管理、中断、异常与系统调用、进程控制、文件系统与传统Unix IPC;下册讲解socket、设备驱动、SMP和引导。

本书基于Intel IA32体系,由于厚度大,很多体系上的知识都捎带讲解了,所以如果你想深入了解内核的工作机制而又不非常熟悉Intel CPU的体系构造,本书是最合适的。

这本书可以结合陈莉君老师的《深入分析Linux内核源代码》,这本书也是2.4内核的,网上可以下载

作者: 陈莉君
出版社: 人民邮电出版社
出版年: 2002-8
页数: 531
ISBN: 9787115105257

说明:陈老师是上述《深入理解Linux内核》和《Linux内核设计与实现》的作者,曾通读过linux的所有代码。

==================扩充阅读==================

5.《Linux内核源代码分析》

作者: (美)Scott Maxwell
译者: 冯锐/邢飞/等
出版社: 机械工业出版社
出版年: 2000-06
页数: 633
ISBN: 9787111080923

点评:面对中高级,这本书很好,对了解操作系统是一本不可多得的好书。

6. 《LINUX KERNEL技术手册》

参考手册,很薄,值得一看。

7.《深入Linux内核架构》

这本书针对的是比较新的内核版本2.6.24;内容比较全面,深入浅出。

如果没有对Linux内核的初步结构的认识,那么会看得比较吃力。 建议可以一边去翻在国内已经闻名已经久的四本Linux内核著作(《Linux内核原代码情景分析》、《Linux内核设计与实现》、《深入理解Linux内核》、《Linux设备驱动程序》),再一边看这本书,把这本书当作一个补充或者当作一个内核框架图谱说明书来阅读,收效会更好。

8.《Linux内核完全注释》

此书出自同济一个博士--赵炯。

本书作者赵炯谈《Linux内核完全注释》和《Linux内核源代码情景分析》..
主要描述和注释了Linux 0.11内核全部源代码。对于初学Linux内核操作系统的人来讲,该书能够引领读者快速入门,并且能全面了解一个简单操作系统的工作机理。对于进一步学习现在的Linux内核具有非常大的指导作用。对于学习嵌入式应用的技术人员来讲,通过《完全注释》一书的学习也能迅速融入嵌入式应用领域。同样,该书也能作为阅读现代Linux内核源代码的一本参考手册使用。由于该书是对代码逐条进行注释的,因此也能作为深入学习C语言编程的参考书。另外,该书不仅配备有完整的Linux 0.11系统试验环境,而且本人还在一年前就在网上专门建立了一个针对该书的网站“www.oldlinux.org”,专门开辟了一个讨论该书所涉及的Linux内核实现的论坛。目前该网站的内容已经被权威Linux内核发布网站www.kernel.org全部作了镜像(mirrors.kernel.org)。

http://www.oldlinux.org/Linux.old/

网站宗旨:

收集Linux从酝酿到开发初始版本有关的所有资料和信息(1991-1995);

重新建立起最古老的Linux可运行系统,这些系统在其它地方很难再找到了;

为初学者提供一个学习Linux内核基本工作原理的最简单方法。

本书新版:《Linux内核完全剖析--基于0.12内核》

2009年出的,很厚。

===============自制操作系统系列==================

9.《Orange S:一个操作系统的实现》

作者:于渊

出版社: 电子工业出版社; 第1版 (2009年6月1日)

本书第一版2005年出版,这是第二版。

从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。

10.《30天自制操作系统

作者: (日)川合秀实    [作译者介绍]
译者: 周自恒 李黎明 曾祥江 张文旭
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115287960

点评:小日本写的,不过确实写的内容很好,讲怎么自己一步步写操作系统,从汇编到C都有涉及。

_________________________________________________________________________

unix是Linux的基础,学习linux也要看unix

Unix的绝版好书

UNIX操作系统设计

原书名:The Design of the UNIX Operating System

作者: (美)Maurice J.Bach   
    译者: 陈葆钰 王旭 柳纯录 冯雪山
    丛书名: 计算机科学丛书
    出版社:机械工业出版社
    ISBN:9787111373971

点评:当年linux之父参考过,非常经典,无需多言

----------------------------------------------------------

UNIX编程环境


    原书名:The UNIX Programming Environment

作者: Brianw.Kernighan   
    译者: 陈向群
    丛书名: 计算机科学丛书
    出版社:机械工业出版社
点评:非常好的入门书.书中绝无生僻的角落,对于入门来说没有什么难以理解的。但是字里行间浸透了作者设计unix的指导思想,这一点是别的入门书无法企及的。
  书中提及的点滴都是实用的方法和准则,而这些充斥着在unix上一整天的工作,即使是有经验的用户学过此书后工作效率也会提升。

UNIX高级教程系统技术内幕

作者: (美)Uresh Vahalia
译者: 聊鸿斌/等
出版社: 清华大学出版社
出版年: 1999-05

点评:老书,有电子版。linux/unix的顶级宝贝!

Linux内核学习书籍相关推荐

  1. 【转载】linux内核学习书籍

    [转载]linux内核学习书籍 1, 关于操作系统理论的最初级的知识.不需要通读并理解<操作系统概念><现代操作系统>等巨著,但总要知道分时(time-shared)和实时(r ...

  2. linux内核学习书籍推荐

    在学习Linux内核代码的过程中,定会参考很多书籍以及网路资源,但是并不是所有的书籍和资源都能够帮助你前进,或者说是能够将你引导向正确而高效的道路. 在学习的一些阶段可能会需要不同的书,比如在第一个阶 ...

  3. [转载] Linux内核学习书籍

    转自 https://blog.csdn.net/qq_34870631/article/details/83013431 关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发 ...

  4. Linux内核学习编译流程

    一.前言 linux内核学习 1.安装vmware虚拟机或者virtualbox,再安装发行版本linux 2.www.kernel.org,挑选一个内核版本 3.进行解压并编译 4.自己写一些模块( ...

  5. Linux内核学习路线

    [推荐阅读] 手把手教你如何编写一个Makefile文件 一文讲解,Linux内核--内存管理(建议收藏) 当Linux内存耗尽时,改如何处理! 一文看懂页面置换算法 内核学习路线 很多同学接触Lin ...

  6. 深入理解Linux内核 学习Linux内核的一些建议及书记推荐

    深入理解Linux内核 学习Linux内核的一些建议_华清远见教育集团 经典书籍 待到山花烂漫时,还是那些经典在微笑. 有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验.首先是5本 ...

  7. Linux 编程学习书籍

    这里写目录标题 1. Linux 编程学习书籍 1.1. 推荐一 1.2. 推荐二 1.3. 推荐三 1. Linux 编程学习书籍 1.1. 推荐一 <Linux 程序设计(第 4 版)> ...

  8. Linux内核学习--内存管理模块

    Linux内核学习--内存管理模块 首先,Linux内核主要由五个部分组成,他们分别是:进程调度模块.内存管理模块.文件系统模块.进程间通信模块和网络接口模块. 本部分所讲的内存是内存管理模块,其主要 ...

  9. linux内核学习之三:linux中的32位与64位

    linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位" ...

  10. Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译

    一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...

最新文章

  1. python加密反编译_对Python源码进行加密及反编译前后对比
  2. webp转换gif_右键转换文件格式
  3. sudoers 用户权限配置_使用sudo让普通用户获取root用户的权限
  4. Blockquotes,引用,html里面,经常用到的一个!
  5. java工作面试必备知识 Java常用类库与技巧
  6. 大数据技术有什么优势
  7. 刘永行:领导者的得与失
  8. 阿里云 mysql 创建数据库 账户密码 外网连接等
  9. python数据分析 - T检验与F检验:二组数据那个更好?(一)
  10. java分页导出excel_报表中利用API来实现导出excel列后分页
  11. 红旗 linux 在哪儿 看 版本,简介红旗Linux不同版本的介绍
  12. Vue修改更新data数据
  13. php程序员的自白,程序员考试前的内心独白
  14. echarts 3D地图点击事件
  15. CAD二次开发(C#)第三节
  16. 磁盘概述、磁盘缓存、虚拟内存及虚拟内存与内存的交换方式
  17. 一次性搞定ArcGIS专题图制作流程
  18. 16、【易混淆概念集】-第十章 沟通方法 会议 沟通渠道计算 沟通管理计划
  19. Xilinx XDMA 数据传输sgdma 驱动代码分析
  20. 普普通通的导航条练习

热门文章

  1. 2016中国云计算技术大会精彩PPT干货分享
  2. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.9.27
  3. matlab各相关系数的计算,matlab 相关系数的计算
  4. [Asp.Net WebApi]WebApi入门
  5. 一个20岁工作了4年男网管真情自白书
  6. 计算机设备统计报告,中国互联网络发展状况统计报告-中国科学院计算机网络信息中心.DOC...
  7. 不能创建对象qmdispatch_运行时错误 429,ACTIVEX部件不能创建对象的解决方法小结...
  8. 综合项目之闪讯破解(二)之 如何用C++建立PPPOE连接
  9. STM32F407VET6+cubemx+FSMC+ST7789
  10. Android 使用Gallery仿3D画廊效果实现