操作系统 --处理机调度算法(三)

目录

一、处理机调度 --图

二、调度算法的指标

 三、调度算法

1、 批处理系统  --图

1.1 先来先服务 first-come first-serverd(FCFS)

1.2 短作业优先 shortest job first(SJF) 非抢占式

1.3 最短剩余时间优先 shortest remaining time next(SRTN)抢占式

1 .4 高响应比优先(HRRN,Highest Response Ratio Next) 非抢占式

2、 交互式系统 --图

2.1 时间片轮转 抢占式

2.2 优先级调度

 2.3 多级反馈队列

3、实时系统


一、处理机调度 --

当多个进程并发,且多于处理机的个数时,需要从就绪队列中按照一定的算法选择一个进程并将处理机分配非它运行

二、调度算法的指标

 三、调度算法

1、 批处理系统  --

批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终止的时间)。

1.1 先来先服务 first-come first-serverd(FCFS)

按照请求的顺序进行调度。有利于长作业,但不利于短作业,因为短作业必须一直等待前面的长作业执行完毕才能执行,而长作业又需要执行很长时间,造成了短作业等待时间过长

1.2 短作业优先 shortest job first(SJF) 非抢占式

按估计运行时间最短的顺序进行调度。长作业有可能会饿死,处于一直等待短作业执行完毕的状态。因为如果一直有短作业到来,那么长作业永远得不到调度。

1.3 最短剩余时间优先 shortest remaining time next(SRTN)抢占式

按估计剩余时间最短的顺序进行调度。

 

1 .4 高响应比优先(HRRN,Highest Response Ratio Next) 非抢占式

  • FCFS算法是在每次调度选择一个等待时间最长的作业(进程)为其服务。但是没有考虑到作业的运行时间,故对短作业不友好
  • SJF算法是选择一个执行时间最短的作业为其服务。没有考虑作业的等待时间,所以对长作业不友好,甚至会造成饥饿问题
  • 高响应比考虑到了等待时间和运行时间,高响应比优先算法在每次调度时先计算各个作业(进程)的响应比最高的为其服务
  • 响应比 = (等待时间 + 要求服务时间 ) /  要求服务时间

2、 交互式系统 --

交互式系统有大量的用户交互操作,在该系统中调度算法的目标是快速地进行响应。

2.1 时间片轮转 抢占式

将所有就绪进程按FSFC的原子排成一个队列,每次调度,把CPU时间片分配给队首进程,当时间片用完,由计时器发出时钟中断,剥夺处理机,将进程重新放入就绪队列队尾排队,同时将CPU分配给队首的进程

时间片轮转的算法时间效率和时间片大小有关:

  • 如果时间片太大,进程都可以在一个时间片内完成,时间片轮转调度算法退化为FSFC,实时性得不到保证
  • 如果时间片太小,会导致进程切换频繁。进程切换都要保存进程的信息并载入新进程的信息

2.2 优先级调度

为每个进程分配一个优先级,按优先级进行调度。为了防止低优先级的进程永远等不到调度,可以随着时间的推移增加等待进程的优先级。(动态优先级)

非抢占式:

抢占式:

 2.3 多级反馈队列

FSFC考虑到等待时间,公平。SJF考虑到运行时间,时间片轮转可以让每个进程都得到及时响应,优先级调度算法可以灵活处理紧急任务。而多级反馈队列就对上面进行折中权衡

3、实时系统

实时系统要求一个请求在一个确定时间内得到响应。分为硬实时和软实时,前者必须满足绝对的截止时间,后者可以容忍一定的超时。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值