3.3 交互进程的调度

本文探讨了交互进程调度的目标和方法,重点介绍了RR、ML及MLF三种调度算法的工作原理。RR算法采用时间量子轮转策略,ML算法引入多级优先级队列,而MLF算法则解决了饥饿和公平问题,动态调整进程优先级。调度的主要目标是保证交互式进程的快速响应时间。
摘要由CSDN通过智能技术生成

交互进程通过从键盘或指示装置接收命令或数据,并且通过生成用户的终端或其它输出设备上的输出响应与在对话框的形式与用户通信。

调度交互进程的主要目标是对每个输入做出迅速响应。因此,交互式进程必须使用抢占式调度来分时共享 CPU,以便让每个进程都有机会及时取得进展。

RR调度算法

时间量子,Q,是在进程内被允许使用的CPU时间的一个很短的时间单位(通常为10到100毫秒)。

RR(round-robin)算法使用单一的进程队列。优先级仅由进程在队列中的位置决定。队列头部的进程具有最高优先级,允许运行 Q 个时间单位。当 Q 结束时,进程被移动到队列的尾部,下一个位于队列头部的进程又被允许运行 Q 个时间单位。

ML 调度算法

RR调度平等对待所有的进程。外部优先级可以根据重要性划分成多个组。ML(MultiLevel) 调度在每个优先级维护一个单独的进程队列。在每个级别内,进程使用 RR 进行调度。

例:

  1. ML 在队列中维护 N 个不同优先级的进程。
  2. 选择最高优先级队列 § 头部的进程执行。
  3. 当该级别允许的最长时间到期时,正在运行的进程 § 移动到同一队列的尾部,下一个进程 (q) 开始使用 CPU。
  4. 优先级为 N-2 的新进程 (v) 进入相应队列的尾部。
  5. 优先级高于当前运行进程 (q) 的新进程 (x) 抢占正在运行的进程。只有当更高级别的所有队列都为空时,给定级别的进程才能运行。例如:s 将仅在级别 N 和 N-1 的进程终止后运行。

MLF 调度算法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值