Linux内核源码的组织结构

我也要当昏君 原创小能手 吉首大学 软件工程  2022-04-05 10:05:52

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习
@

Linux内核源码的组织结构

  • 为什么要学习Linux内核
  • Linux操作系统结构
  • Linux内核源码组织
  • Linux内核的特征

为什么要学习Linux内核

  1. 提高研发出高水平的软件
  2. 开发自己的操作系统
  3. 有助于计算机科学领域研究
  4. Linux系统性能优化

Linux操作系统结构

Linux内核在系统中的位置
Linux内核并不孤立,要把它放到整个系统中去研究更容易理解,如下图所示内核在操作系统中的位置

在这里插入图片描述


Linux内核子系统之间关系
Linux内核由五大主要子系统,它们之间有如下关系:

在这里插入图片描述


系统数据结构
在Linux内核中,有些使用频度较高的数据结构如下:
task_struct:代表一个进程数据结构指针形成一个task数组。
mm_struct:代表进程的虚拟内存。
inode:代表虚拟文件系统中的文件、目录等对应的索引节点(inode)。

Linux内核源码组织

为了深入地了解Linux的实现机 制,还必须阅读Linux的内核源代码, 下面是对有关源代码的介绍。内核源代 码的版本多,对不同的内核版本,系统 调用一般是相同的。新版本也许可以增 加一个新的系统调用,在大多数情况下, 设备文件将仍然相同,而另一方面,版 本之间的内部接口有所变化。
Linux内核版本有两种:稳定版和开发板,Linux内核版本号由3组数字组成,
第一组数字:目前发布的内核主版本;
第二组数字:偶数表示稳定版本,奇数表示开发中的版本;
第三组数字:错误修补次数

请添加图片描述

Linux内核的特征

  1. Linux内核组织形式为整体式结构
  2. 进程调度方式简单而有效
  3. 支持内核线程(或称为守护进程)
  4. 支持多种平台的虚拟内存管理
  5. 虚拟文件系统
  6. 模块机制
  7. 增加系统调用
  8. 面向对象
...全文
207 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
零声开发者社区
加入

65

社区成员

零声学院,目前拥有上千名C/C++开发者,我们致力将我们的学员组织起来,打造一个开发者学习交流技术的社区圈子。
社区管理员
  • Linux技术狂
  • ytttsam
帖子事件
创建了帖子
2022-04-05 10:05
社区公告

请新加入的VIP学员,先将自己参加活动的【所有文章】,同步至社区:

【内容管理】-【同步至社区-【零声开发者社区】