深入解读Linux进程调度系列(总览)
日期 | 内核版本 | 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进程调度系列(总览)相关推荐
- linux 2.6内核进程调度,Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片,...
Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片, RT /** * 递减当前进程的时间片计数器,并检查是否已经用完时间片. * 由于进程的调度类型不同 ...
- linux进程调度之 FIFO 和 RR 调度策略
转载 http://blog.chinaunix.net/uid-24774106-id-3379478.html linux进程调度之 FIFO 和 RR 调度策略 2012-10-19 18:1 ...
- (6)Linux进程调度-实时调度器
目录 背景 1. 概述 2. 数据结构 3. 流程分析 3.1 运行时统计数据 3.2 组调度 3.3 带宽控制 3.4 调度器函数分析 3.4.1 pick_next_task_rt 3.4.2 e ...
- Linux进程调度 - 实时调度器 LoyenWang
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- linux 进程调度 内存,linux学习的任督二脉-进程调度和内存管理
转自 宋宝华老师的博客 原文:https://blog.csdn.net/21cnbao/article/details/77505330 内功心法 学习或遇到问题时,反过来主动思考如果我是设计者,我 ...
- linux进程调度之FIFO和RR策略
最近花了10几天的时间,将linux进程调度相关的内核代码看了两遍左右,也看了一些讲述linux进程调度的一些文章,总想写个系列文章,把进程调度全景剖析一遍,但是总是感觉力不逮己,自己都不敢下笔写文章 ...
- linux 进程调度卡死,linux进程调度之总章:一些片汤话
最近几天结合源码看了很多linux进程调度的文章,虽然掌握了个大概,但是越看,细节越多,写这篇文章的信心也就越不足,曾有系列文章叫鼠眼看linux进程调度,很符合我现在的心境,就像盲人摸象,学到一些东 ...
- linux怎么创建牡蛎_文件amp;目录小技巧 | Linux后门系列
0x01 Linux 目录技巧 我们都知道 Windows 下文件和文件夹命名是有很多规则和限制的,但是可以通过一些程序来绕过限制,今天我们来看看 Linux 有哪些有趣的规则 参考 https:// ...
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...
- linux --- 进程调度
2019独角兽企业重金招聘Python工程师标准>>> Linux进程调度笔记 一:Linux进程的四大要素 1:一段供进程执行的程序,该程序可以被多个进程执行. 2:独立的内核堆栈 ...
最新文章
- FhqTreap的区间翻转
- 介绍一个Excel批量处理软件
- LeetCode 638. 大礼包(无限背包DP)
- 干活的不如写ppt的吗_干活不如写PPT 这话太真实
- 学习:java原理—反射机制
- pythonpath怎么设置_Python编程该怎么入门 模块引用的方法有哪些
- Linux内核中的信号量解析
- 深入浅出统计学 笔记 总结 学习心得
- srcnn+matlab版本,实现SRCNN
- Action语义学综述
- 按键精灵文字识别插件_按键精灵课程学习目录
- 《JavaEE黑马》 第一阶段 JavaSE基础 第一章
- 如何在PDF中修改内容?这个方法免费编辑
- 果然天蝎座的人积分落户最容易...
- tensorflow中model.compile()用法
- Adaptive vision
- 计算机应用无法打开,为什么电脑界面的部分软件无法打开
- Java swing 界面开发 - 登录界面- 2021-11-10
- Vue 学习——表格列表数据显示百分号%、显示数字改为自定义内容、数据表头下拉、点击筛选数据
- 计算机word文本段落位置互换,用word怎么使两个段落互换位置
热门文章
- ListView 中使用onItemClick和onItemLongClick的常见问题
- 学习使用autotools
- poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
- 入华五周年,微软亮AI、云计算成绩,制定“二五”新战略...
- 关于js执行机制的理解
- IOS 多个UIImageView 加载高清大图时内存管理
- 图文并茂超详细搭建memcache缓存服务器(nginx+php+memcache+mysql)
- oracle wm_concat(column)函数的使用
- cacti 安装部署
- hdu1002——A + B Problem II