先读lkd, 了解linux的大体框架,
再读ldd, 了解kernel中常用的api。
再尝试 写驱动,读驱动。
再读ldd, 了解kernel中常用的api。
再尝试 写驱动,读驱动。
写自己的内存管理,进程调度,文件系统。
lkd2 —— linux kernel development Linux内核开发第二版 ulk —— Understanding the Linux Kernel 深入理解Linux内核
“ldd3”是“Linux设备驱动程序(第3版)
看linux源码,内存管理,进程管理和文件系统是必须过关的,不管你花多长时间,这部分过关,你会觉得自己的突发猛进,对于其他部分的理解帮助非常大;进程才是操作系统的精髓,内存管理为进程提供运行的空间,文件管理为进程提供存储的地方,外设驱动是为延升进程的能力。
最经典的三本: 《linux内核设计与实现》第二版 by Robert Love 《深入理解linux内核》 《情景分析》 先看《深》,那主要讲原理,《linux内核设计与实现》也讲原理性并且更浅。最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。