「Linux」- How to start learning Linux kernel

  CREATED BY JENKINSBOT

萌生想法

因为在MPLinux中整理util-linux软件包,里面涉及到了很多与系统内核相关的命令,因此决定了解一下Linux内核,但就目前的情形来看,还是缺啥补啥吧。

在开始学习Linux的内核前,我有幸读到下面这两篇文章,emmmmm…:

	[[http://happypeter.github.io/learning-kernel.html|我为何放弃linux内核学习]]
	关于Linux内核学习的误区以及相关书籍介绍
	https://www.cnblogs.com/zhangzl/p/4278958.html

下面是关于Linux内核的其他文章:

一张图带你看Linux内核运行原理
https://www.linuxprobe.com/a-picture-see-linux-kernel-operation-principle.html

linux启动及内核管理
http://blog.51cto.com/13560258/2093512

Linux内核调试方法
https://www.cnblogs.com/shineshqw/articles/2359114.html

Linux内核的整体架构简介
https://blog.csdn.net/changexhao/article/details/78321295

Linux 内核剖析
https://www.ibm.com/developerworks/cn/linux/l-linux-kernel/

开始学习

因为工作需要,必须学习内核知识。

学习社区:Linux内核之旅

推荐学习书籍

《Linux 内核设计与实现(原书第3版)》

Robert Love / isbn:9787111338291

基于 Kernel 2.6.34 版本(如果有必要,应该尽快学习,否则时间越久,此书的知识越旧)。

# 02/18/2021 本书的翻译还有有些问题,如果有条件,建议阅读英文版本。

# 02/22/2021 当读到第三章的时候,我们感觉通过这本书可以学到内核的原理,但是并不会深入细节。也就说时,读完这本书,1)我们会明白很多原理性知识,对内核有一个整体的认识,2)但如果想实现某个功能,还是有些困难,可能还需要再阅读其他相关的书籍才能进行内核相关开发。不过,这是一个很好的开始,我们也没有指望仅靠这本书就能弄明白内核的方方面面。

# 02/23/2021 我们认为看完中文版之后,一定要看一边英文版。目的是:了解对应的英文术语,以及了解其中的翻译问题。

# 02/28/2021 书中插入内核的部分代码,用于解释说明,但是我们根本看不懂。不过,也没有关系,虽然代码我们看不懂,但是从文字上,完全可以理解内核是如何工作的(大致上)。到时候在回来看第二遍就好了(不过在这之前,我们可能会先去拜读其他内核著作)。

《深入理解LINUX内核》

DANIEL P.EOVET & MARCO CESATI /isbn:9787508307190

《LINUX设备驱动程序》

Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman / ISBN:9787564183394

《Linux 内核源代码情景分析(上下册)》

毛德操 & 胡希明 / isbn:9787308027038 / isbn:9787308027045

有时被称为《Linux内核情景分析》。本书内容超多,超细,新手不适合。此外本书基于 2.4 内核,版本较旧(即使是 CentOS 6 也是 2.6 内核,并且 2.4 与 2.6 相差较大)。

《深入Linux内核架构》

莫尔勒 & 郭旭 / isbn:9787115227430

《Linux内核完全注释》

赵炯 / isbn:9787111149682

《LINUX KERNEL技术手册》

哈特曼 / isbn:9787564107420

《ARM Linux内核源码剖析》

[韩] 尹锡训 等 著;崔范松 译 / ISBN9787115359100

《深入理解Linux虚拟内存管理》

[爱尔兰] Mel Gorman / 9787810777308

**其他书籍**

《UNIX环境高级编程》、《Linux设备驱动》
学习linux内核,请推荐几本书及顺序,谢谢。:https://zhidao.baidu.com/question/189206343.html

《操作系统:设计与实现》、《linux设备驱动程序》、《精通Linux 驱动程序开发》、《深入理解LINUX网络技术内幕》、《see mips run》、《unix环境高级编程》、《Linux系统编程》、《unix网络编程.卷1,套接字联网api》
学习linux内核,都看哪些书?:https://blog.csdn.net/xzjj2007/article/details/4843831[[https://blog.csdn.net/xzjj2007/article/details/48438311|1]]

参考文献

CSDN/推荐一本最接近完美的Linux内核入门教材
关于Linux内核,推荐的8本书籍
CSDN/Linux内核学习书籍