第三章 处理机调度与常见算法

本文深入探讨了进程调度的基本概念,包括非抢占与抢占调度模式,以及面向用户与系统的调度算法选择。详细解析了FCFS、SJF/SPF、HPF、HRRN和RR等常见调度算法的特点与适用场景,特别强调了它们对作业平均等待时间和系统吞吐量的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

* 系统运行并不一定存在高级调度  批处理需要 分时实时不需要

 

进程调度:

1)非抢占方式(Non-preemptive Mode)         

一旦处理机分配给某进程,该进程一直执行。决不允许其他进程抢占已分配运行进程的处理机。

2)抢占方式(Preemptive Mode)         

允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机重新分配给另一进程。

 

 

 

挑选调度算法:

1、面向用户

2、面向系统

 

 

 

周转时间=等待时间+运行时间

带权周转时间=周转时间 / 运行时间

平均则除以作业数

 

 

 

常用调度算法

 

1、FCFS 先来先服务: 默认非抢占

有利于CPU繁忙型的作业,而不利于I/O繁忙的作业(进程)。

不利于短作业

2、SJF/SPF 短作业优先

平均周转时间、平均带权周转时间都有明显改善。

SJF/SPF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量。

不足:

1. 对短作业有利,但同时造成了对长作业的不利。    

2.由于作业(进程)的长短含主观因素,不一定能真正做到短作业优先。    

3.未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理。

3、HPF 高优先权先调度

非抢占式优先权算法 抢占式优先权算法

静态、动态优先权

4、HRRN 高响应比优先

HRRN为每个作业引入动态优先权,使作业的优先级随着等待时间的增加而以速率a提高

优先权 =(等待时间+要求服务时间) / 要求服务时间

 

抢占的时间:1、新作业来临 2、作业阻塞 3、作业完成;

5、RR 基于时间片的轮转调度算法

将系统中所有的就绪进程按照FCFS原则,排成一个队列。

每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。

在一个时间片结束时,发生时钟中断。 调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程。

 

 

 

 

硬实时任务:必须满足任务对截止时间的要求

软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的影响。 实时系统的任务往往带有某种程度的紧迫性,因而实时系统的调度有某些特殊要求。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值