文章目录

  • 一、获取进程优先级函数
  • 二、调度策略参数
  • 三、进程优先级说明

在上一篇博客 【Linux 内核】进程优先级与调度策略 ① ( SCHED_FIFO 调度策略 | SCHED_RR 调度策略 | 进程优先级 ) 中 , 简单介绍了 " 进程调度策略 " 与 " 进程优先级 " 概念 , 本篇博客开始继续介绍进程调度的代码细节 ;

一、获取进程优先级函数


Linux 内核中 , 通过下面 222 个函数 , 可以获取进程的 " 优先级最大值 “ 和 ” 优先级最小值 " ;

获取 实时进程 优先级最大值 函数 : 传入调度策略 对应的宏定义 ;

int sched_get_priority_max(int policy)

获取 实时进程 优先级最小值 函数 : 传入调度策略 对应的宏定义 ;

int sched_get_priority_min(int policy)

调度策略参数参考 【Linux 内核】调度器 ⑨ ( Linux 内核调度策略 | SCHED_NORMAL 策略 | SCHED_FIFO 策略 | SCHED_NORMAL 策略 | SCHED_BATCH策略 ) 博客 ;

二、调度策略参数


上述两个函数 , 传入的调度策略参数 , 在 Linux 内核源码中的 linux-5.6.18\include\uapi\linux\sched.h 头文件中定义 ;

/** Scheduling policies*/
#define SCHED_NORMAL        0
#define SCHED_FIFO      1
#define SCHED_RR        2
#define SCHED_BATCH     3
/* SCHED_ISO: reserved but not implemented yet */
#define SCHED_IDLE      5
#define SCHED_DEADLINE      6

调度策略源码参考 【Linux 内核】调度器 ⑨ ( Linux 内核调度策略 | SCHED_NORMAL 策略 | SCHED_FIFO 策略 | SCHED_NORMAL 策略 | SCHED_BATCH策略 ) 博客 ;

三、进程优先级说明


SCHED_OTHER 进程调度策略 不支持进程优先级机制 ;

SCHED_FIFO 和 SCHED_RR 进程调度策略 , 支持 进程优先级机制 , 进程优先级取值 111 ~ 999999 , 优先级数值越大 , 优先级越高 ;

SCHED_FIFO 、SCHED_RR 实时调度策略 , 进程优先级最大值为 999999

SCHED_NORMAL、SCHED_BATCH、SCHED_IDLE 普通调度策略 , 调用获取进程优先级函数 , 得到的结果始终为 000 . 是 普通任务调度函数 ;

进程优先级参考 【Linux 内核】调度器 ⑨ ( Linux 内核调度策略 | SCHED_NORMAL 策略 | SCHED_FIFO 策略 | SCHED_NORMAL 策略 | SCHED_BATCH策略 ) 博客 ;

【Linux 内核】进程优先级与调度策略 ② ( 获取调度策略对应的进程优先级函数 | sched_get_priority_max 函数 | sched_get_priority_min 函数 )相关推荐

  1. 论文中文翻译——Double-Fetch情况如何演变为Double-Fetch漏洞:Linux内核中的双重获取研究

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--How Double-Fetch Situations turn into Double-Fetch Vulnerabil ...

  2. linux内核mount过程超复杂的do_mount()、do_loopback()、attach_recursive_mnt()、propagate_mnt()函数详解

    linux内核mount过程复杂的do_loopback().attach_recursive_mnt().propagate_mnt()函数详解 本文对mount过程流程做了较详细的解释.首先以mo ...

  3. linux内核中符号地址的获取

    有些内核函数或者内核变量是不导出的,但是确实需要用,那该怎么办?因此寻找内核符号地址就有必要进行一下总结,更有甚,如果想找一条特定的指令,比如movl的指令地址,那更需要投入一些精力!总的来说,我总结 ...

  4. linux内核中根据inode获取文件的完整路径

    1.概述 构成一个操作系统最重要的部分就是进程管理和文件系统了. Linux最初采用的是minix的文件系统,minix是由Andrew S. Tanenbaum开发的用于实验性的操作系统,比如有一些 ...

  5. 【Linux 内核 内存管理】RCU 机制 ④ ( RCU 模式下更新链表项 list_replace_rcu 函数 | 链表操作时使用 smp_wmb() 函数保证代码执行顺序 )

    文章目录 一.RCU 模式下更新链表项 list_replace_rcu 函数 二.链表操作时使用 smp_wmb() 函数保证代码执行顺序 一.RCU 模式下更新链表项 list_replace_r ...

  6. 【Linux 内核 内存管理】RCU 机制 ③ ( RCU 模式下添加链表项 list_add_rcu 函数 | RCU 模式下删除链表项 list_del_rcu 函数 )

    文章目录 一.RCU 模式下添加链表项 list_add_rcu 函数 二.RCU 模式下删除链表项 list_del_rcu 函数 一.RCU 模式下添加链表项 list_add_rcu 函数 在 ...

  7. linux内核调度,Linux内核的三种调度策略

    一 Linux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务.一旦占用cpu则一直运行.一直运行直到有更高优先级任务到达或自己放弃 ...

  8. Linux内核源代码获取方法

    Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...

  9. Linux内核源代码获取教程

    Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...

最新文章

  1. 利用Unity3D制作简易2D计算器
  2. oracle数据连接出现 login denied 问题
  3. 项目spring boot 写es hbase 运行内存溢出
  4. spring 注释的作用_Spring的@Primary注释在起作用
  5. 实例52:python
  6. 怎么在html显示已登录状态,jQuery Ajax 实现在html页面实时显示用户登录状态
  7. 详述 hosts 文件的作用及修改 hosts 文件的方法
  8. 一步一步SharePoint 2007之十五:实现Form认证(5)——更改认证的Provider
  9. 计蒜客挑战难题:爬楼梯
  10. windows与linux多线程对比
  11. LaTeX常用符号(持续更新)
  12. 人教版初中数学七年级上册“阅读与思考”《数字1与字母X的对话》教学设计
  13. java里的c.gettime()什么意思_new Date().getTime() 返回的是什么
  14. 2020年王者荣耀怎么设置英雄装备
  15. CSS3 Web工程师工作场景动画
  16. VK1668 SSOP24兼用TM1668的LED数码驱动芯片
  17. 朴素贝叶斯法的参数估计——贝叶斯估计及其Python实现
  18. Ceph万字总结|如何改善存储性能以及提升存储稳定性
  19. 帆软初级证书 第三部分 FineBI 答案
  20. 绕任意向量旋转分解到坐标系旋转

热门文章

  1. Spring的静态代理和动态代理
  2. mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user #39;mhz#39;@#39;localhost#39; (using ...
  3. Spark ThriftServer使用的大坑
  4. php中curl模拟post提交多维数组
  5. (5.17更新)2011.5.21项管考试论文关注点
  6. AppDomain,应用程序域
  7. Sqlserver 优化的方法
  8. 石川es6课程---7、数组
  9. 后盾网lavarel视频项目---1、数据迁移
  10. 5G元年的世界电信日,我们的生活将如何被改变?