前言:
大家好,今天给大家分享一下我个人学习Linux内核的总结,由于新的内核版本太过于庞大,说实话,啃不动,然借鉴前人的建议,故开始从早期的Linux0.11版本开始学习。
为了鲜明的对比早期版本的精简和后期版本的复杂,我们大体从它的目录来做一个对比就可知了:
- 0.01版本内核目录:

- 0.11版本内核目录:

前期的版本差别不大,但随着时代的发展,内核功能也扩展的越来越多,所以就变的复杂起来了:

上面内核版本的源码可以从下面下载:
- 在线浏览早期内核源码:
http://lxr.linux.no/linux-old
0.11版本的内核源码下载:
https://github.com/KrisJiaqiXie/linux_kernel_study
好了,下面我开始大体先讲述linux内核的整体框架图:
一、操作系统的框架:
在我们平时或多或少都接触到不同的操作系统,他们整体框架是差不多的,我们先从大体框架来看,若要学习某个系统,再去探其细节:
- 操作系统的结构框架:

有了这个大体认识后,我们来看一下这里的操作系统服务层:
- 这里你可以把它看作是一个快递中转站,它把用户态转换成内核态(具体的实现是,使用特定的参数值执行系统调用指令,这样让cpu从用户态切换到内核态!);然后操作系统根据这个具体的参数值调用特定的系统调用服务程序(特定的服务程序需要底层的操作函数来支持实现);最后在完成了应用程序的服务后,操作系统又会从内核状态切换到用户状态,继续执行后面的指令!
这里先大体对这个服务层有一个认识就行!
0.11版本Linux内核的组成:
在0.11版本的Linux,它主要是由五个模块组成:
- 进程调度模块
- 进程间通信模块
- 内存管理模块
- 文件系统模块
- 网络接口模块

总结:
好了,今天我们先大体分享这么多,后面具体的源代码和模块机制,我再花时间总结。
文章资料相关参考:
- Linux内核0.11完全注释
- https://www.bilibili.com/video/BV1tQ4y1d7mo?spm_id_from=333.337.search-card.all.click
转载请注明:XAMPP中文组官网 » Linux内核学习教程第一篇