您的位置:首页 > 其它

操作系统时间片轮转调度算法

2020-02-03 04:13 211 查看

时间片轮转调度算法详细判断流程:

例题:

进程 到达时间 服务时间
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4

时间片为1

先放出来最终的结果

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
    P1 P4 P2 P1 P4  
        P2        
                       

 

因为时间片为1,所以我们每隔1就要中断一下

 

0时刻,P1到达,此时队列中的数据如下(箭头向上代表流动方向,上面的代表出队列,下面的代表入队列)

P1

 

1时间片过后没有陆续到达的,队列中仍然是P1

队列如下

P1

 

总状态(除最后一列外的左边列代表已执行过的队列,最后一列代表当前队列)

P1 P1

 

2时刻P2到达,P2入队列,P1出队列循环到队尾,此时队列如下

P2
P1

 

总状态

P1 P1 P2
P1
   

 

继续循环出队列然后进队列,P2到队尾,此时状态

P1
P2

 

总状态

P1 P1 P2 P1
P1 P2
   

继续循环,P3到达,P1到队尾,此时状态

P2
P3
P1

 

总状态

P1 P1 P2 P1 P2
P1 P2 P3
    P1
       

继续循环,P4到达,P2到队尾,此时的状态

P3
P1
P4
P2

总状态

P1 P1 P2 P1 P2 P3
P1 P2 P3 P1
    P1 P4
        P2
         

 

继续循环,P3完成,此时状态

P1
P4
P2

总状态

P1 P1 P2 P1 P2 P3 P1
P1 P2 P3 P1 P4
    P1 P4 P2
        P2
           

继续循环,P1到队尾,此时状态

P4
P2
P1

总状态

P1 P1 P2 P1 P2 P3 P1 P4
P1 P2 P3 P1 P4 P2
    P1 P4 P2 P1
        P2
             

继续循环,P4到队尾,此时状态

P2
P1
P4

总状态

P1 P1 P2 P1 P2 P3 P1 P4 P2
P1 P2 P3 P1 P4 P2 P1
    P1 P4 P2 P1 P4
        P2
               

继续循环,P2完成,此时状态

P1
P4

总状态

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1
P1 P2 P3 P1 P4 P2 P1 P4
    P1 P4 P2 P1 P4
        P2  
                 

继续循环,P1到队尾,此时状态

P4
P1

总状态

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4
P1 P2 P3 P1 P4 P2 P1 P4 P1
    P1 P4 P2 P1 P4
        P2    
                   

继续循环,P4到队尾,此时状态

P1
P4

总状态

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P1
P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
    P1 P4 P2 P1 P4
        P2      
                     

继续循环,P1完成,此时状态

P4

总状态

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
    P1 P4 P2 P1 P4  
        P2        
                       

P4结束,全部完成

最终结束完毕,状态如下:

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
P1 P2 P3 P1 P4 P2 P1 P4 P1 P4
    P1 P4 P2 P1 P4  
        P2        
                       

所以调度结果为:

P1 P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P1 P4

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Gu_fcsdn 发布了4 篇原创文章 · 获赞 2 · 访问量 216 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: