You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

轮转(Round Robin)CPU调度算法如何处理I/O密集型进程?

轮转(Round Robin)调度算法处理I/O密集型进程的逻辑解析

针对你的两个问题,直接给出明确结论和逻辑:

问题1:调度器会在该进程执行I/O时为其分配时间片吗?

不会。轮转调度的时间片仅针对处于就绪队列的进程。当进程发起I/O请求后,会从CPU运行态切换到阻塞态,脱离就绪队列。此时调度器不会再为该进程分配时间片,直到它的I/O操作完成,重新回到就绪队列,才会参与下一轮的时间片分配。

问题2:当该进程处于I/O阶段时,若时间片到期,调度器会等待I/O完成还是直接调度下一个进程?

直接调度下一个就绪队列中的进程。轮转调度的核心规则是时间片到期就切换进程,但如果进程主动发起I/O(像你的例子中2ms后就进入I/O),它会提前让出CPU,此时调度器会立刻选取就绪队列中的下一个进程执行,根本不会等到原本的时间片到期。

补充你的例子的完整执行流程(假设时间片为5ms):

  • 进程被调度到CPU,执行2ms后发起I/O请求,进入阻塞态。
  • 调度器立即从就绪队列选取下一个进程,分配5ms时间片让其执行。
  • 8ms后,原进程I/O完成,从阻塞态回到就绪队列等待调度。
  • 当当前运行的进程时间片到期或主动让出CPU时,调度器按轮转顺序为就绪队列中的进程(包括原进程)分配时间片。

内容的提问来源于stack exchange,提问作者Eric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 00:40:28