系列文章: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详解相关推荐

  1. [鸟哥linux视频教程整理]03_01_Linux文件管理类命令详解续3

    一.查看文本: cat:连接并显示  tac:反向显示文本内容 -n:显示行号 -E:显示每一行的行结束符 注:对于Linux系统而言,所有的文本文件的每一行的行结束符是$.windows系统的结束符 ...

  2. 【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 字段 ...

  3. 【Linux 内核】实时调度类 ⑤ ( 实时调度类 rt_sched_class 源码分析 | 结构体字段及函数指针分析 )

    文章目录 一.rt_sched_class 结构体变量类型 sched_class 二.next 字段值 三.enqueue_task 函数指针值 四.dequeue_task 函数指针值 五.yie ...

  4. Linux进程描述符task_struct结构体详解--Linux进程的管理与调度(一)

    转自:http://blog.csdn.net/gatieme/article/details/51383272 日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux- ...

  5. linux的阻塞waitqueue,Linux阻塞控制 wait_event与wait_event_interruptible函数详解

    Linux阻塞控制 wait_event与wait_event_interruptible函数详解 最近研究了一下linux驱动对进程的阻塞与非阻塞的控制,感觉linux对进程的控制真的是牛逼,各种进 ...

  6. 【Linux】定时任务crontab和at命令详解

    [Linux]定时任务crontab和at命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的 ...

  7. sstream类的详解

     sstream类的详解             sstream类详细介绍 C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象 ...

  8. kubernetes系列11—PV和PVC详解

    kubernetes系列11-PV和PVC详解 原文:kubernetes系列11-PV和PVC详解 本文收录在容器技术学习系列文章总目录 1.认识PV/PVC/StorageClass 1.1 介绍 ...

  9. linux getenv函数 get,linux之getenv putenv setenv和unsetenv详解

    1.getenv函数 头文件:#include 函数原型: char * getenv(const char* name); 函数说明:getenv()用来取得参数name环境变量的内容. 函数参数: ...

  10. 高通平台msm8953 Linux DTS(Device Tree Source)设备树详解之二(DTS设备树匹配过程)

    本系列导航: 高通平台8953  Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) 高通平台8953 Linux DTS(Device Tree Source ...

最新文章

  1. 机器学习 KNN算法实践
  2. Qt C++属性类型提供给 QML调用(二)
  3. java 类 解析_Java类详解
  4. Day1数据结构和算法
  5. 修改docker网桥模式下的网络地址
  6. 软件测试一个项目几个接口,你打开一个项目网址中间发生了什么?(软件测试面试题)...
  7. 第一百六十四节,jQuery,常规选择器
  8. 修改本地数据库root权限密码
  9. 模块化机房建设指导书_模块化机房建设方案建议书.docx
  10. 光学动作捕捉系统构成
  11. 分析攻击IP来源地并画出饼图 1
  12. DDR中的一些知识点说明(ODT,ZQ校准,OCT,TDQS)
  13. 金色传说:SAP-PPDS-SAPAPO/RRP3增强:控制界面需求数量字段修改后检查增强/用户事件USERCOMMAND响应增强
  14. 画彩色斐波那契螺旋线
  15. 操作Linux软链接引起的各种问题
  16. networkx2.5知识梳理
  17. 好强型性格分析,如何改变好强型性格?
  18. 苹果、谷歌、脸书等公司该怎样分配股权?
  19. h5页面自定义字体_H5页面视觉设计中的字体有哪几种
  20. BERT的vocabulary字典

热门文章

  1. ASP.NET调用WCF服务
  2. 深入解析Invoke and BeginInvoke, 同步与异步解析
  3. Audio / Video Playback
  4. (转载)使用Maven构建多模块项目
  5. memcached 快速入门
  6. 正则表达式-2-正则表达式实战1
  7. CentOs6.5配置安装DRBD
  8. 批处理向FTP上传指定属性的文件 批处理增量备份的例子
  9. 5个例子说明jQuery.extend(...)对象扩展工具方法
  10. 【】oracle当前用户下有什么表?