第一个坡:抛弃旧的思维习惯,熟练使用 Linux 命令行
推荐书籍
如果你想全面学习 Linux 命令,推荐你阅读《鸟哥的 Li...
第二个坡:通过系统调用或者 glibc,学会自己进行程序设计
推荐书籍
《UNIX 环境高级编程》,这本书有代码,有介绍,有原理
第三个坡:了解 Linux 内核机制,反复研习重点突破
推荐书籍 《深入理解 LINUX 内核》
第四坡:阅读 Linux 内核代码,聚焦核心逻辑和场景
开源软件代码纷繁复杂,一开始看肯定晕,找不着北。
开始阅读代码不要纠结一城一池的得失,不要每一行都一定要搞清楚
它是干嘛的,而要聚焦于核心逻辑和使用场景。
推荐书籍:《LINUX 内核源代码情景分析》
第五坡:实验定制化 Linux 组件,已经没人能阻挡你成为内
核开发工程师了
需要仔细配置
最后一坡:面向真实场景的开发,实践没有终点
# 学习路径
## Step1: 熟悉Linux命令行
基础:--help、man
进阶:sed、awk、正则、管道、grep、find、shell脚本、vim、git
## Step2: 系统调用和glibc => 编程
+ 进程树 fork
+ 进程同步 信号量
+ 应用层与传输层的分界线 socket编程
> [《UNIX环境高级编程》]()
## Step3: Linux内核机制
> [《深入理解Linux内核》]()
> 这本书内核版本比较老~
## Step4: 阅读Linux内核源码,聚焦核心逻辑和场景
+ 虚拟化 kvm
+ 网络 内核协议栈
> [《Linux内核源码情景分析》]()
## Step5:实验定制化Linux组件
> 专栏最后两个实验
## Step6: 面向真实场景开发,实践~
+ 并发与并行
+ 锁与保护
+ 扩展性和兼容性