Linux内核源代码的目录结构(1)——基于0.12内核

从这篇文章开始,我将与各位一起阅读Linux 0.12内核中的相关代码,以加深我们对操作系统相关概念的认知。开始读书的第一步便是浏览书籍的目录部分,以便对书本的整体内容有宏观把控。看代码也是如此,先看README——可能在阅读的过程中对部分概念有所遗忘,这时候就需要穿插复习一下那些模棱两可的概念内容——

由于Linux内核是一种单内核模式的系统,因此,几乎内核中的所有程序都有紧密的联系。因此在开始阅读内核源代码之前,先熟悉一下源代码文件的目录结构与安排,以便迅速地在我们的大脑中构建起框架。

获取Linux内核源码的方法可以参考这篇博客https://www.cnblogs.com/JiYF/p/6139038.html
要注意的是下载下来的.tar.gz压缩包不能用VSCode直接打开,可以先用解压软件解压到文件夹后即可查看
并且0.12版本的内核代码已经比较久远了,在官网上被放到了/historic文件夹内,需要找一会儿
打开之后根目录就是这个样子
image

  • 这里有一个生成文件目录树状结构的小技巧,按住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

接下来将会介绍每个目录的内容以及与其他目录之间的联系~

--写在最后--
如果这篇文章对你有帮助,请关注我吧!

posted @ 2022-08-23 00:39  CUHKSZ丶Travis  阅读(271)  评论(0)    收藏  举报