zoukankan      html  css  js  c++  java
  • 静态优先级,动态优先级,实时优先级 详解

    静态优先级:(定义在进程描述符中的:static_prio)

    动态优先级:(定义在进程描述符中的:prio)

    实时优先级:(定义在进程描述符中的:rt_priority)

    静态优先级:

        定义:他不随时间改变,内核不会主动修改它,只能通过系统调用nice去修改static_prio

    动态优先级:

       定义:调度程序通过或减少进程静态优先级来奖励IO消耗型进程或惩罚CPU消耗进程,调整后的优先级为动态优先级(prio)

    实时优先级:

      实时优先级只对实时进程有效

    宏定义:

    MAX_PRIO:140

    MAX_RT_PRIO:100

    nice:[-20,19]

    进程的动态优先级取值范围:[0,MAX_PRIO-1],即[0,139]

         针对进程划分为两个范围优先级:

         普通进程:[0,MAX_RT_PRIO-1]即[0,99]

                计算方法:静态优先级与进程交互性函数计算出来的,随任务的实际运行情况调整

         实时进程:[MAX_RT_PRIO,MAX_PRIO]即[100,139]

                计算方法:prio=MAX_RT_PRIO-1 - rt_priority

         实时进程的优先级与动态优先级成线性关系,不随时程运行而改变

         也就是说,如果一个进程是实时进程即在[0,99]之间优先级prio 与rt_priority之间的关系是固定的

    静态优先级与nice 关系  

    static_prio=MAX_RT_PRIO+nice+20

      

  • 相关阅读:
    ORA-01033: ORACLE initialization or shutdown in progress
    String.Format 格式化货币的小问题
    SQL Server——存储过程
    如何书写优雅、漂亮的SQL脚本?
    清除Chrome浏览器的历史记录、缓存
    SQL模板资源管理器,你用了吗?
    WPF笔记(2.4 Grid)
    python实现插入排序
    冒泡算法实现
    python获取本地ip地址的方法
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5566368.html
Copyright © 2011-2022 走看看