深入解读Linux进程调度系列(总览)

日期内核版本CPU架构作者
2019.04.06Linux-4.4PowerPCLoneHugo

系列文章

文章概要
深入解读Linux进程调度系列(1)——调度的初始化调度的初始化过程,包括调度与其他模块的关系解读

深入解读Linux进程调度系列(2)——调度类sched_class详解

调度的核心算法和数据结构调度类,对各个调度类做了详细的介绍,包括对调度算法的详细解读
深入解读Linux进程调度系列(3)——调度的执行过程调度进入schedule或__schedule之后如何进行接下来的操作以完成进程的换入换出。这里包括选择下一个要调度的进程以及CPU运行队列rq(runable queue)的出入队过程分析
深入解读Linux进程调度系列(4)——调度与时钟中断时钟中断(包括软中断和定时器)是调度的驱动器,尤其是在现代抢占内核设计中,这部分内容了解之后就知道系统如何周期性地刷新进程的状态,以驱动进程调度发生
深入解读Linux进程调度系列(5)——调度的入口调度实际发生的时机,也就是正式的进行进程换入换出过程,而非仅仅更新进程状态标志
深入解读Linux进程调度系列(6)——抢占与非抢占分析抢占(preempt)与非抢占的差别
深入解读Linux进程调度系列(7)——调度与CPU隔离Isolcpus功能与调度之间的关系
深入解读Linux进程调度系列(8)——调度与cgroupcgroup是Control Group的简称,用于资源划分和控制,其CPU和CPUSET子系统与调度息息相关

度与内核其他模块的关系

调度模块是操作系统正常运行的基础核心模块,我们经常讲到或者听到的调度为狭义的调度概念,一般指的是以schedule为入口进行的进程上下文切换的过程,包括核心调度器CFS相关的内容。实际上调度的概念远不止于此,她作为Linux操作系统正常运行的基础核心,与很多个子模块相关联。

中断是操作系统进行外部事情相应以及内部异常等的处理方式,而调度也是在Linux的时钟事件驱动下完成的,中断又涉及硬件中断和软中断,即中断下半部,再加入定时器来辅助调度的复杂算法正常运行,确保调度的发生以及在正确的时机发生。另外,早期的内核为非抢占的,现在Linux也支持非抢占运行,这里的区别也是理解调度的重要方面。这些内容一起决定了调度的入口和实际发生的时机。随着操作系统的发展,资源控制、安全和虚拟化称为了重要的方向,cgroup就是其中很重要的一个产物,也是现在流行的虚拟化技术Docker的底层核心。cgroup支持多个子系统,其中CPU和CPUSET子系统与调度直接相关。另外需要关注的是CPU隔离,调度实际上就是对CPU资源的管理手段,CPU隔离天然地影响调度的执行路径。

由于笔者最近在调试PowerPC相关的芯片,因此相关的介绍会以此为例提取相关的内核源代码进行解读展示。

接下来的博文中会详细介绍调度与Linux各个模块之间的关系,具体的链接见上面的表格。

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《深入分析Linux内核源码 陈莉君pdf》是一本介绍Linux内核源码分析的教材。本书适合有一定编程基础和Linux操作系统了解的读者,帮助读者深入了解Linux内核的原理和实现。 这本书主要分为两个部分:前半部分是对Linux内核的概述和基础知识的介绍,后半部分则深入分析Linux内核的各个模块和功能。 在前半部分,作者介绍了Linux的发展历史、内核架构、进程管理、内存管理、文件系统等基础知识。通过这些基础知识的学习,读者可以对Linux内核的整体结构和运行原理有一个全面的了解。 后半部分则深入分析了Linux内核的各个模块和功能,如进程调度、内存管理、文件系统、网络协议栈等。作者通过阐述源码分析方法和示例代码,帮助读者理解和掌握Linux内核的具体实现。这些模块和功能的深入分析,可以帮助读者更好地理解Linux内核的工作原理,提升对系统的调试和优化能力。 总体而言,这本书对于想要深入了解Linux内核的读者来说非常有价值。通过分析内核源码,读者可以更好地理解Linux操作系统的底层原理和工作机制,从而对系统的运行和调试有深入的了解。但需要指出的是,由于Linux内核的复杂性,读者需要具备一定的编程和操作系统基础,以更好地理解书中的内容。这本书是一本较为深入的技术书籍,需要读者花一些时间和精力进行学习和实践。 ### 回答2: 《深入分析Linux内核源码 陈莉君pdf》是一本深入分析Linux内核源码的书籍,作者陈莉君是一位资深的Linux内核工程师。本书主要分为三个部分:内核原理、内核源码分析和内核调试技术。 首先,本书介绍了Linux内核的基本原理,包括进程管理、内存管理、文件系统、设备驱动等核心模块的实现原理。通过对这些原理深入解析,读者可以更加全面地了解Linux内核的运作机制。 其次,本书详细解读Linux内核的源码结构和各个模块的实现细节。作者通过逐行分析和注释,揭示了内核代码的设计思路和实现细节,让读者可以更加深入地理解内核源码的结构和逻辑。 最后,本书介绍了一些内核调试技术,包括使用gdb调试内核、使用内核跟踪工具分析内核性能等。这些技术可以帮助读者解决实际的内核问题,提高调试和优化内核的能力。 本书的特点是通俗易懂、深入浅出。即使读者没有过多的编程和操作系统基础,通过仔细阅读,也能够理解其中的内容。此外,本书还提供了大量的源码示例和实践案例,读者可以通过阅读和实践来加深对Linux内核的理解。 总而言之,《深入分析Linux内核源码 陈莉君pdf》是一本非常实用和权威的Linux内核书籍,对于需要深入了解Linux内核工作原理和如何分析和调试内核的开发人员和研究人员来说是一本宝贵的参考资料。 ### 回答3: 《深入分析Linux内核源码》是陈莉君编写的一本关于Linux内核源码分析的书籍。该书通过对Linux内核源码的解读和分析,帮助读者深入了解Linux内核的工作原理和设计思想。 首先,该书介绍了Linux内核的架构和基本组成,包括进程管理、内存管理、文件系统、设备驱动、网络和进程间通信等核心部分。通过对这些组件的详细解析,读者可以逐步建立起对Linux内核整体架构的认识。 其次,该书通过具体的代码实例,详细解释了Linux内核的关键数据结构和算法。例如,书中详细介绍了进程调度算法和内存管理机制的实现原理,读者可以通过代码级别的分析深入理解其工作原理和性能优化方法。 此外,该书还介绍了Linux内核的调试和性能分析工具,如GDB、SystemTap等。这些工具可以帮助读者在分析Linux内核源码时进行实时调试和性能优化,提高代码的可读性和性能。 总的来说,陈莉君的《深入分析Linux内核源码》是一本深入浅出、通俗易懂的Linux内核源码解析书籍。通过阅读该书,读者可以系统地学习和理解Linux内核的设计思想和实现方法,对Linux内核的开发和调试有更深入的认识和理解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值