操作系统之FCFS - 先来先服务算法

操作系统之FCFS - 先来先服务算法

一、简述

先来先服务调度算法是最简单的调度方法。

基本原则:按照进程进入就绪队列的先后次序进行选择。对于进程调度来说,一旦一个进程得到处理机,它就一直运行下去,直到该进程完成任务或者因等待某事件而不能继续运行,才会让出处理机。先来先服务调度算法属于非剥夺方式

先来先服务的原则:

  1. 先到达的进程优先执行
  2. 一旦进程抢占到cpu的执行权,则需要待进程的任务全部执行完才会是否cpu的执行权给其它进程

二、例题

​ 有4个进程p1、p2、p3、p4依次在8:00、8:50、9:00、9:50进入,它们的运行时间如下,求各个作业的开始时间、完成时间、周转时间、带权周转时间和总的平均周转时间、平均带权周转时间。

进程提交时刻运行时间
p18:00120
p28:5050
p39:0010
p49:5020

答:

进程提交时刻运行时间开始时刻完成时刻周转时间带权周转时间
p18:00120(1)(2)(9)(13)
p28:5050(3)(4)(10)(14)
p39:0010(5)(6)(11)(15)
p49:5020(7)(8)(12)(16)

先来先服务的原则:

  1. 先到达的进程优先执行
  2. 一旦进程抢占到cpu的执行权,则需要待进程的任务全部执行完才会是否cpu的执行权给其它进程

答:

  • 第(1)、(2)空填写:
    1. 8:00时刻只有p1进程到达了,所以p1先执行,p1的开始时刻是8:00,所以(1)填写8:00
    2. 由上述原则,p1会一直执行完才会释放,即p1执行120,到10:00,p1执行完成,所以p1的完成时刻是10:00,所以(2)填写10:00
  • 第(3)、(8)空填写:
    1. 由上p1的完成时刻是10:00,在10:00的时候,p2、p3、p4都已经进入了,所以按照进入的次序依次执行,按进入由早到晚依次是:p2(8:50)、p3(9:00)、p4(9:50)
    2. 所以p2的开始时刻是10:00,第(3)空填写10:00,p2执行50,所以p2的完成时刻是10:50,第(4)空填下10:50
    3. 所以p3的开始时刻是10:50,第(5)空填写10:50,p3执行10,所以p3的完成时刻是11:00,第(6)空填下11:00
    4. 所以p4的开始时刻是11:00,第(7)空填写11:00,p4执行20,所以p4的完成时刻是11:20,第(8)空填下11:20
  • 第(9)-(16)空填写:
    • 周转时间 = 完成时间 - 到达时间(进入时间)
    • 带权周转时间 = 周转时间 / 运行时间
    • (9)- (12)空填写:120、120、120、90
    • (13)- (16)空填写:1、2.4、12、4.5
  • 平均周转时间 = (120+120+120+90)div 4 = 112.5
  • 平均带权周转时间 = (1+2.4+12+4.5)div 4 = 4.975

对应表格为:

进程提交时刻运行时间开始时刻完成时刻周转时间带权周转时间
p18:001208:0010:001201
p28:505010:0010:501202.4
p39:001010:5011:0012012
p49:502011:0011:20904.5

平均周转时间 = 112.5

平均带权周转时间 = 4.975

三、公式

  1. 完成时刻 = 开始时刻 + 运行时间
  2. 周转时间 = 完成时间 - 到达时间(进入时间 / 提交时刻)
  3. 带权周转时间 = 周转时间 / 运行时间
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redvelet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值