2.2.3操作系统(时间片轮转 优先级调度算法 多级反馈队列)

目录

调度算法

1.时间片轮转( RR, Round-Robin )

2.优先级调度算法

1. 非抢占式优先级调度算法

2. 抢占式优先级调度算法

3.思考

4.多级反馈队列


 个人主页:个人主页
 系列专栏:​​​​​​​操作系统

调度算法
 

1.时间片轮转( RR, Round-Robin )

例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用时间片轮转调度算法,分析时间片大小分别是2、5时的进程运行情况。

常用于分时操作系统,更注重“响应时间”,因而此处不计算周转时间

1. 时间片大小为2

在这里插入图片描述

 在这里插入图片描述

 2. 时间片大小为5

在这里插入图片描述

如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大

另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量的时间来处理进程切换,从而导致实际用于进程执行的时间比例减少。可见时间片也不能太少

在这里插入图片描述

2.优先级调度算法

1. 非抢占式优先级调度算法

例题:各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。使用非抢占式优先级调度算法,分析进程运行情况。(注:优先数越大,优先级越高)

在这里插入图片描述

2. 抢占式优先级调度算法

例题:各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。使用抢占式优先级调度算法,分析进程运行情况。(注:优先数越大,优先级越高)

在这里插入图片描述

  • 就绪队列未必只有一个,可以按照不同优先级来组织。另外,也可以把优先级高的进程排在更靠近队头的位置。
  • 根据优先级是否可以动态改变,可将优先级分为静态优先级动态优先级两种。
    ①、 静态优先级 :创建进程时确定,之后一直不变。
    ②、 动态优先级 :创建进程时有一个初始值,之后会根据情况动态地调整优先级。
  • I/O设备和CPU可以并行工作。如果优先让I/O繁忙型进程优先运行的话,则越有可能让I/O设备尽早地投入工作,则资源利用率、系统吞吐量都会得到提升

在这里插入图片描述

 在这里插入图片描述

3.思考

  • FCFS算法的优点是公平。
  • SJF 算法的优点是能尽快处理完短作业,平均等待/周转时间等参数很优秀。
  • 时间片轮转调度算法可以让各个进程得到及时的响应。
  • 优先级调度算法可以灵活地调整各种进程被服务的机会。
  • 能否对其他算法做个折中权衡?得到一个综合表现优秀平衡的算法呢?
  • 【多级反馈队列调度算法】

4.多级反馈队列

例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用多级反馈队列调度算法,分析进程运行的过程

在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

注:比起早期的批处理操作系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统。(比如UNIX使用的就是多级反馈队列调度算法)
 

  • 62
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

热爱编程的小白白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值