如何实现循环算法?
how to implement round robin algorithm?
我在 youtube 上看了很多关于 RR 调度的教程,我在考试中遇到了这个问题,但我不知道我做错了什么,教授的解决方案与我的解决方案不同,我现在很困惑。
Job | Arrival | Burst
P1 | 0 | 4
P2 | 2 | 5
P3 | 3 | 3
P4 | 8 | 4
QT = 1
她的回答是:P1,P1,P2,P3,P1,P2,P3,P1,P4,P2,P3,P4,P2,P4,P2,P4
我的回答是:P1,P1,P2,P1,P3,P2,P1,P3,P2,P4,P3,P2,P4,P2,P4,P4
那么哪一个是正确答案,如果是她,那为什么?
她的回答是正确的。
您可以这样解决问题:
- 打开一个新的笔记本页面
- 每行编号 0-15(总共 16 行;SUM(Burst)列)
- 首先将作业写在它到达的那一行(P1 on line
编号为 0,P2 在第 2 行,P3 在第 3 行,P4 在第 3 行
编号 8)
- 现在您知道每个作业只能出现在该行之后。
- 接下来,开始按顺序填写剩余的行
其中行没有定义作业,并且作业出现的次数少于为该作业定义的突发数。
希望对您有所帮助!
两个都是正确的!!!
我会说你的解决方案看起来是正确的(但你没有考虑优先级调度队列)。但这取决于您的教授如何接近。以下是方法:
你的方法:
您正在进行正常的队列操作。只有 enque() 和 deque()。所以使用这两个,你的做法是正确的!!!
您教授的方法:
每当有新进程到来时,他都会将其放在队列的顶部。他正在考虑一个优先级队列,而不是每个新进程都有最高优先级。
如果你和你的教授讨论就更好了。我会说你没有错!!!
最高优先级进入新到达,第二优先级通过等待队列中的 FIFO 考虑。
Queue
front P1 P2 P3 P4
-----------------------------------
0 P1 | [3]
1 P1 | [2] >>
2 P2 | 2 [4] >> <- P2 arrives
3 P3 | 2 4 [2] <- P3 arrives
4 P1 | [1] >> 4 2
5 P2 | 1 [3] >> 2
6 P3 | 1 3 [1]
7 P1 | [0] >> 3 1
8 P4 | 3 1 [3] <- P4 arrives. FIFO disrupted.
9 P2 | [2] >> 1 3 <- FIFO regained.
10 P3 | 2 [0] >> 3
11 P4 | 2 [2]
12 P2 | [1] >> 2
13 P4 | 1 [1]
14 P2 | [0] >> 1
15 P4 | [0]
你的老师有不同的方法。每当一个新进程到达系统时,它的优先级高于完成突发的进程。
我在 youtube 上看了很多关于 RR 调度的教程,我在考试中遇到了这个问题,但我不知道我做错了什么,教授的解决方案与我的解决方案不同,我现在很困惑。
Job | Arrival | Burst
P1 | 0 | 4
P2 | 2 | 5
P3 | 3 | 3
P4 | 8 | 4
QT = 1
她的回答是:P1,P1,P2,P3,P1,P2,P3,P1,P4,P2,P3,P4,P2,P4,P2,P4
我的回答是:P1,P1,P2,P1,P3,P2,P1,P3,P2,P4,P3,P2,P4,P2,P4,P4
那么哪一个是正确答案,如果是她,那为什么?
她的回答是正确的。
您可以这样解决问题:
- 打开一个新的笔记本页面
- 每行编号 0-15(总共 16 行;SUM(Burst)列)
- 首先将作业写在它到达的那一行(P1 on line 编号为 0,P2 在第 2 行,P3 在第 3 行,P4 在第 3 行 编号 8)
- 现在您知道每个作业只能出现在该行之后。
- 接下来,开始按顺序填写剩余的行 其中行没有定义作业,并且作业出现的次数少于为该作业定义的突发数。
希望对您有所帮助!
两个都是正确的!!!
我会说你的解决方案看起来是正确的(但你没有考虑优先级调度队列)。但这取决于您的教授如何接近。以下是方法:
你的方法:
您正在进行正常的队列操作。只有 enque() 和 deque()。所以使用这两个,你的做法是正确的!!!
您教授的方法:
每当有新进程到来时,他都会将其放在队列的顶部。他正在考虑一个优先级队列,而不是每个新进程都有最高优先级。
如果你和你的教授讨论就更好了。我会说你没有错!!!
最高优先级进入新到达,第二优先级通过等待队列中的 FIFO 考虑。
Queue
front P1 P2 P3 P4
-----------------------------------
0 P1 | [3]
1 P1 | [2] >>
2 P2 | 2 [4] >> <- P2 arrives
3 P3 | 2 4 [2] <- P3 arrives
4 P1 | [1] >> 4 2
5 P2 | 1 [3] >> 2
6 P3 | 1 3 [1]
7 P1 | [0] >> 3 1
8 P4 | 3 1 [3] <- P4 arrives. FIFO disrupted.
9 P2 | [2] >> 1 3 <- FIFO regained.
10 P3 | 2 [0] >> 3
11 P4 | 2 [2]
12 P2 | [1] >> 2
13 P4 | 1 [1]
14 P2 | [0] >> 1
15 P4 | [0]
你的老师有不同的方法。每当一个新进程到达系统时,它的优先级高于完成突发的进程。