笔者从事于机器人软件行业, 在日常开发和学习过程中, 时常接触到Linux. 久而久之,对底层原理产生浓厚兴趣.
相信有很多朋友和我一样, 对Linux底层充满好奇, 同时对于最新的Linux内核的庞杂产生恐惧(2022年的kernel代码就有3000万行).
不过, 操作系统的底层原理都是相通的. 古老版本的Linux内核可以用"麻雀虽小,五脏俱全"来形容. 具有代表性的例子就是Linux 0.11, 总代码行数只有区区1万行. 非常适合新手入门
![image-20230505000157507](https://static-img.0xffff.one/xih9RFszA9hbGMp51rvK8Q3YTOUFctFkzZcLEYSYc_o/q:90/w:800/rt:fit/aHR0cHM6Ly9jb3Jz/YWlyLWN4cy5naXRo/dWIuaW8vcG9zdC9k/ZXYvbGludXgvb3Ns/YWIvcGljL2ltYWdl/LTIwMjMwNTA1MDAw/MTU3NTA3LnBuZw.jpg)
0.11版的Linux主要由以下5个模块组成(图片参考自 "Linux内核0.11完全注释" ):
- 进程调度模块
- 进程间通信模块
- 内存管理模块
- 文件系统模块
- 网络接口模块
![image](https://static-img.0xffff.one/-fHFF6vxItFS6IvhFItdCvQUXwu_A6O-ivFkidUqbi4/q:90/w:800/rt:fit/aHR0cHM6Ly9jb3Jz/YWlyLWN4cy5naXRo/dWIuaW8vcG9zdC9k/ZXYvbGludXgvb3Ns/YWIvcGljL2ltYWdl/LnBuZw.jpg)
Linux 0.11相关学习资源
学习Linux内核. 笔者推荐哈工大李治军老师的HIT-OSLAB
课程, 配合视频与项目入手学习, 并在调试器下观察Linux内核.
课程链接
项目链接
实验手册
相关书籍
其他推荐
原文链接: https://corsair-cxs.github.io/post/dev/linux/oslab/