上QQ阅读APP看书,第一时间看更新
1.2.3 调度属性:关键元素
所有相互竞争的进程都必须拥有公平的CPU时间,这就要求基于时间片和进程优先级来调度。以下这些属性包含了调度器所需的必要信息,以帮助确定哪个进程在竞争时获得优先权。
1.prio和static_prio
prio帮助确定调度进程的优先级。如果进程被分配了实时调度策略,则此字段保存了进程的静态优先级,范围为1~99(由sched_setscheduler()指定)。对于正常的进程,这个字段保存了由nice值得来的动态优先级。
2.se、rt和dl
每个任务都属于调度实体(任务组),因为调度是在每个实体级别上完成的。se用于所有正常进程,rt用于实时进程,dl用于截止期进程。我们将在下一章讨论关于调度的这些属性的更多细节。
3.policy
该字段保存了和进程调度策略相关的信息,这有助于确定进程的优先级。
4.cpus_allowed
该字段指定了进程的CPU掩码。也就是说,在多处理器系统中,进程允许在哪个CPU上进行调度。
5.rt_priority
该字段用于指定实时调度策略的进程优先级。但对于非实时进程,该字段未被使用。