Linux内核技术该如何从0 开始?
前言
你是不是也在研究关于Linux内核的学习,始终找不到合适的入口~~~
比如看书:《Linux内核设计与实现》,看《Linux/Unix系统编程手册》,还是看《内核模块开发指南》
Linux/Unix系统编程手册好像跟Linux内核貌似扯不上太大的关系。
内核模块开发指南 里面一些比较独立的模块,可以参考,可以照着学学,但是终究老点儿。
其实这些都太枯燥了 ~~~
或许你能坚持看几章 ,但你肯定会因为枯燥坚持不下去
在2019年,其实学习除了看书,更要偏向网络,比如 网上找 linux内核技术知识,看linux教程。
前提是你要有一个好的方向,知道整个知识体系是哪些,下面我给大家总结一下
Linux内核知识体系分为五个部分
1:linux内核开发环境搭建
linux内核研习与项目实战专栏介绍
linux内核编译与升级
linux内核学习方法
2:跨越进程的障碍,实现进程通信(一)
进程间6种通信方式
多个进程之间通信,如何实现通信组件
内核模块操作
进程通信组件,架构实现
系统调用的过程剖析
3:跨越进程的障碍,实现进程通信(二)
主次设备号与private-data的作用
insmod与模块初始化的流程
模块open的流程
rmmod与模块退出的流程
模块write的流程与实现
poll的实现原理与等待队列wait-queue
模块编译与Makefile编写
4:网卡驱动的实现
内核模块安装与mknod
应用程序编程与内核模块调试
Docker的虚拟网卡与网卡的作用
网卡作用于网卡驱动的运行环境
如何设计适配市面上网卡的nic子系统
nic网卡驱动的架构实现
nic网卡驱动的recv与sk-buff
nic网卡初始化与原理分析
nic网卡open与stop实现
5:最后自主思考项目
nic的编译与自主思考题,用户态协议栈
附:
知识体系相对应的**** 群:784033627 验证:**** 领取
最后
看完整个知识体系,并且学会它,你肯定对linux内核有不一样的理解。
想问下各位,有没有更好一点的linux内核技术分享,如果你有更好的入门方法不吝赐教。
欢迎各位讨论。