05-SCHED_FIFO策略
35.2.2 SCHED_FIFO策略
SCHED_FIFO(先入先出,first-in,first-out)策略与SCHED_RR策略类似,它们之间最主要的差别在于在SCHED_FIFO策略中不存在时间片。一旦一个SCHED_FIFO进程获得了CPU的控制权之后,它就会一直执行直到下面某个条件被满足:
- 自动放弃CPU(采用的方式与前面描述的SCHED_FIFO策略中的方式一样);
- 终止了;
- 被一个优先级更高的进程抢占了(场景与前面描述的SCHED_FIFO策略中场景一样)。
在第一种情况中,进程会被放置在与其优先级级别对应的队列的队尾。在最后一种情况中,当高优先级进程执行结束之后(被阻塞或终止了),被抢占的进程会继续执行(即被抢占的进程位于与其优先级级别对应的队列的队头)。