低级调度.ppt
合集下载
操作系统课件第4章 调度
• 对于长作业,当其等待时间足够长时,其优先权便可升到 很高,从而也可获得处理机
• 调度之前都需先进行响应比的计算,增加了系统的开销。
4.2 调度算法 —— 高响应比优先调度算法
例:设有一组作业, 它们的提交及所需运行 时间如下所示:
试问在 单道环境下,采用高响应比优先调度算法,作业的 执行顺序是什么?
目的:提高内存的利用率和系统的吞吐量
任务:是将内存中处于阻塞状态的某些进程换至外存, 腾出内存空间以便将外存上已具备执行条件的进 程换入内存。
4.1 调度的类型和模型
3、调度队列模型
(1)仅有进程调度的调度队列模型 (2)具有高级和低级调度的调度队列模型
(3)同时具有三级调度的调度队列模型
4.4 多处理机调度
•动态分配:为防止系统中多个处理机忙闲不均,在系统中设置 一个公共就绪队列,系统中的所有就绪进程都放在该队列中。分 配处理机时,对一进程而言,可分配到任意一台处理机上。 •特点:系统中所有的就绪进程都放在一个公共的就绪队列中。 •优点:消除了处理机忙闲不均的现象 •自调度:在系统中设置一个就绪队列,系统中的所有进程都挂 在该队列上。自调度方式是由每一个处理机自己去查看公共就绪 队列,从中选择一个进程令其执行。
从就绪队列中选出一个 估计运行时间最短的进程, 将处理机分配给它以便运 行进程。
特点
• 能有效地降低作业的平均等待时间 • 能提高系统的吞吐量 • 对长作业非常不利 • 未考虑作业的紧迫程度 • 不一定能真正做到短作业优先调度
4.2 调度算法 —— 时间片轮转调度算法
就绪队列中的所有进程在一给定时间内,均可 获得一个时间片的处理机执行时间。
原理
就绪队列按进入的先后次序排列,调度时,选 队首进程投入运行。
• 调度之前都需先进行响应比的计算,增加了系统的开销。
4.2 调度算法 —— 高响应比优先调度算法
例:设有一组作业, 它们的提交及所需运行 时间如下所示:
试问在 单道环境下,采用高响应比优先调度算法,作业的 执行顺序是什么?
目的:提高内存的利用率和系统的吞吐量
任务:是将内存中处于阻塞状态的某些进程换至外存, 腾出内存空间以便将外存上已具备执行条件的进 程换入内存。
4.1 调度的类型和模型
3、调度队列模型
(1)仅有进程调度的调度队列模型 (2)具有高级和低级调度的调度队列模型
(3)同时具有三级调度的调度队列模型
4.4 多处理机调度
•动态分配:为防止系统中多个处理机忙闲不均,在系统中设置 一个公共就绪队列,系统中的所有就绪进程都放在该队列中。分 配处理机时,对一进程而言,可分配到任意一台处理机上。 •特点:系统中所有的就绪进程都放在一个公共的就绪队列中。 •优点:消除了处理机忙闲不均的现象 •自调度:在系统中设置一个就绪队列,系统中的所有进程都挂 在该队列上。自调度方式是由每一个处理机自己去查看公共就绪 队列,从中选择一个进程令其执行。
从就绪队列中选出一个 估计运行时间最短的进程, 将处理机分配给它以便运 行进程。
特点
• 能有效地降低作业的平均等待时间 • 能提高系统的吞吐量 • 对长作业非常不利 • 未考虑作业的紧迫程度 • 不一定能真正做到短作业优先调度
4.2 调度算法 —— 时间片轮转调度算法
就绪队列中的所有进程在一给定时间内,均可 获得一个时间片的处理机执行时间。
原理
就绪队列按进入的先后次序排列,调度时,选 队首进程投入运行。
操作系统课件第三章
处理机调度与死锁
例
进程名 到达时 服务时 开始执 完成时 周转时 带权周
间
间
行时间 间
间
转时间
A
0
1
0
1
1
1
B
1
100 1
101 100 1
C
2
1
101 102 100 100
C
3
100 102 202 199 1.99
处理机调度与死锁
FCFS SJF
图3.4FCFS和SJF比较
进程名 到达时间 服务时间 完成时间 周转时间 带权周转时间 完成时间 周转时间 带权周转时间
1、先来先服务调度算法 2、时间片轮转调度算法(时间片为1ms) 3、非剥夺式SJF调度算法 4、剥夺式优先级调度算法
处理机调度与死锁
表1
进程
创建时间
运Hale Waihona Puke 时间(ms)优先级P1
0
3
3
P2
2
6
5
P3
4
4
1
P4
6
5
2
P5
8
2
4
解: (1) FCFS调度算法,进程的运行过程如图所示:
处理机调度与死锁
(2) 时间片轮转调度算法,进程的运行情况如图所示:
❖3.截止时间的保证(特别于实时系统) ❖4.优先权准则:(即需要抢占调度)
处理机调度与死锁
3.1.3选择调度方式和算法的若干准则
❖ 二、面向系统的准则
❖1.吞吐量高(特别于批处理):单位时间完成作 业数
❖2.处理机利用率好:(因CPU贵,特别于大中型 多用户系统)
❖3.各类资源的平衡利用。(?折算标准)
例
进程名 到达时 服务时 开始执 完成时 周转时 带权周
间
间
行时间 间
间
转时间
A
0
1
0
1
1
1
B
1
100 1
101 100 1
C
2
1
101 102 100 100
C
3
100 102 202 199 1.99
处理机调度与死锁
FCFS SJF
图3.4FCFS和SJF比较
进程名 到达时间 服务时间 完成时间 周转时间 带权周转时间 完成时间 周转时间 带权周转时间
1、先来先服务调度算法 2、时间片轮转调度算法(时间片为1ms) 3、非剥夺式SJF调度算法 4、剥夺式优先级调度算法
处理机调度与死锁
表1
进程
创建时间
运Hale Waihona Puke 时间(ms)优先级P1
0
3
3
P2
2
6
5
P3
4
4
1
P4
6
5
2
P5
8
2
4
解: (1) FCFS调度算法,进程的运行过程如图所示:
处理机调度与死锁
(2) 时间片轮转调度算法,进程的运行情况如图所示:
❖3.截止时间的保证(特别于实时系统) ❖4.优先权准则:(即需要抢占调度)
处理机调度与死锁
3.1.3选择调度方式和算法的若干准则
❖ 二、面向系统的准则
❖1.吞吐量高(特别于批处理):单位时间完成作 业数
❖2.处理机利用率好:(因CPU贵,特别于大中型 多用户系统)
❖3.各类资源的平衡利用。(?折算标准)
多处理机调度短程调度PPT课件
在CPU执行是可剥夺的方式下,还有: 就绪队列中的某进程的优先级变得高于当前执行进程的优先 级,也引发进程调度。
7.3 调度算法(1)- 先来先服务FCFS
先来先服务FCFS (First-Come-First-Served)
当每个进程就绪后,它加入就绪队列。当正在运行的 进程停止执行时,选择在就绪队列中存在时间最长的 进程运行(要事先知道每个进程的结束时间).
7.2 进程调度-执行时机
与引起进程调度的原因及进程调度的方式有关: 创建进程。决定运行父进程还是子进程; 进程终止。正在执行的进程执行完毕; 执行中进程自己调用阻塞原语将自己阻塞进入阻塞状态; 执行中进程调用了P原语操作或V操作原语; 执行中进程提出I/O请求后被阻塞; 在分时系统中时间片已经用完; 在执行完系统调用等系统程序后返回用户进程时,这时可看 作系统进程执行完毕,从而可调度选择一新的用户进程执行
因为处理时钟中断、执行调度和分派函数都需要处理器开销
策略:时间段最好略大于一次典型的交互所需要的 时间,否则使响应时间延长(使用两个时间片)。 评价:
在分时系统或事务处理器系统中特别有效 缺点:偏向于CPU型的进程。
7.3调度算法(7)-最高响应比调度算法(HRRN)
原理:
当前进程完成或被阻塞时,选择响应比最大的就绪进程运行。
7. 3调度算法(3)-最短剩余时间调度SRT(
shortest remaining Timer,SRT)
原理:
对SJF增加了剥夺机制 选择预期剩余时间最短的进程,当一个新进程 加入就绪队列时,它可能比当前运行的进程具 有更短的剩余时间,只要新进程就绪,调度程 序就进行剥夺。
优点:
既不偏爱长进程,也不像RR算法那样会产生 额外的中断,从而减少了开销。 周转时间方面,SRT比SJF性能要好,短作业 可以立即被选择执行。
7.3 调度算法(1)- 先来先服务FCFS
先来先服务FCFS (First-Come-First-Served)
当每个进程就绪后,它加入就绪队列。当正在运行的 进程停止执行时,选择在就绪队列中存在时间最长的 进程运行(要事先知道每个进程的结束时间).
7.2 进程调度-执行时机
与引起进程调度的原因及进程调度的方式有关: 创建进程。决定运行父进程还是子进程; 进程终止。正在执行的进程执行完毕; 执行中进程自己调用阻塞原语将自己阻塞进入阻塞状态; 执行中进程调用了P原语操作或V操作原语; 执行中进程提出I/O请求后被阻塞; 在分时系统中时间片已经用完; 在执行完系统调用等系统程序后返回用户进程时,这时可看 作系统进程执行完毕,从而可调度选择一新的用户进程执行
因为处理时钟中断、执行调度和分派函数都需要处理器开销
策略:时间段最好略大于一次典型的交互所需要的 时间,否则使响应时间延长(使用两个时间片)。 评价:
在分时系统或事务处理器系统中特别有效 缺点:偏向于CPU型的进程。
7.3调度算法(7)-最高响应比调度算法(HRRN)
原理:
当前进程完成或被阻塞时,选择响应比最大的就绪进程运行。
7. 3调度算法(3)-最短剩余时间调度SRT(
shortest remaining Timer,SRT)
原理:
对SJF增加了剥夺机制 选择预期剩余时间最短的进程,当一个新进程 加入就绪队列时,它可能比当前运行的进程具 有更短的剩余时间,只要新进程就绪,调度程 序就进行剥夺。
优点:
既不偏爱长进程,也不像RR算法那样会产生 额外的中断,从而减少了开销。 周转时间方面,SRT比SJF性能要好,短作业 可以立即被选择执行。
操作系统之处理机调度课件
操作系统之处理机调度
轮转法调度只适合于可抢占式资源
时间片长的选取: 太长:? 太短:? g = R / Nmax
R ---系统对响应时间的要求 Nmax---就绪队列允许最大进程数 响应时间和服务时间成正比,在响应时间 上优于FCFS,对长作业不利
操作系统之处理机调度
• 多级反馈队列调度算法
1)系统中有多个进程就绪队列,每个就绪队列对应一个 调度级别,各级具有不同运行优先级,第一级最高。 2)各级队列有不同的时间片,优先级越高时间片越小。 3)各级队列均按先来先服务原则排序 4)调度方法:新进程进入后,被放入1级队列末尾;队列 中按先来先服务分配处理机;时间片用完还未完成,进入 下一级队列末尾;如果因输入输出或等待时间主动放弃处 理机的进程,离开就绪队列,待事件发生后返回同级队列 队尾。 5)当1级队列空后调度程序才去调度2级队列中的进程,3 级、4级。。。依次类推。 6)当比运行进程更高级别队列中到来一个新的进程时, 它将抢占处理机,被抢占进程回到原队列尾
操作系统之处理机调度
20
3
50
150
4
200
1300
5
500
20
6
700
100
操作系统之处理机调度
• 先来先服务
从就绪队列队首选择进程,新进程排在队尾 短作业在系统中的驻留平均时间与长作业 驻留平均时间相同,对短作业不利。
• 轮转法
将CPU的处理时间分成固定大小的时间片。 如果一个进程在被调度选中后用完了系统 规定的时间片,但未完成要求的任务,则 它自行释放自己所占有的CPU而排列在就绪 队列队尾。
1)静态表格驱动 对可能的调度条件和参数进行静态分析 结果作为实际调度结果
2)静态优先级驱动抢先式调度算法 先进行静态分析,但结果只作为任务的优先级
轮转法调度只适合于可抢占式资源
时间片长的选取: 太长:? 太短:? g = R / Nmax
R ---系统对响应时间的要求 Nmax---就绪队列允许最大进程数 响应时间和服务时间成正比,在响应时间 上优于FCFS,对长作业不利
操作系统之处理机调度
• 多级反馈队列调度算法
1)系统中有多个进程就绪队列,每个就绪队列对应一个 调度级别,各级具有不同运行优先级,第一级最高。 2)各级队列有不同的时间片,优先级越高时间片越小。 3)各级队列均按先来先服务原则排序 4)调度方法:新进程进入后,被放入1级队列末尾;队列 中按先来先服务分配处理机;时间片用完还未完成,进入 下一级队列末尾;如果因输入输出或等待时间主动放弃处 理机的进程,离开就绪队列,待事件发生后返回同级队列 队尾。 5)当1级队列空后调度程序才去调度2级队列中的进程,3 级、4级。。。依次类推。 6)当比运行进程更高级别队列中到来一个新的进程时, 它将抢占处理机,被抢占进程回到原队列尾
操作系统之处理机调度
20
3
50
150
4
200
1300
5
500
20
6
700
100
操作系统之处理机调度
• 先来先服务
从就绪队列队首选择进程,新进程排在队尾 短作业在系统中的驻留平均时间与长作业 驻留平均时间相同,对短作业不利。
• 轮转法
将CPU的处理时间分成固定大小的时间片。 如果一个进程在被调度选中后用完了系统 规定的时间片,但未完成要求的任务,则 它自行释放自己所占有的CPU而排列在就绪 队列队尾。
1)静态表格驱动 对可能的调度条件和参数进行静态分析 结果作为实际调度结果
2)静态优先级驱动抢先式调度算法 先进行静态分析,但结果只作为任务的优先级
第四章--调度PPT课件
时间片是一个小的时间单位,通常为10~100 ms数 量级。
系统在给定的时间内能响应所有用户的请求。
例子
四个进程A,B,C,D依次进入就绪队列(同时到达),4个 进程分别需要12、5、3和6个时间单位,图4-9是时间 片q=1和q=4时运行情况
图4-9 轮转法q=1和q=4时进程运行情况
表4-5 RR调度算法的性能指标
42
4.5.6 多级队列法(Solaris 2)
多级队列(Multilevel Queue)调度算法把就绪队列划 分成几个单独的队列,根据进程的某些特性,如占用内存 大小、进程优先级和进程类型,永久性地把各个进程分别 链入不同的队列中,每个队列都有自己的调度算法。
图4-11 多级队列调度
4.5.7 多级反馈队列法 MFQ
第4章 调 度
1
操作系统中离不开调度。所谓调度,就是选出 待分派的作业或进程。
多道系统中,处理机调度决定了吞吐量、周转 时间、响应时间等运行性能。处理机调度是操 作系统设计的中心问题之一。
处理机调度分为作业调度(高级调度)、进程 挂起与对换(中级调度)和进程调度(低级调 度)三级。
2
主要内容
15
4.3 进程调度
进程调度也叫低级调度 进程调度程序也叫低级调度程序,它完
成进程从就绪状态到运行状态的转换。 将一台物理CPU虚拟成多台CPU
16
4.3.1 进程调度的功能
(1)保存现场
进程放弃CPU时,进程调度程序需将现场信 息保存到PCB中
(2)挑选进程 (3)恢复现场
为选中的进程恢复现场信息,把CPU控制权 交给该进程。
例如,考虑表4-2给出的 一组作业(它们同时提交 到系统)。
表4-2 一组作业列表
系统在给定的时间内能响应所有用户的请求。
例子
四个进程A,B,C,D依次进入就绪队列(同时到达),4个 进程分别需要12、5、3和6个时间单位,图4-9是时间 片q=1和q=4时运行情况
图4-9 轮转法q=1和q=4时进程运行情况
表4-5 RR调度算法的性能指标
42
4.5.6 多级队列法(Solaris 2)
多级队列(Multilevel Queue)调度算法把就绪队列划 分成几个单独的队列,根据进程的某些特性,如占用内存 大小、进程优先级和进程类型,永久性地把各个进程分别 链入不同的队列中,每个队列都有自己的调度算法。
图4-11 多级队列调度
4.5.7 多级反馈队列法 MFQ
第4章 调 度
1
操作系统中离不开调度。所谓调度,就是选出 待分派的作业或进程。
多道系统中,处理机调度决定了吞吐量、周转 时间、响应时间等运行性能。处理机调度是操 作系统设计的中心问题之一。
处理机调度分为作业调度(高级调度)、进程 挂起与对换(中级调度)和进程调度(低级调 度)三级。
2
主要内容
15
4.3 进程调度
进程调度也叫低级调度 进程调度程序也叫低级调度程序,它完
成进程从就绪状态到运行状态的转换。 将一台物理CPU虚拟成多台CPU
16
4.3.1 进程调度的功能
(1)保存现场
进程放弃CPU时,进程调度程序需将现场信 息保存到PCB中
(2)挑选进程 (3)恢复现场
为选中的进程恢复现场信息,把CPU控制权 交给该进程。
例如,考虑表4-2给出的 一组作业(它们同时提交 到系统)。
表4-2 一组作业列表
低级调度名词解释
低级调度名词解释
低级调度是指操作系统中的一种调度方式,它负责将就绪队列中的进程分配给处理器,以便让处理器能够执行这些进程。
低级调度也被称为进程调度或者CPU调度。
在操作系统中,进程通常会被分为就绪态、运行态和阻塞态。
当一个进程处于就绪态,表示它已经准备好被执行,但还没有被分配到处理器上。
低级调度的任务就是从就绪队列中选择一个进程,并将其分配给处理器,使其进入运行态。
低级调度的目标是尽可能高效地利用处理器资源,以便最大限度地提高系统的性能和吞吐量。
它需要考虑诸如进程的优先级、处理器的负载情况、进程的执行时间等因素,以便做出合适的调度决策。
低级调度通常会使用各种调度算法,如先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(RR)等,来决定下一个要执行的进程。
总的来说,低级调度在操作系统中扮演着至关重要的角色,它直接影响着系统的响应速度、资源利用率和用户体验。
通过合理的低级调度策略,操作系统能够更好地管理处理器资源,提高系统的整体性能。
第5处理机调度幻灯片课件
第5处理机调度
处理机的三级调度
处理机的三级调度:
作业调度 进程调度 中程调度
1.作业的状态
作业从提交到完成要经历四种状态:
提交状态:用户作业由输入设备向系统外存输 入时作业所处的状态。//录入工作,还没进入系统
后备状态:作业输入到外存后,系统为其建立 了作业控制块JCB,并把它插入到后备作业队列 中等待调度运行。//等待调入
作业调度的运行频率较低,通常为几分钟一 次。
作业调度的功能
接纳多少作业:决定接纳作业的数目。 记录作业状况:记录作业各阶段的情况。包
括资源分配、优先权、状态等。相关信息构 成JCB,它是作业存在的唯一标志。 确定调度算法:决定接纳哪些作业。 做好执行前的准备工作:为选中作业建立进 程并分配资源。 善后处理:作业完成后回收占用资源,撤消 JCB。
周转 时间
7 18 14 17 8
带权周 转时间
2.33 3 3.5 3.4 4
平均周转时间 T=(7+18+14+17+8)/5=12.8
平均带权周转时间 W=(2.33+3+3.5+3.4+4)/5=3.246
时间片大小为4
A、B、C、D、E要求运行时间 依次为3、6、4、5 、2 ,到达时间依次为0、1、2、3、4。
A B C D E
提交 时间 0 1 2 3 4
运行 时间 3 6 4 5 2
开始 时间
0 3 7 11 15
完成 时间
3 19 11 20 17
周转 时间
3 18
9 17 13
带权周 转时间
1 3 2.25 3.4 6.5
平均周转时间 T=(3+18+9+17+13)/5=12
平均带权周转时间 W=(1+3+2.25+3.4+6.5)/5=3.23
处理机的三级调度
处理机的三级调度:
作业调度 进程调度 中程调度
1.作业的状态
作业从提交到完成要经历四种状态:
提交状态:用户作业由输入设备向系统外存输 入时作业所处的状态。//录入工作,还没进入系统
后备状态:作业输入到外存后,系统为其建立 了作业控制块JCB,并把它插入到后备作业队列 中等待调度运行。//等待调入
作业调度的运行频率较低,通常为几分钟一 次。
作业调度的功能
接纳多少作业:决定接纳作业的数目。 记录作业状况:记录作业各阶段的情况。包
括资源分配、优先权、状态等。相关信息构 成JCB,它是作业存在的唯一标志。 确定调度算法:决定接纳哪些作业。 做好执行前的准备工作:为选中作业建立进 程并分配资源。 善后处理:作业完成后回收占用资源,撤消 JCB。
周转 时间
7 18 14 17 8
带权周 转时间
2.33 3 3.5 3.4 4
平均周转时间 T=(7+18+14+17+8)/5=12.8
平均带权周转时间 W=(2.33+3+3.5+3.4+4)/5=3.246
时间片大小为4
A、B、C、D、E要求运行时间 依次为3、6、4、5 、2 ,到达时间依次为0、1、2、3、4。
A B C D E
提交 时间 0 1 2 3 4
运行 时间 3 6 4 5 2
开始 时间
0 3 7 11 15
完成 时间
3 19 11 20 17
周转 时间
3 18
9 17 13
带权周 转时间
1 3 2.25 3.4 6.5
平均周转时间 T=(3+18+9+17+13)/5=12
平均带权周转时间 W=(1+3+2.25+3.4+6.5)/5=3.23
第4章调度
18
4.4 调 度 算 法
本节讨论各种常用的进程调度算法和作业调度算法。 1. 先来先服务(FCFS)调度算法 它根据进程进入就绪队列的先后次序来分配处 理机,实现的是非剥夺调度方式。当一个进程获得 处理机并运行后,它将一直占用处理机,直到该进 程完成其任务,或因等待某个事件或资源而不能继 续运行时才释放处理机。 直观看,该算法在一般意义下是公平的。即每 个作业或进程都按照它们在队列中等待时间长短来 决定它们是否优先享受服务。不过对于那些执行时 间较短的作业或进程来说,如果它们在某些执行时 间很长的作业或进程之后到达,则它们将等待很长 时间。 19
(2)调度性能: 能够满足各种类型用户的需要:
终端型作业:交互作业,作业通常较短小,系统只
要能估计适合的时间片大小使作业(进程)在第一 队列所规定的时间片完成,便能满足用户.
短批处理作业用户:通常会在第一或第二队列完
成,其周转时间仍然较短.
长批处理作业:依次按不同的队列和不同的时间
片直到完成,用户不必担心其作业得不到处理.
24
25
进程调度算法
3 多级反馈轮转算法
• 实施过程 : • (1)在系统中设置多个就绪进程队列, 每个队列对应一个调度级别或优先级,第 一个队列的优先级最高,以下各个队列的 优先级逐次降低。 • (2)赋予各个就绪队列中的进程以不同 的时间片。优先级越高的就绪队列中的进 程所分得的时间片越小,优先级越低的进 程所分得的时间片越大,通常优先级每低 一级,队列中进程所分得的时间片就增加 6-26 一倍,如第k+1队列中的进程所分得的时间
(5)优先权准则.
14
2 面向系统准则: (1)系统吞吐量.
(2)处理机利用率好.
(3)各类资源的平衡利用.
4.4 调 度 算 法
本节讨论各种常用的进程调度算法和作业调度算法。 1. 先来先服务(FCFS)调度算法 它根据进程进入就绪队列的先后次序来分配处 理机,实现的是非剥夺调度方式。当一个进程获得 处理机并运行后,它将一直占用处理机,直到该进 程完成其任务,或因等待某个事件或资源而不能继 续运行时才释放处理机。 直观看,该算法在一般意义下是公平的。即每 个作业或进程都按照它们在队列中等待时间长短来 决定它们是否优先享受服务。不过对于那些执行时 间较短的作业或进程来说,如果它们在某些执行时 间很长的作业或进程之后到达,则它们将等待很长 时间。 19
(2)调度性能: 能够满足各种类型用户的需要:
终端型作业:交互作业,作业通常较短小,系统只
要能估计适合的时间片大小使作业(进程)在第一 队列所规定的时间片完成,便能满足用户.
短批处理作业用户:通常会在第一或第二队列完
成,其周转时间仍然较短.
长批处理作业:依次按不同的队列和不同的时间
片直到完成,用户不必担心其作业得不到处理.
24
25
进程调度算法
3 多级反馈轮转算法
• 实施过程 : • (1)在系统中设置多个就绪进程队列, 每个队列对应一个调度级别或优先级,第 一个队列的优先级最高,以下各个队列的 优先级逐次降低。 • (2)赋予各个就绪队列中的进程以不同 的时间片。优先级越高的就绪队列中的进 程所分得的时间片越小,优先级越低的进 程所分得的时间片越大,通常优先级每低 一级,队列中进程所分得的时间片就增加 6-26 一倍,如第k+1队列中的进程所分得的时间
(5)优先权准则.
14
2 面向系统准则: (1)系统吞吐量.
(2)处理机利用率好.
(3)各类资源的平衡利用.
第3章处理机调度ppt课件
改进短作业(进程)优先调度算法,优先权用
下式动态计算出来
优先权=等待要时求间服+要务求时服间务时间
响应时间
要求=服务时间
上式可看出
等待时间相同要求服务的时间越短优先权越 高, 有利于短作业
要求服务时间相同,等待时间越长优先权越高, 近似于先来先服务
长作业的优先权会随等待时间加长而升高,长 作业也会得到执行
一. 高级调度(High Scheduling)
又称为作业调度接纳调度或长程调度, 用于批处理 系统, 确定将外存后备队列中哪些作业调入内存, 并为它 们创建进程。实时系统和分时系统的前台作业不需要作 业调度。每次作业调度时, 都必须做出两个决定:
1) 接纳多少个作业: 取决于多道程序度。
2) 接纳哪些作业(用什么调度算法):
当一个进程正在执行时,系统可以基于某 种策略剥夺CPU给其它进程。剥夺的原则有:
优先权原则、短进程优先原则、时间片原
3. 进程调度的时机
所谓进程调度的时机,是指什么情况下引 起进程调度程序工作。进程调度的时机是与进 程调度的方式有关的。进程调度的时机如下:
1) 正在执行的进程正确完成, 或由于某种错误而终 止运行(陷阱或中断) ;
进程(作业)平均周转时间〔周转时间、吞吐量) 设某进程创建时间为Si, 结束的时间为Ei 它的周转时间(全过程所用时间)为 Ti =Ei – Si 系统为它提供的实际服务时间为Tsi 则进程平均周转时间T,带权平均周转时间W为:
其中T,=n1n为i=n被1T测i 定进程流中W的=n1进i=n1程TTsi数i
3.1.2. 调度队列模型
1. 仅有进程调度的调度队列模型 在分时系统中, 通常仅有进程调度, 采用FIFO算法。
课件操作系统处理机调度.ppt
(2) 作业步(Job Step)。每个作业都必须经过若干个相对 独立,又相互关联的顺序加工步骤才能得到结果,把其中的每 一个加工步骤称为一个作业步,各作业步之间存在着相互联系, 上一个作业步的输出作为下一个作业步的输入。 一个典型的作业可分成三个作业步: ① “编译”作业步; ② “连结装配”作业步;
1.仅有进程调度的调度队列模型
(1)在分时系统中,仅仅设有进程调度。 (2)用户键入的命令和数据都直接送入内存。对于命令, 是由OS为之建立一个进程。 (3)系统可以把处于就绪状态的进程组织成栈、树或一个 无序链表。 例如:就绪进程组织成FIFO队列形式。每当OS创建一个 新进程时,便将它挂在就绪队列的末尾,然后按时间片轮转方 式运行。
2. 优先权的类型 1) 静态优先权是在创建进程时确定的,且在进程的整个 运行期间保持不变。一般地,优先权是利用某一范围内的 一个整数来表示的。
(1) 进程类型。 (2) (2) 进程对资源的需求。 (3) (3) 用户要求。 静态优先权法简单易行,系统开销小,但不够精确, 很可能出现优先权低的作业(进程)长期没有被调度的情况。 因此,仅在要求不高的系统中才使用静态优先权。
• 也称微观调度,从处理机资源分配的角度来 看,即占有CPU来运行。 • 处理机需要经常选择就绪进程或线程进入运 行状态。
• 低级调度的时间尺度通常是毫秒级的。由于 低级调度算法的频繁使用,要求在实现时做到 高效。
低级调度的主要功能
(1) 保存处理机的现场信息。
(2) 按某种算法选取进程。 如优先数算法、轮转法等,从就绪队列中选取一个进程, 把它的状态改为运行状态,并准备把处理机分配给它。 (3) 把处理器分配给进程。
图 3-4 FCFS和SJF调度算法的性能
课件:处理器调度的层次
计算机操作系统
2 处理器管理 – 2.5 处理器调度 2.5.1 处理器调度的层次
掌握处理器调度的层次 掌握高级调度 掌握中级调度 掌握低级调度
处理器调度的层次
• 高级调度:又称长程调度,作业调度 – 决定能否加入到执行的进程池中
• 中级调度,又称平衡负载调度 – 决定主存中的可用进程集合
• 低级调度:又称短程调度,进程调度 – 决定哪个可用进程占用处理器执行
处理器调度层次与进程状态转换
就绪态
新建态 高级调度
运行态
等待态 低级调度
挂起等待态
中级调度
挂起就绪态 中级调度
终止态
处理器调度层次与关键状态转 换
高级调度
• 分时OS中,高级调度决定: –是否接受一个终端用户的连接 –命令能否被系统接纳并构成进程 –新建态进程是否加入就绪进程队列
• 批处理OS中,高级调度又称为作业调度, 功能是按照某种原则从后备作业队列中 选取作业进入主存,并为作业做好运行 前的准备工作和完成后的善后工作
• 进程调度程序:又称分派程序,操作系 统中实现处理器调度的程序,是操作系 统的最核心部分
• 处理器调度策略的优劣直接影响到整个 系统的性能
中级调度
• 引进中级调度是为了提高内存利用率和 作业吞吐量
• 中级调度决定那些进程被允许驻留在主 存中参与竞争处理器及其他资源,起到 短期调整系统负荷的作用
• 中级调度把一些进程换出主存,从而使 之进入“挂起”状态,不参与进程调度, 以平顺系统的负载
低级调度
• 低级调度:又称处理器调度、进程调度、 短程调度,按照某种原把处理器分配 给就绪态进程或内核级线程
2 处理器管理 – 2.5 处理器调度 2.5.1 处理器调度的层次
掌握处理器调度的层次 掌握高级调度 掌握中级调度 掌握低级调度
处理器调度的层次
• 高级调度:又称长程调度,作业调度 – 决定能否加入到执行的进程池中
• 中级调度,又称平衡负载调度 – 决定主存中的可用进程集合
• 低级调度:又称短程调度,进程调度 – 决定哪个可用进程占用处理器执行
处理器调度层次与进程状态转换
就绪态
新建态 高级调度
运行态
等待态 低级调度
挂起等待态
中级调度
挂起就绪态 中级调度
终止态
处理器调度层次与关键状态转 换
高级调度
• 分时OS中,高级调度决定: –是否接受一个终端用户的连接 –命令能否被系统接纳并构成进程 –新建态进程是否加入就绪进程队列
• 批处理OS中,高级调度又称为作业调度, 功能是按照某种原则从后备作业队列中 选取作业进入主存,并为作业做好运行 前的准备工作和完成后的善后工作
• 进程调度程序:又称分派程序,操作系 统中实现处理器调度的程序,是操作系 统的最核心部分
• 处理器调度策略的优劣直接影响到整个 系统的性能
中级调度
• 引进中级调度是为了提高内存利用率和 作业吞吐量
• 中级调度决定那些进程被允许驻留在主 存中参与竞争处理器及其他资源,起到 短期调整系统负荷的作用
• 中级调度把一些进程换出主存,从而使 之进入“挂起”状态,不参与进程调度, 以平顺系统的负载
低级调度
• 低级调度:又称处理器调度、进程调度、 短程调度,按照某种原把处理器分配 给就绪态进程或内核级线程
操作系统课程第3章处理机调度ppt课件
〔4〕 完成形状——即作业完成了计算义务, 结果由打 印机输出, 最后由系统回收分配给它的全部资源, 预 备退出系统时的作业情况。
作业调度
作业控制块〔JCB〕
在多道批处置系统中通常有上百个作业被收 容在输入井〔磁盘〕中。 为了管理和调度作业, 系统为每个作业设置了一个作业控制块 〔JCB〕, 它记录该作业的有关信息。 JCB的 主要内容如图3-2所示。
作业调度
作业是用户在一次解题或一个事务处置过程 中要求计算机系统所做任务的集合,包括用 户程序、所需的数据及命令等
作业形状:作业从提交给系统, 直到完成义 务后退出系统前, 在整个活动过程中它会处 于不同的形状。 通常, 作业形状分为四种 : 提交、 后备、 执行和完成, 如图3-1所 示。
作业调度
选择调度方式和调度算法的假设干准那么
面向系统的准那么 系统吞吐量高 吞吐量指单位时间内系统所完成的作业数 作业调度的方式和算法对吞吐量的大小有
较大影响 处置机利用率高 各类资源的平衡利用 使内存、外存和I/O设备的利用率高
基于这样的准那么,他设计操作系统的调度战略应如何?
〔 〕是指从作业提交给系统到作业完成的时间间 隔。
3.1.5 调度队列模型
仅有进程调度的调度队列模型
交互用户
事 件 出 现
时间片完 就绪 队列 阻塞 队 列
进程调度
进程完成 CPU
等待事件
3.1.5 调度队列模型
具有高级和低级调度的调度队列模型 在批处置系统中,不仅需求进程调度,而
且还要有作业调度 就绪队列的方式 在批处置系统中,常用高优先权队列。进
挂在就绪队列上等待进程调度。
作业4 作业3 作业2 作业1
阻塞进程队列 外存
作业调度
作业控制块〔JCB〕
在多道批处置系统中通常有上百个作业被收 容在输入井〔磁盘〕中。 为了管理和调度作业, 系统为每个作业设置了一个作业控制块 〔JCB〕, 它记录该作业的有关信息。 JCB的 主要内容如图3-2所示。
作业调度
作业是用户在一次解题或一个事务处置过程 中要求计算机系统所做任务的集合,包括用 户程序、所需的数据及命令等
作业形状:作业从提交给系统, 直到完成义 务后退出系统前, 在整个活动过程中它会处 于不同的形状。 通常, 作业形状分为四种 : 提交、 后备、 执行和完成, 如图3-1所 示。
作业调度
选择调度方式和调度算法的假设干准那么
面向系统的准那么 系统吞吐量高 吞吐量指单位时间内系统所完成的作业数 作业调度的方式和算法对吞吐量的大小有
较大影响 处置机利用率高 各类资源的平衡利用 使内存、外存和I/O设备的利用率高
基于这样的准那么,他设计操作系统的调度战略应如何?
〔 〕是指从作业提交给系统到作业完成的时间间 隔。
3.1.5 调度队列模型
仅有进程调度的调度队列模型
交互用户
事 件 出 现
时间片完 就绪 队列 阻塞 队 列
进程调度
进程完成 CPU
等待事件
3.1.5 调度队列模型
具有高级和低级调度的调度队列模型 在批处置系统中,不仅需求进程调度,而
且还要有作业调度 就绪队列的方式 在批处置系统中,常用高优先权队列。进
挂在就绪队列上等待进程调度。
作业4 作业3 作业2 作业1
阻塞进程队列 外存
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、低级调度算法 (5)
(3)动态优先数法及其确定原则
动态优先数法:在创建一个进程时,根据进程类型和资源使用 情况确定一个优先数,当进程耗尽时间片或重新被调度时,再 次计算并调整所有进程的优先数。
动态优先数的确定原则:
①根据进程占有CPU时间多少来决定,当进程占有CPU时间愈长, 那么,在它被阻塞之后再次获得调度的优先级就越低,反之,进 程获得调度的可能性越大;
处理器组成。 注意: 现代操作系统往往采用进程调度与线程调度相结合
的方式来完成多处理器调度。
四、多处理器调度 (2)
1.同步的粒度
同步的粒度,就是系统中多个进程之间同步的频率,它是刻画 多处理系统特征和描述进程并发度的一个重要指标。
根据进程或线程之间同步的周期(每隔多少条指令发生一次同 步事件),同步粒度划分为5个层次: •细粒度(fine-grained):同步周期小于20条指令。属于超高 并行度的应用。 •中粒度(medium-grained):同步周期为20~200条指令。适合 多线程技术实现,即一个进程包括多个线程,多个线程并发或 并行执行。 •粗粒度(coarse-grained):同步周期为200~2000条指令。可 用多进程并发程序设计实现。
•收回处理器。将处理器有关寄存器内容送入该进程(内核级线 程)的进程控制块(线程控制块)内的相应单元,使该进程出 让处理器。
一、低级调度的功能 (3)
•低级调度的最初对象是传统操作系统中的进程,操作系统中引 入了线程以后,进程只作为中级调度的对象,内核级线程则替 代进程成为低级调度的对象。适用于进程调度的算法一般都适 用于内核级线程的调度。
2.7低级调度
主要内容:
低级调度的功能 低级调度算法 实时调度 多处理器调度
一、低级调度的功能 (1)
低级调度负责动态地把处理器分配给进程或内核级线程。操 作系统中实现低级调度的程序称为进程(线程)调度程序,或 分派程序(Dispatcher)。进程调度算法多数适用于线程调度。
1.引起低级调度的原因
三、实时调度 (3)
如果加入周期为1秒的第4个事件,则其处理时间不能超过a:
50/100+30/200+100/500+a/1000=1
a=150ms,否则该系统将不可调度。
尽管在理论上采取了下面将要讨论的实时调度算法后就可将通 用操作系统改造成实时操作系统,但实际上,
通用操作系统的进程切换开销太大,以至于只能满足那些限制 较松的实时应用。因此多数实时系统都使用专用的实时操作系 统,这些系统一般规模小、进程切换快、中断屏蔽和处理时间 短。
•用户级线程的调度是应用程序自己的事。在纯用户级多线程 策略中,低级调度的对象依然是进程;在混合策略中,低级调 度的对象是内核级线程。
二、低级调度算法 (1)
1.先来先服务算法
按照进程进入就绪队列的先后次序分配处理器。
先进入就绪队列的进程优先被挑选,运行进程一旦占有处理器 将一直运行直到结束或阻塞。这是一种非剥夺式调度。
(3)实时系统要响应的事件分类:分为周期性(每隔一段固定 的时间发生)和非周期性事件(在不可预测的时间发生)。
三、实时调度 (2)
(4)实时任务的可调度性
假如有m个周期性事件,事件i的周期为Pi,每个事件需要Ci秒 的CPU时间来处理,则只有满足以下条件:
C1/P1 + C2/P2 + … + Cm/Pm ≤ 1
三、实时调度 (1)
1.实时操作系统的特性
(1)特性
•实时系统是那些时间因素非常关键的系统。
•实时系统包括监控系统、自动驾驶系统、安全控制系统等,这 些系统中,迟到的响应即使正确,也和没有响应一样糟糕。
(2)实时系统分类
通常分为硬实时系统和软实时系统:实时系统通常分为硬实时 (hard real time)系统和软实时(soft real time)系统。 前者意味着存在必须满足的时间限制;后者意味着偶尔超过时 间限制时可以容忍的。
时间片大小的确定要从进程个数、切换开销、系统效率和响 应时间等方面考虑。
二、低级调度算法 (4)
3.优先数调度 (1)含义: 给每一个进程确定一个优先数,处理器调度每次选择就绪进程 中优先数最大者,让它占用处理器运行称优先数调度。 (2)优先数的确定依据(静态优先数法) •使用外围设备频繁者优先数大,这样有利于提高效率; •重要算题程序的进程优先数大,这样有利于用户更早得到结果; •进入计算机时间长的进程优先数大,这样有利于缩短作业周转 时间; •交互式用户的进程优先数大,这样有利于终端用户的响应时间 等等,
5 彩票调度算法:
•基本思想:为进程发放针对系统各种资源(包括CPU时间)的 彩票,当调度程序需要决策时,随机选择一张彩票,则持有该 彩票的进程将获得资源。 •进程获取资源(运行时间)的概率与彩票的数量成正比。 •彩票算法的特点:
彩票调度算法的反应非常迅速。 进程之间可以交换彩票。 彩票算法可以解决其它算法转法,它要求每个进程轮流运行一个 相同的时间片。改进的轮转法对于不同的进程给以不同的时间 片;时间片的长短可以动态地修改等等。
二、低级调度算法 (3)
(5)时间片取选
轮转法调度是一种剥夺式调度,系统耗费在进程切换上的开销 比较大,这个开销与时间片的大小很有关系。
二、低级调度算法 (7)
p-cpu按如下方法来改变:系统时钟中断处理程序每20ms工作一 次,每次工作就将当前进程的p-cpu加1。每到1秒时它就依次检 查系统中所有进程的p-cpu,若被检查进程的p-cpu<10,就表明 该进程在这1秒内所使用处理机的时间不超过200ms,于是将pcpu置为0;若被检查进程的p-cpu>10,就表明该进程在这1秒内 所使用处理机的时间超过200ms,于是将p-cpu置减10。
•记录进程(内核级线程)的状态。一般记录在一个进程(内核 级线程)的进程控制块(线程控制块)内。
•决定某个进程(内核级线程)什么时候获得处理器,以及占用 多长时间。
•把处理器分配给进程(内核级线程)。即进行进程(内核级线 程)上下文切换,把选中进程(内核级线程)的进程控制块 (线程控制块)内有关现场信息送入处理器相应的寄存器中, 让它占用处理器运行。
四、多处理器调度 (3)
时间片取值太小,多数进程不能在一个时间片内运行完毕,切 换就会频繁,开销显著增大,从系统效率来看,时间片取大一 点好。
时间片取值较大,随就绪队列里进程数目增加,轮转一次的总 时间增大,对进程的响应速度放慢了。如果时间片大到让每个 进程足以完成其所有任务,这一算法就退化成先来先服务算法。 为满足响应时间要求,要么限制就绪队列中进程数量,要么采 用动态时间片法,根据负载状况,及时调整时间片的大小。
三、实时调度 (4)
2.实时调度算法
(1)单比率调度算法
基本思想:为每个进程分配一个与事件发生频率成正比的优先 数。例如,周期为20ms的进程优先数为50,周期为100ms的进 程优先数为10,运行时调度程序总是调度优先数最高的就绪进 程,并采取抢占式分配策略。
(2)限期调度算法
基本思想:当一个事件发生时,对应的进程就按照截止期限被 加入就绪进程队列。对于一个周期性事件,其截止期限即为事 件下一次发生的时间。该调度算法首先运行队首进程,即截止 时间最近的那个进程。
二、低级调度算法 (11)
5 保证调度算法:
•基本思想:向用户作出明确的性能保证,然后实现它。 •方案:
如果有n个联机用户(进程),保证每个联机用户(进程)获 得CPU处理能力的1/n . •系统必须跟踪各个进程的CPU使用时间,然后计算各个进程应 该获得的CPU时间。
二、低级调度算法 (12)
UNIX这种动态优先数调度效果是:
(1)如果一个进程连续占用处理机较长时间,那么,它的p-cpu 值就增大,计算出的p-pri也增大,于是优先权下降。
(2)如果一个进程长时间未被调用到或者虽频繁调度到,但每次 占用的时间都小于200ms,那么,p-cpu就较小甚至为0,从而, 计算出的p-pri也较小,于是优先权上升。
时,才可能处理所有的负载。满足该条件的实时系统称作任务 可调度的(schedulable)。
例如,一个软实时系统处理三个事件流,其周期分别为100ms, 200ms和500ms,如果事件处理时间分别为50ms,30ms和100ms, 则这个系统是可调度的,因为
50/100+30/200+100/500=0.5 + 0.15 + 0.2=0.85 ≤ 1
算法容易实现,效率不高,不利于I/O频繁的进程。
2.时间片轮转调度算法
(1)算法思想
轮转法调度也称为时间片调度,时间片调度做法是:调度程序 每次把CPU分配给就绪队列首进程使用一个时间片,例如 100ms,就绪队列中的每个进程轮流地运行一个时间片。当这 个时间片结束时,强迫一个进程让出处理器,让它排列到就绪 队列的尾部,等候下一轮调度。
三、实时调度 (5)
(3)最少裕度法
基本思想:首先计算各个进程的富裕时间,即裕度(laxity), 然后选择裕度最少的进程执行。 裕度=截止时间-(就绪时间+ 计算时间)
四、多处理器调度 (1)
流行的多处理器系统有: •松散耦合多处理器系统:包括一组相对独立的处理
器,每个处理器拥有自己的主存和I/O通道。 •紧密耦合多处理器系统:由共享主存和外设的一组
有四种情况都会发生CPU调度: •当一个进程从运行态切换成等待态时; •当一个进程从运行态切换成就绪态时; •当一个进程从等待态切换成就绪态时; •当一个进程中止时。 也就是说当一个进程由运行状态变为非运行状态,或者一个进 程变为就绪状态时,都会引起低级调度.
一、低级调度的功能 (2)
2.低级调度的主要功能
二、低级调度算法 (8)