linux内核源码1.1进程管理和内存管理

进程管理和内存管理

linux内核源码进程管理和内存管理

我报一个班学习linux内核源码, 经过学习我觉得有必要整理一哈知识点。
只能说我学到点表皮, 相信聚沙成塔。 如果你有兴趣学习,我可以为你推荐,老学员推荐新学员会有相应的折扣 加我QQ哈: 852897652.

学习视频链接地址

我准备用元旦来写三个博文,每天写一个博文,正好三天可以更新完成。

下面我将进程管理课程和内存管理课程整理如下, 也许我整理不对,请指出。

进程管理

从目录中可以看出,有4讲分别是

  1. 01Linux内核基础与进程管理专题 源码组织结构
  2. 01Linux内核基础与进程管理专题 进程原理及系统调用
  3. 01Linux内核基础与进程管理专题 调度器分析及完全公平调度器CFS
  4. 01Linux内核基础与进程管理专题 实时调度类及SMP

内存管理

  1. 01Linux内核基础与进程管理专题 RCU机制及内存优化屏障
  2. 01Linux内核基础与进程管理专题 内核内存布局和堆管理
  3. 02Linux内核源码分析之内存管理专题(一) 虚拟地址空间布局架构
  4. 02Linux内核源码分析之内存管理专题(一) 内存映射原理及系统调用
  5. 02Linux内核源码分析之内存管理专题(一) 物理内存组织结构
  6. 02Linux内核源码分析之内存管理专题(一) 引导内存分配器原理
  7. 02Linux内核源码分析之内存管理专题(一) 伙伴分配器
  8. 02Linux内核源码分析之内存管理专题(一) slab分配器详解
  9. 03Linux内核源码分析之内存管理专题(二) 不连续页分配器及页表
  10. 03Linux内核源码分析之内存管理专题(二) 用户空间缺页异常
  11. 03Linux内核源码分析之内存管理专题(二) 页表缓存(TLB)与巨型页
  12. 03Linux内核源码分析之内存管理专题(二) 页回收机制(一)
  13. 03Linux内核源码分析之内存管理专题(二) 页回收机制(二)
  14. 03Linux内核源码分析之内存管理专题(二) 反碎片技术
  15. 03Linux内核源码分析之内存管理专题(二) linux内核内存池
  16. Linux内核源码分析(补充更新) 缓存着色
  17. Linux内核源码分析(补充更新) RDMA栈架构
  18. Linux内核源码分析(补充更新) infiniBand 硬件组件_编址_功能_数据包
  19. Linux内核源码分析(补充更新) PCI子系统
  20. Linux内核源码分析(补充更新) 内核无线子系统模块
  21. Linux内核源码分析(补充更新) SMP调度详解
  22. Linux内核源码分析(补充更新) 处理器缓存机制
  23. Linux内核源码分析(补充更新) 文件页缓存
  24. 内核项目实战模块 内存管理4-获取系统内存数据信息
  25. 内核项目实战模块 内存管理4-分配内存模式机制
  26. 内核项目实战模块 内存管理4-Slab块分配器内存实现
  27. 内核项目实战模块 内存管理4-进程地址空间在内核(VMA实现)
  28. 内核项目实战模块 内存管理4-设计per-cpu变量应用
  29. 内核项目实战模块 同步管理-RCU实现

进程管理详细

1. 01Linux内核基础与进程管理专题 源码组织结构

请添加图片描述
我觉得上图还是很有用得,特别是版本得讲述,对内核版本选用有很大得帮助。

二、Linux操作系统结构
在这里插入图片描述
在这里插入图片描述
Linux内核的五大主要子系统

task_struct:代表一个进程数据结构指针形成一个task数组。
mm_struct:代表进程的虚拟内存。
inode:代表虚拟文件系统中的文件、目录等对应的索引节点(inode)。

由上面的可以看出, 五大子系统由三个数据结构进行管理着。

2. 01Linux内核基础与进程管理专题 进程原理及系统调用

在这里插入图片描述
老师对该结构体的成员变量进行了注释。
Linux内核涉及进程和程序的所有算法都围绕一个名为task_struct的数据结构建立,该结 构定义在include/linux/sched.h中。

在这里插入图片描述
上图描述了进程的创建

在这里插入图片描述

上图是进程的推出

3. 01Linux内核基础与进程管理专题 调度器分析及完全公平调度器CFS

请添加图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 01Linux内核基础与进程管理专题 实时调度类及SMP

请添加图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面是进程管理的相关知识点,我只是整理了一哈, 但没有转化为自己的知识点。

内存管理详解

1. 01Linux内核基础与进程管理专题 RCU机制及内存优化屏障

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 01Linux内核基础与进程管理专题 内核内存布局和堆管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 02Linux内核源码分析之内存管理专题(一) 虚拟地址空间布局架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 02Linux内核源码分析之内存管理专题(一) 内存映射原理及系统调用

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5. 02Linux内核源码分析之内存管理专题(一) 物理内存组织结构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 02Linux内核源码分析之内存管理专题(一) 引导内存分配器原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 02Linux内核源码分析之内存管理专题(一) 伙伴分配器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. 02Linux内核源码分析之内存管理专题(一) slab分配器详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9. 03Linux内核源码分析之内存管理专题(二) 不连续页分配器及页表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10. 03Linux内核源码分析之内存管理专题(二) 用户空间缺页异常

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11. 03Linux内核源码分析之内存管理专题(二) 页表缓存(TLB)与巨型页

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12. 03Linux内核源码分析之内存管理专题(二) 页回收机制(一)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13. 03Linux内核源码分析之内存管理专题(二) 页回收机制(二)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14. 03Linux内核源码分析之内存管理专题(二) 反碎片技术

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15. 03Linux内核源码分析之内存管理专题(二) linux内核内存池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16. Linux内核源码分析(补充更新) 缓存着色

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17. Linux内核源码分析(补充更新) RDMA栈架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18. Linux内核源码分析(补充更新) infiniBand 硬件组件_编址_功能_数据包

在这里插入图片描述

19. Linux内核源码分析(补充更新) PCI子系统

在这里插入图片描述
在这里插入图片描述

20. Linux内核源码分析(补充更新) 内核无线子系统模块

在这里插入图片描述
在这里插入图片描述

21. Linux内核源码分析(补充更新) SMP调度详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

22. Linux内核源码分析(补充更新) 处理器缓存机制

在这里插入图片描述
请添加图片描述

23. Linux内核源码分析(补充更新) 文件页缓存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

24. 内核项目实战模块 内存管理4-获取系统内存数据信息

请添加图片描述

25. 内核项目实战模块 内存管理4-分配内存模式机制

请添加图片描述

26. 内核项目实战模块 内存管理4-Slab块分配器内存实现

请添加图片描述

27. 内核项目实战模块 内存管理4-进程地址空间在内核(VMA实现)

请添加图片描述

28. 内核项目实战模块 内存管理4-设计per-cpu变量应用

请添加图片描述

29. 内核项目实战模块 同步管理-RCU实现

请添加图片描述

总结

上面是我整理的主要知识点,上面整理的知识点可能不对, 请谅解。 上面的知识点我也没有弄明白, 正在努力挣扎中。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 内核内存管理优化是一个持续不断的过程,需要不断地改进和优化。这个过程中涉及到很多的内核开发者和贡献者,下面简单介绍一些内存管理优化的进程: 1. Linux 内核社区:Linux 内核社区是 Linux 内核开发的主要场所,它包括了很多的内核开发者和贡献者。在 Linux 内核社区中,内存管理优化是一个重要的议题,社区中的开发者和贡献者会就内存管理的问题进行讨论和交流,并提出改进和优化的建议。 2. 内存管理子系统维护者:在 Linux 内核中,内存管理是一个独立的子系统。这个子系统有专门的维护者,他们负责内存管理的开发、维护和优化工作。内存管理子系统维护者会根据社区的反馈和需求,不断地改进和优化内存管理的代码,提高内核的性能和稳定性。 3. Linux 内核开发者:除了内存管理子系统维护者之外,Linux 内核开发者也会参与到内存管理优化的工作中来。他们会在内核的不同模块中,对内存管理进行改进和优化,例如在文件系统中对内存进行缓存、在网络协议栈中对内存进行管理等。 4. 厂商和社区用户:Linux 内核不仅是开软件,也是很多商业厂商采用的操作系统内核。因此,厂商和社区用户也会参与到内存管理优化的工作中来。他们会根据自己的需求和场景,提出内存管理的改进方案并提交到社区中,从而促进内存管理的优化。 总之,Linux 内核内存管理优化是一个社区化的进程,需要内核开发者、维护者、厂商和社区用户共同参与和推动。只有这样,才能不断地提高 Linux 内核内存管理性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值