深入解读Linux进程调度系列(2)——调度类sched_class详解
系列文章:https://blog.csdn.net/Vince_/article/details/89054330
调度器的类型
根据任务的资源需求类型可以将其分为IO-bounced和Processor-bounced进程,其中IO-bounced可以较为广义的理解,比如网络设备以及键盘鼠标等,实时性要求较高,但是CPU占用可能并不密集。Processor-bounced进程对CPU的使用较为密集,比如加密解密过程,图像处理等。针对任务类型区分调度,可以实现较好的体验,提高实时性的交互,同时可以预留大量的CPU资源给计算密集型的进程。所以在调度设计中采用了复杂的算法保证及时响应以及大吞吐量。
有五种调度类:
- fair_sched_class,现在较高版本的Linux上也就是CFS(Completely Fair Scheduler),Linux上面主要的调度方式,由CONFIG_FAIR_GROUP_SCHED宏控制
- rt_sched_class,由CONFIG_RT_GROUP_SCHED宏控制,实时调度类型。
- dl_sched_class,deadline调度类,实时调度中较高级别的调度类型,一般之后在系统紧急情况下会调用;
- stop_sched_class,最高优先级的调度类型,属于实时调度类型的一种,在系统终止时会在其上创建进程进入调度。
- idle_sched_class,优先级最低,在系统空闲时才会进入该调度类型调度,一般系统中只有一个idle,那就是初始化进程init_task,在初始化完成后它将自己设置为idle进程,并不做更多工作。
深入解读Linux进程调度系列(2)——调度类sched_class详解相关推荐
- [鸟哥linux视频教程整理]03_01_Linux文件管理类命令详解续3
一.查看文本: cat:连接并显示 tac:反向显示文本内容 -n:显示行号 -E:显示每一行的行结束符 注:对于Linux系统而言,所有的文本文件的每一行的行结束符是$.windows系统的结束符 ...
- 【Linux 内核】实时调度类 ② ( 实时调度实体 sched_rt_entity 源码分析 | run_list、timeout、watchdog_stamp、time_slice 字段 )
文章目录 一.sched_rt_entity 源码分析 1.run_list 字段 2.timeout 字段 3.watchdog_stamp 字段 4.time_slice 字段 5.back 字段 ...
- 【Linux 内核】实时调度类 ⑤ ( 实时调度类 rt_sched_class 源码分析 | 结构体字段及函数指针分析 )
文章目录 一.rt_sched_class 结构体变量类型 sched_class 二.next 字段值 三.enqueue_task 函数指针值 四.dequeue_task 函数指针值 五.yie ...
- Linux进程描述符task_struct结构体详解--Linux进程的管理与调度(一)
转自:http://blog.csdn.net/gatieme/article/details/51383272 日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux- ...
- linux的阻塞waitqueue,Linux阻塞控制 wait_event与wait_event_interruptible函数详解
Linux阻塞控制 wait_event与wait_event_interruptible函数详解 最近研究了一下linux驱动对进程的阻塞与非阻塞的控制,感觉linux对进程的控制真的是牛逼,各种进 ...
- 【Linux】定时任务crontab和at命令详解
[Linux]定时任务crontab和at命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的 ...
- sstream类的详解
sstream类的详解 sstream类详细介绍 C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象 ...
- kubernetes系列11—PV和PVC详解
kubernetes系列11-PV和PVC详解 原文:kubernetes系列11-PV和PVC详解 本文收录在容器技术学习系列文章总目录 1.认识PV/PVC/StorageClass 1.1 介绍 ...
- linux getenv函数 get,linux之getenv putenv setenv和unsetenv详解
1.getenv函数 头文件:#include 函数原型: char * getenv(const char* name); 函数说明:getenv()用来取得参数name环境变量的内容. 函数参数: ...
- 高通平台msm8953 Linux DTS(Device Tree Source)设备树详解之二(DTS设备树匹配过程)
本系列导航: 高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) 高通平台8953 Linux DTS(Device Tree Source ...
最新文章
- 机器学习 KNN算法实践
- Qt C++属性类型提供给 QML调用(二)
- java 类 解析_Java类详解
- Day1数据结构和算法
- 修改docker网桥模式下的网络地址
- 软件测试一个项目几个接口,你打开一个项目网址中间发生了什么?(软件测试面试题)...
- 第一百六十四节,jQuery,常规选择器
- 修改本地数据库root权限密码
- 模块化机房建设指导书_模块化机房建设方案建议书.docx
- 光学动作捕捉系统构成
- 分析攻击IP来源地并画出饼图 1
- DDR中的一些知识点说明(ODT,ZQ校准,OCT,TDQS)
- 金色传说:SAP-PPDS-SAPAPO/RRP3增强:控制界面需求数量字段修改后检查增强/用户事件USERCOMMAND响应增强
- 画彩色斐波那契螺旋线
- 操作Linux软链接引起的各种问题
- networkx2.5知识梳理
- 好强型性格分析,如何改变好强型性格?
- 苹果、谷歌、脸书等公司该怎样分配股权?
- h5页面自定义字体_H5页面视觉设计中的字体有哪几种
- BERT的vocabulary字典