【2017年整理】进程调度.docxVIP

  • 1
  • 0
  • 约1.91万字
  • 约 9页
  • 2017-02-09 发布于浙江
  • 举报
【2017年整理】进程调度

单独谈优先级没有意义,因为设置优先级是为了调度,所以,要从调度策略说起: Linux提供了两种实时调度策略:SCHED_FIFO和SCHED_RR。而普通的、非实时的调度策略是SCHED_OTHER。SCHED_FIFO实现了一种简单的、先入先出的调度算法,它不使用时间片。SCHED_FIFO级的进程会比任何SCHED_OTHER级的进程都先得到调度。一旦一个SCHED_FIFO级进程处于可执行状态,就会一直执行,直到它自己受阻塞或显式地释放处理器为止;它不基于时间片,可以一直执行下去。只有较高优先级的SCHED_FIFO或者SCHED_RR任务才能抢占SCHED_FIFO任务。如果有两个或者更多的SCHED_FIFO级进程,它们会轮流执行, 但是在它们愿意让出处理机时会再次让出。只要有SCHED_FIFO级进程在执行,其他级别较低的进程就只能等待它结束后才有机会执行。 SCHED_RR与SCHED_FIFO大体相同,只是SCHED_RR级的进程在耗尽事先分配给它的时间后就不能再接着执行了。也就是说,SCHED_RR是带有时间片的SCHED_FIFO—-这是一种实时轮流调度算法。当SCHED_RR任务耗尽它的时间片,在同一优先级的其他实时进程被轮流调度。时间片只用来重新调度同一优先级的进程。对于SCHED_FIFO进程,高优先机总是立即抢占低优先级,但低优先级进程决不能

文档评论(0)

1亿VIP精品文档

相关文档