操作系统理论:处理机调度算法

本文详细介绍了操作系统中的处理机调度算法,包括先来先服务(FCFS)、短作业优先(SF)、高响应比优先(HRN)、最高优先权、时间片轮转、多队列调度和多级反馈队列等。这些算法各有优缺点,适用于不同的场景。文章还探讨了实时任务调度的重要性,并引入了松弛度的概念来衡量任务的紧迫程度。
摘要由CSDN通过智能技术生成

前言

在简单的单核计算机中,往往 仅执行一个任务,比如最常见的单片机控制器,或是其他的简单控制设备,仪器。


比如楼下门卫的刷卡器,就只执行一段代码:即将刷卡器捕获的磁卡 ID 通过串口传送给上位机,而不是同时在进行数字货币的开采,或者音视频的播放(你也没见过哪个门卫大爷拿刷卡器挖矿,听戏,对吧?

而在复杂的计算机设备中,为了满足用户的需求,往往是有多个执行流在并行的运行,换句话说,有 多个程序 在跑!

但是我们只有一个 CPU,根据体系结构常识,一个 CPU 能且仅能同时跑一段程序,怎么办呢?我又想起我上大学物理的时候,老师说过的一句话:“仪器不够你们轮着用啊!”

是的,轮流使用 CPU 即可满足多个程序 “同时” 执行,那么问题就来了:怎么轮流?这么多程序谁先谁后使用 CPU,使用多长时间?这些问题都是处理机调度算法所研究,并且致力于实现的目标。

调度评估标准

如果一堂实验课,老师安排大伙轮流使用仪器,而你们班一半的同学都用不到仪器,反观隔壁班大伙都用上了仪器并且完成了实验,你肯定会说 ”🐖 比吧这是“

一个调度是不是好调度,需要有一定的标准来对其进行评估。周转时间 是一个最直观的评价方式,周转时间有如下的定义:

T i = 完 成 时 刻 − 进 入 时 刻 T_i = 完成时刻 - 进入时刻 Ti=

即从发起调度请求,到完成调度所用的时间,换句话说:从你到实验室做实验开始,直到你离开实验室为止,这一段时间叫做周转时间。

值得注意的是,周转时间可能包含了你等待实验仪器的时间,毕竟他是从你进入实验室就开始算的。


但是有时候一个 5 分钟就能搞定的测量实验,你下午两点去,下午四点才做完,你有 115 分钟的时间在等待,不用我说你也知道这是一个坏调度!

所以实操时间与总时间的比值也是衡量调度好坏的标准,于是引入 带权周转时间,它的定义如下:

W i = 周 转 时 间 实 际 运 行 时 间 {} \\ W_i = \frac{周转时间}{实际运行时间} \\ {} \\ Wi=

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值