linux内核杂记(6)-进程调度(1)
1、LINUX2.5系列内核中,采用了一种O(1)调度程序的新调度程序,该算法对调度响应时间 敏感的程序(比如交互的桌面系统 )不足,但对大服务器的工作 负载很理想 。
2、自内核2.6开发初期,引用了反转楼梯 最后期限调度算法
(1)吸取了队列理论
(2)引入公平调度
(3)在2.6.3内核版本中替代了O(1)调度算法,称为完全公平调度算法(CFS)
3、LINUX对进程的响应做了优化(缩短响应时间),更倾向于调度I/O消耗型进程。
4、优化级高的进程先运行,低的后运行,相同优先级的进程 按轮转方式来调度。
5、2种不同的优先级范围 。
(1)nice值,-20到+19,越大值优先级越低,nice代表时间片的比例,ps-el命令查看进程时,NI列为进程的nice值。这 类进程更具调度优先级
(2)实时优先级,0-99,值可配置,越高优先级越高中,在RTPRIO列。
6、时间片
(1)进程在被抢占前可持续运行的时间
(2)I/O消耗不需要长时间 片,处理器消耗需要
(3)CFS将处理器使用比划分到进程,进程 获得的处理器时间 与系统负载 相关。
(4)nice作为权重将调用 处理器时间使用比。
(5)CFS调度中,新进程消耗的使用比当前进程 小,则新进程立刻抢占当前进程
linux内核杂记(6)-进程调度(1)相关推荐
- linux内核杂记(11)-进程调度(6)
LINUX实时调度策略 调度策略分类 1.SCHED_FIFO (1)简单的先入先出调度方法 (2)不使用时间片,一旦SCHED_FIFO的进程处于可执行状态,就会继续执行,直到它自己执行完毕或显式释 ...
- linux内核杂记(10)-进程调度(5)
一.用户抢占 1.用户抢占时机 从系统调用返回用户空间 从中断处理程序返回用户空间 2.检查标志 内核返回后检查need_resched标志 如果被设置了,内核会选择一个更适合的进程投入进行 3.返回 ...
- linux内核杂记(8)-进程调度(3)
1.红黑树存储了系统中所有的可运行进程,节点的键值 是可运行进程的虚拟运行时间. 2.进程高度的主要 入口点是函数schedule(),定义在kernel/sched.c中.是内核其它部分用于调用进程 ...
- linux内核杂记(7)-进程调度(2)
1.进程调度的效果应如同系统具备一个理想中的完美多任务处理器,每个进程 能获得1/n 个处理器时间,n指可运行进程数量. 2.调度时进程抢占会带来一定的代价,换入与换出进程消耗,缓存效率等.CFS考虑 ...
- linux内核杂记(12)-进程调度(7)
与调度相关的系统调用 1.进程的nice值 nice() 设置进程的nice值 2.进程的调度策略 sched_setscheduler()设置进程的调度策略 sched_getscheduler() ...
- linux内核杂记(9)-进程调度(4)
1.上下文切换从一个可执行进程切换到另一个要执行进程.由定义在kernel/sched.c中的context_switch()函数负责处理. 2.每当一个新的进程被选出来准备投入运行时,schedul ...
- 【Linux 内核】Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )
文章目录 一.Linux 内核特性 1.Linux 内核组织形式 2.Linux 进程调度 3.Linux 内核线程 4.Linux 内核多平台虚拟内存管理 5.Linux 虚拟文件系统 6.Linu ...
- 【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )
文章目录 一.进程调度 二.内存管理 三.中断管理 四.设备管理 五.文件系统 一.进程调度 进程调度 : 进程 是 系统中 进行 资源分配 的 基本单位 ; 每个进程 在 运行时 , 都 感觉自己占 ...
- linux内核-进程与进程调度
进程四要素 要给进程下一个确切的定义不是件容易的事情.不过,一般来说linux系统中的进程都具备下列诸要素: 有一段程序供其执行,就好像一场戏要有个剧本一样.这段程序不一定是进程所专有,可以与其他进程 ...
最新文章
- PyTorch框架:(5)使用PyTorch框架构建卷积神经网络
- [CLR via C#]17. 委托
- java学习笔记2022.1.15
- ArcGIS Server SOE开发之奇怪异常:
- [css] css的加载会阻塞js运行吗?为什么?
- CF 799B T-shirt buying
- idea console窗口不见了_Python 闲谈 14——安利下IDEA开发神器中好用到爆的插件
- 新版的Eclipse(Oxygen)安装完Subversive后,现时无法自动安装SVN Connector,无论选择哪个都会自动关闭。
- [book]《超越感觉》
- VS201x+Qt5开发,中文乱码解决
- Secondary Maps (Detail Maps) Detail Mask 二级贴图(细节贴图)细节遮罩 Standard Shader系列14
- 电脑常用的快捷键大全分享。
- 2019中国大学排名
- MyBatis_查询缓存01
- 产品公司解决方案、解决方案公司解决方案,可能你做了一辈子IT你也不知道...
- 最近学习太焦虑,如何戒骄戒躁,静下心来
- 如何将一个逻辑库下所有数据集的名称汇总生成新的数据集BY:crackman
- 拟凸函数和凸函数的区别
- html字两边的横线_css实现中间文字两边横线效果
- 怎么做餐饮行业的引流?