操作系统(三)进程调度算法

进程调度

  • 高级调度(作业调度):按一定的原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。==每个作业只调入一次,调出一次。==作业调入时会建立PCB,调出时会撤销PCB。

  • 中级调度(内存调度):按照某种策略决定将哪个处于挂起状态的进程重新调入内存。

  • 低级调度(进程调度/处理机调度):按照某种策略从就绪队列中选取一个进程,将处理机分配给它。

image-20230115130321087

进程调度与切换在以下情况是不能发生的

  • 在处理中断的过程中 处理中断与硬件相关,比较复杂
  • 在操作系统内核程序临界区中 进程访问内核程序临界区时会上锁,如果此时发生切换其他进程无法访问,影响比较大
  • 在原子操作过程中 原语不可中断

1、调度算法的评价指标

  • cpu利用率

image-20230115131612797

  • 系统吞吐量

image-20230115131646837

  • 周转时间

image-20230115131758162

  • 带权周转时间

image-20230115131923951

  • 等待时间

image-20230115132231411

  • 响应时间

image-20230115132312317

2、FCFS(先来先服务)

image-20230115132835179

image-20230115133024226

3、SJF(短作业优先)

非抢占式:

image-20230115133242548

抢占式:

image-20230115133439122

image-20230115133626365

4、HRRN(高响应比优先)

image-20230115133809456

image-20230115133847873

5、时间片轮转(RR)

  • 同一时刻,如果有进程到达,也有进程时间片用完,默认新到达的进程排在等待队列的前面!

image-20230115134156477

image-20230115134705766

  • 时间片太大,每个进程都能在一个时间片内运行完,则该算法就退化为了先来先服务算法
  • 时间片太小,进程切换也是需要时间的,会造成系统开销增大,从而导致实际用于进程执行的时间减少

6、优先级

  • 优先级调度发生在有新进程到达或进程运行结束时
  • 注意是优先数越高优先级越高还是优先数越低优先级越高

image-20230115143325278

image-20230115143624742

7、多级反馈队列

  • 如果在k级队列运行时,上一级队列有进程到达,则会把该进程重新放在k级队列队尾

image-20230115143854108

image-20230115144234840

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值