0.概述

本文介绍了Linux调度专题的撰写提纲,接下来的4个月时间将逐步完成调度专题的撰写。

1.范围

调度和内存管理是Linux系统中最基础、最核心、涉及知识面最广的两个模块。可以毫不夸张的说,理解了Linux的调度和内存管理,基本上就理解了Linux的一大半。撰写Linux调度专题的初衷有两点:1)深入理解Linux调度的细节 2)为后续内存专题的撰写打下基础。

部分章节的内容会与底层硬件的关联较为紧密,此专题会以ARM64平台为例进行讲述。

2.提纲

本专题将分为以下章节,初步计划每个章节一篇文章,很明显有些专题不是一篇文章可以讲透,所以我会重点讲述与调度相关的细节,争取做到把调度相关的核心代码梳理一遍。

  1. 调度关键数据结构体,参照《深入Linux内核架构》的行文方法,先给出数据结构,在解释结构的过程中顺带介绍调度的基本知识。
  2. 进程的生命周期

    1. 进程创建,分析进程创建的底层细节;
    2. 进程状态切换,分析进程运行过程中的各种状态以及状态间切换;
    3. 进程销毁,分析进程在销毁过程中做了哪些收尾工作;
  3. CFS调度类,介绍CFS调度类的函数接口
  4. RT调度类,介绍RT调度类的函数接口
  5. 负载均衡,介绍Linux负载均衡的设计细节
  6. 调度管理的同步问题,介绍Linux调度管理过程中的同步细节
  7. 调度搅局者

    1. 系统调用,介绍系统调用的实现过程
    2. 中断,介绍Linux中断子系统
    3. 信号,介绍Linux信号子系统
  8. 调度驱动者

    1. 周期Tick,介绍Linux时钟子系统和周期Tick模式
    2. NOHZ模式,介绍Linux NOHZ模式
  9. 调度专题总结,回顾和总结Linux调度的知识点

scola666
6 声望3 粉丝

linux爱好者