int curr; /* highest queued rt task prio */
时间: 2024-04-07 17:28:22 浏览: 55
过球低频算法的代码实现介绍
`curr` 是实时调度器中的一个重要变量,用于记录当前就绪队列中优先级最高的实时进程的优先级。
在 Linux 内核中,实时进程分为两种类型:SCHED_FIFO 和 SCHED_RR。SCHED_FIFO 表示先进先出调度策略,即按照优先级从高到低依次调度进程,直到当前进程结束或被阻塞;SCHED_RR 表示时间片轮转调度策略,即每个进程分配一个时间片,时间片用完后就重新加入到就绪队列的尾部。
`curr` 变量记录当前就绪队列中优先级最高的实时进程的优先级。当一个实时进程被加入到就绪队列中时,如果该进程的优先级高于 `curr`,则 `curr` 会更新为该进程的优先级。这样,在调度器选取下一个进程时,就可以优先选取 `curr` 对应的优先级中的进程,以提高实时性能。
需要注意的是,`curr` 变量只记录实时进程的优先级,而不包括普通进程。普通进程的调度是由 Completely Fair Scheduler (CFS) 负责的,与 `curr` 变量无关。
阅读全文