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. 面向对象
...全文
269 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-操作系统 发布问题, 以便更快地解决您的疑问

451

社区成员

发帖
与我相关
我的任务
社区描述
零声学院,目前拥有上千名C/C++开发者,我们致力将我们的学员组织起来,打造一个开发者学习交流技术的社区圈子。
nginx中间件后端 企业社区
社区管理员
  • Linux技术狂
  • Yttsam
  • 零声教育-晚晚
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧