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

系列文章

文章 概要
深入解读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)——调度与cgroup cgroup是Control Group的简称,用于资源划分和控制,其CPU和CPUSET子系统与调度息息相关

度与内核其他模块的关系

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

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

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

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

深入解读Linux进程调度系列(总览)相关推荐

  1. linux 2.6内核进程调度,Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片,...

    Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片, RT /** * 递减当前进程的时间片计数器,并检查是否已经用完时间片. * 由于进程的调度类型不同 ...

  2. linux进程调度之 FIFO 和 RR 调度策略

    转载 http://blog.chinaunix.net/uid-24774106-id-3379478.html  linux进程调度之 FIFO 和 RR 调度策略 2012-10-19 18:1 ...

  3. (6)Linux进程调度-实时调度器

    目录 背景 1. 概述 2. 数据结构 3. 流程分析 3.1 运行时统计数据 3.2 组调度 3.3 带宽控制 3.4 调度器函数分析 3.4.1 pick_next_task_rt 3.4.2 e ...

  4. Linux进程调度 - 实时调度器 LoyenWang

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  5. linux 进程调度 内存,linux学习的任督二脉-进程调度和内存管理

    转自 宋宝华老师的博客 原文:https://blog.csdn.net/21cnbao/article/details/77505330 内功心法 学习或遇到问题时,反过来主动思考如果我是设计者,我 ...

  6. linux进程调度之FIFO和RR策略

    最近花了10几天的时间,将linux进程调度相关的内核代码看了两遍左右,也看了一些讲述linux进程调度的一些文章,总想写个系列文章,把进程调度全景剖析一遍,但是总是感觉力不逮己,自己都不敢下笔写文章 ...

  7. linux 进程调度卡死,linux进程调度之总章:一些片汤话

    最近几天结合源码看了很多linux进程调度的文章,虽然掌握了个大概,但是越看,细节越多,写这篇文章的信心也就越不足,曾有系列文章叫鼠眼看linux进程调度,很符合我现在的心境,就像盲人摸象,学到一些东 ...

  8. linux怎么创建牡蛎_文件amp;目录小技巧 | Linux后门系列

    0x01 Linux 目录技巧 我们都知道 Windows 下文件和文件夹命名是有很多规则和限制的,但是可以通过一些程序来绕过限制,今天我们来看看 Linux 有哪些有趣的规则 参考 https:// ...

  9. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

  10. linux --- 进程调度

    2019独角兽企业重金招聘Python工程师标准>>> Linux进程调度笔记 一:Linux进程的四大要素 1:一段供进程执行的程序,该程序可以被多个进程执行. 2:独立的内核堆栈 ...

最新文章

  1. FhqTreap的区间翻转
  2. 介绍一个Excel批量处理软件
  3. LeetCode 638. 大礼包(无限背包DP)
  4. 干活的不如写ppt的吗_干活不如写PPT 这话太真实
  5. 学习:java原理—反射机制
  6. pythonpath怎么设置_Python编程该怎么入门 模块引用的方法有哪些
  7. Linux内核中的信号量解析
  8. 深入浅出统计学 笔记 总结 学习心得
  9. srcnn+matlab版本,实现SRCNN
  10. Action语义学综述
  11. 按键精灵文字识别插件_按键精灵课程学习目录
  12. 《JavaEE黑马》 第一阶段 JavaSE基础 第一章
  13. 如何在PDF中修改内容?这个方法免费编辑
  14. 果然天蝎座的人积分落户最容易...
  15. tensorflow中model.compile()用法
  16. Adaptive vision
  17. 计算机应用无法打开,为什么电脑界面的部分软件无法打开
  18. Java swing 界面开发 - 登录界面- 2021-11-10
  19. Vue 学习——表格列表数据显示百分号%、显示数字改为自定义内容、数据表头下拉、点击筛选数据
  20. 计算机word文本段落位置互换,用word怎么使两个段落互换位置

热门文章

  1. ListView 中使用onItemClick和onItemLongClick的常见问题
  2. 学习使用autotools
  3. poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
  4. 入华五周年,微软亮AI、云计算成绩,制定“二五”新战略...
  5. 关于js执行机制的理解
  6. IOS 多个UIImageView 加载高清大图时内存管理
  7. 图文并茂超详细搭建memcache缓存服务器(nginx+php+memcache+mysql)
  8. oracle wm_concat(column)函数的使用
  9. cacti 安装部署
  10. hdu1002——A + B Problem II