【Linux 内核】进程优先级与调度策略 ② ( 获取调度策略对应的进程优先级函数 | sched_get_priority_max 函数 | sched_get_priority_min 函数 )
文章目录
- 一、获取进程优先级函数
- 二、调度策略参数
- 三、进程优先级说明
在上一篇博客 【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 函数 )相关推荐
- 论文中文翻译——Double-Fetch情况如何演变为Double-Fetch漏洞:Linux内核中的双重获取研究
本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--How Double-Fetch Situations turn into Double-Fetch Vulnerabil ...
- linux内核mount过程超复杂的do_mount()、do_loopback()、attach_recursive_mnt()、propagate_mnt()函数详解
linux内核mount过程复杂的do_loopback().attach_recursive_mnt().propagate_mnt()函数详解 本文对mount过程流程做了较详细的解释.首先以mo ...
- linux内核中符号地址的获取
有些内核函数或者内核变量是不导出的,但是确实需要用,那该怎么办?因此寻找内核符号地址就有必要进行一下总结,更有甚,如果想找一条特定的指令,比如movl的指令地址,那更需要投入一些精力!总的来说,我总结 ...
- linux内核中根据inode获取文件的完整路径
1.概述 构成一个操作系统最重要的部分就是进程管理和文件系统了. Linux最初采用的是minix的文件系统,minix是由Andrew S. Tanenbaum开发的用于实验性的操作系统,比如有一些 ...
- 【Linux 内核 内存管理】RCU 机制 ④ ( RCU 模式下更新链表项 list_replace_rcu 函数 | 链表操作时使用 smp_wmb() 函数保证代码执行顺序 )
文章目录 一.RCU 模式下更新链表项 list_replace_rcu 函数 二.链表操作时使用 smp_wmb() 函数保证代码执行顺序 一.RCU 模式下更新链表项 list_replace_r ...
- 【Linux 内核 内存管理】RCU 机制 ③ ( RCU 模式下添加链表项 list_add_rcu 函数 | RCU 模式下删除链表项 list_del_rcu 函数 )
文章目录 一.RCU 模式下添加链表项 list_add_rcu 函数 二.RCU 模式下删除链表项 list_del_rcu 函数 一.RCU 模式下添加链表项 list_add_rcu 函数 在 ...
- linux内核调度,Linux内核的三种调度策略
一 Linux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务.一旦占用cpu则一直运行.一直运行直到有更高优先级任务到达或自己放弃 ...
- Linux内核源代码获取方法
Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...
- Linux内核源代码获取教程
Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...
最新文章
- 利用Unity3D制作简易2D计算器
- oracle数据连接出现 login denied 问题
- 项目spring boot 写es hbase 运行内存溢出
- spring 注释的作用_Spring的@Primary注释在起作用
- 实例52:python
- 怎么在html显示已登录状态,jQuery Ajax 实现在html页面实时显示用户登录状态
- 详述 hosts 文件的作用及修改 hosts 文件的方法
- 一步一步SharePoint 2007之十五:实现Form认证(5)——更改认证的Provider
- 计蒜客挑战难题:爬楼梯
- windows与linux多线程对比
- LaTeX常用符号(持续更新)
- 人教版初中数学七年级上册“阅读与思考”《数字1与字母X的对话》教学设计
- java里的c.gettime()什么意思_new Date().getTime() 返回的是什么
- 2020年王者荣耀怎么设置英雄装备
- CSS3 Web工程师工作场景动画
- VK1668 SSOP24兼用TM1668的LED数码驱动芯片
- 朴素贝叶斯法的参数估计——贝叶斯估计及其Python实现
- Ceph万字总结|如何改善存储性能以及提升存储稳定性
- 帆软初级证书 第三部分 FineBI 答案
- 绕任意向量旋转分解到坐标系旋转
热门文章
- Spring的静态代理和动态代理
- mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user #39;mhz#39;@#39;localhost#39; (using ...
- Spark ThriftServer使用的大坑
- php中curl模拟post提交多维数组
- (5.17更新)2011.5.21项管考试论文关注点
- AppDomain,应用程序域
- Sqlserver 优化的方法
- 石川es6课程---7、数组
- 后盾网lavarel视频项目---1、数据迁移
- 5G元年的世界电信日,我们的生活将如何被改变?