Linux内核源代码的目录结构(1)——基于0.12内核
从这篇文章开始,我将与各位一起阅读Linux 0.12内核中的相关代码,以加深我们对操作系统相关概念的认知。开始读书的第一步便是浏览书籍的目录部分,以便对书本的整体内容有宏观把控。看代码也是如此,先看README——可能在阅读的过程中对部分概念有所遗忘,这时候就需要穿插复习一下那些模棱两可的概念内容——
由于Linux内核是一种单内核模式的系统,因此,几乎内核中的所有程序都有紧密的联系。因此在开始阅读内核源代码之前,先熟悉一下源代码文件的目录结构与安排,以便迅速地在我们的大脑中构建起框架。
获取Linux内核源码的方法可以参考这篇博客https://www.cnblogs.com/JiYF/p/6139038.html
要注意的是下载下来的.tar.gz压缩包不能用VSCode直接打开,可以先用解压软件解压到文件夹后即可查看
并且0.12版本的内核代码已经比较久远了,在官网上被放到了/historic文件夹内,需要找一会儿
打开之后根目录就是这个样子

- 这里有一个生成文件目录树状结构的小技巧,按住shift右键linux-0.12,在powershell中打开后输入tree即可得到~复制下来就行了Lol
Linux内核源代码目录结构
这里所有的RCS都可以忽略,因为它们都是空文件夹
├─boot #系统引导汇编程序
│ └─RCS
├─fs #文件系统
│ └─RCS
├─include #头文件(*.h)
│ ├─asm #与CPU体系结构相关的部分
│ ├─linux #Linux内核专用部分
│ ├─RCS
│ └─sys #系统数据结构部分
├─init #内核初始化程序
│ └─RCS
├─kernel #内核初始化程序、信号处理、系统调用等程序
│ ├─blk_drv #块设备驱动程序
│ │ └─RCS
│ ├─chr_drv #字符设备驱动程序
│ │ └─RCS
│ ├─math #数学协处理器仿真处理程序
│ │ └─RCS
│ └─RCS
├─lib #内核库函数
│ └─RCS
├─mm #内存管理程序
│ └─RCS
└─tools #生成内核Image文件的工具程序
└─RCS
接下来将会介绍每个目录的内容以及与其他目录之间的联系~
--写在最后--
如果这篇文章对你有帮助,请关注我吧!

浙公网安备 33010602011771号