CPU的调度策略

推荐好文章

推荐好文章

CUP密集性和IO密集性任务

  1. CUP密集性是指使用CPU很频繁,时间长,任务长。一般分配CPU核数是N+1
  2. IO密集型是指使用CPU的时间短,大部分时间在waiting状态,任务短。一般分配CPU核数是2*N

调度策略

  1. FIFO队列:新增一个进程时,插入队列尾部,CPU每次从就绪队列头部获取进程,要么执行完切换到下一个进程,要么遇到IO交互,切换到下一个进程,将当前进程加入等待队列,直到IO返回再加入到就绪队列尾部,等待执行
  2. 优先级队列:给每个进程赋予一个优先级序号,CPU切换时,在就绪队列查找优先级最高的进程并且派遣执行。优化优先级队列算法某些优先级低的进程一直无法获取到CPU执行权的不足之处是每次上下文切换会进行尾部进程优先级递增,优先级每次增加priority/2,这样,这些得不到CPU使用权的进程也会获取到CPU使用权
  3. SJF短作业优先:每次CPU切换时,在就绪队列查找任务最短的job并派遣执行,判断任务的长短是根据执行任务的历史记录推测得到的
  4. 轮转调度算法:在FIFO基础上增加了一个时间片,CPU获取就绪队列头部的进程,在时间片范围内如果执行完任务切换到下一个进程,如果没有执行完,将当前进程加入FIFO队列尾部,切换到下一个进程。

猜你喜欢

转载自blog.csdn.net/qq_40910541/article/details/88814527