在以下示例中, 给出了5个线程。表中给出了它们的到达时间和爆发时间。
进程ID | Arrival Time | Burst Time |
---|---|---|
0 | 0 | 3 |
1 | 2 | 5 |
2 | 4 | 4 |
3 | 6 | 1 |
4 | 8 | 2 |
文章图片
【HRNN示例图解】P0的执行时间为3个单位, 同时, 只有一个进程P1在时间3到达。由于操作系统没有选择权, 因此将立即安排该进程。
文章图片
P1执行5个单位。同时, 所有线程都可用。我们必须计算所有剩余工作的响应率。
RR (P2) = ((8-4) +4)/4 = 2RR (P3) = (2+1)/1 = 3RR (P4) = (0+2)/2 = 1
由于P3的响应率较高, 因此将首先安排P3。
文章图片
P3预定为1个单位。下一个可用的线程是P2和P4。让我们计算它们的响应率。
RR ( P2) = (5+4)/4 = 2.25RR (P4) = (1+2)/2 = 1.5
P2的响应率较高, 因此将安排P2。
文章图片
现在, 唯一可用的进程是突发时间为2个单位的P4, 因为没有其他进程可用, 因此将对此进行调度。
文章图片
Process ID | 到达时间 | 爆发时间 | Completion Time | 周转时间 | 等待的时间 |
---|---|---|---|---|---|
0 | 0 | 3 | 3 | 3 | 0 |
1 | 2 | 5 | 8 | 6 | 1 |
2 | 4 | 4 | 13 | 9 | 5 |
3 | 6 | 1 | 9 | 3 | 2 |
4 | 8 | 2 | 15 | 7 | 5 |
推荐阅读
- 内存中的数据结构
- 最高响应比优先(HRRN)调度
- 系统固定分区
- 如何从网站免费下载嵌入式视频(有哪些方法?分步教程介绍)
- Android各版本的SDK Platforms和API Level
- Invalid bound statement (not found): com.taotao.mapper.TbItemMapper.selectByExample( 错误)
- QApplication(No such file or directory 错误解决)
- APP弱网测试
- 通用 mapper