最近我要做一些关于 Linux 中调度进程的报告,为此,我们被要求关闭除 0 之外的所有 cpu,以显示进程如何为 cpu 运行。但有一件事困扰着我,我在口试期间被问到了这一点。为什么采用循环策略的进程即使 fifo 具有相同的静态优先级也能获得 cpu,当我第二次检查时,fifo 获得了 cpu ;/.我最终可以在哪里检查这些答案?我知道,如果进程具有较高的静态优先级,则具有 FIFO 策略的进程或线程只能被 RR 策略进程征用,但是否有可能以某种方式征用 RR 策略进程?
[root@ ttyid:0 śro maj 11 21:15:10 user]# (chrt -r 2 yes &);(chrt -f 2 yes &)
[root@ ttyid:1 śro maj 11 21:15:32 user]# ps -o
pid,cls,rtprio,sgi_p,psr,etime,cputime,tty,command,pcpu `pidof yes`
PID CLS RTPRIO P PSR ELAPSED TIME TT COMMAND %CPU
4018 RR 2 * 0 01:37 00:00:02 pts/0 yes 2.9
4020 FF 2 * 0 01:37 00:00:00 pts/0 yes 0.0