高级调度又称长期调度,调度对象是作业,主要功能是根据某种算法,将外存上处于后背队列的作业调度入内存;
低级调度又称进程调度或短程调度,其调度对象是进程,主要功能是根据某种算法,决定就绪队列中的哪个进程获得处理机;
中期调度又称为内存调度,主要用于提高内存利用率和系统吞吐量(实现虚拟内存)。
都是处理机的调度,高级调度将外存的作业调度入内存,通过低级调度获得处理机,通过中级调度调整内存资源分配。
CPU利用率、吞吐量、周转时间、等待时间、响应时间
就绪、执行、阻塞。
作业被调度后会进入就绪状态,就绪队列中被分配了时间片就可以进入执行状态,使用完时间片后又回到就绪状态,等待处理机的调度。发生了系统调用或其他中断请求,会进入阻塞状态,完成后回到就绪状态等待处理机的调度。
作业 | 进入时间 | 估计运行时间(分钟) |
---|---|---|
JOB1 | 8:00 | 120 |
JOB2 | 8:50 | 50 |
JOB3 | 9:00 | 10 |
JOB4 | 9:50 | 20 |
先来先服务:
平均周转时间 = (120 + 120 + 120 + 90) / 4 = 112.5min
带权的平均周转时间 = (120 / 120 + 120 / 50 + 120 / 10 + 90 / 20) / 4 = 4.975min
最短作业优先:
平均周转时间 =(120 + 70 + 40 + 150) / 4 = 95min
带权的平均周转时间 = (120 / 120 + 70 /10+ 40/20 + 150/50) / 4 = 3.24min
最高响应比优先:
平均周转时间 = (120 + 70 + 130 + 90) / 4 = 102.5min
带权的平均周转时间 = (120 / 120 + 70 / 10 + 130 / 50 + 90 / 20) / 4 = 3.775min
短作业优先调度可以使得运行时间最短的进场被优先执行,减少了短作业的周转时间。
(1) 时间片轮转(时间片为2)
(2) 多级反馈队列,设置三个就绪队列,时间片分别为1、2、3
(3)立即抢占式多级反馈队列,被抢占进程回到原来的就绪队列
进程 | 到达时间 | 服务时间 |
---|---|---|
A | 0 | 3 |
B | 2 | 6 |
C | 4 | 4 |
D | 6 | 5 |
E | 8 | 2 |
轮转调度:
进程A:11
进程B:17
进程C:11
进程D:14
进程E:2
平均周转时间:(11+17+11+14+2)/5=11
多级反馈队列:
进程A:3
进程B:14
进程C:14
进程D:14
进程E:6
平均周转时间:(13+14+14+13+6)/5=10
抢占多级反馈队列:
进程A:4
进程B:16
进程C:8
进程D:14
进程E:7
平均周转时间:(4 + 16 + 8 + 14+ 7)/ 5 = 9.8
请回答下列问题:
(1)该系统采用了怎样的进程调度算法?说明理由。
(2)把图中发生①-④的状态变化原因填入下表中。
变化 | 变化原因 |
---|---|
① | 进程得到时间片,开始执行 |
② | 进程时间片消耗完,进入就绪(等待)队列 |
③ | 进程中断,发出IO请求 |
④ | 进程IO请求结束,进入就绪队列 |
最短作业优先调度算法
a.CPU利用率和响应时间
b.平均周转时间和最大等待时间
c.I/O利用率和CPU利用率
a. CPU利用率随着进程的并发程度增加,但进程的响应时间会随着进程的并发程度增进而边长
b. 通常,最短作业优先调度可以极大的减少平均周转时间,平均周转时间的下降可能会导致需要占用时间较长的进程等待时间边长
c. IO密集型的进程通常对CPU的使用时间比较短,进程请求IO的增加会使得进程对CPU的利用率下降
进程 | 权 | 运行时间 | 到达时间 |
---|---|---|---|
P1 | 40 | 20 | 0 |
P2 | 30 | 25 | 25 |
P3 | 30 | 25 | 30 |
P4 | 35 | 15 | 60 |
P5 | 5 | 10 | 100 |
P6 | 10 | 10 | 105 |
a.使用甘特图显示进程的调度顺序
b.各进程的周转时间
p1:20
P2:50
p3:50
P4:30
P5:20
p6:10
c.各进程的等待时间
p1:0
P2:25
p3:25
P4:15
P5:10
p6:0
d.CPU的利用率是多少?
105 / 120 * 100% = 87.5%
A. The time quantum is 1 millisecond
A.时间量是1毫秒
1/1.1 * 100% = 92%
B. The time quantum is 10 milliseconds
B.时间量是10毫秒
1.1 * 10 + 10.1 = 21.1
20 / 21.1 * 100% = 94%
I/O约束程序对CPU的使用时间较短,CPU约束对CPU的使用时间较长,区分开两者可以更好的分配资源,提供系统资源利用率。
n!
长期调度,调度对象是作业,主要功能是根据某种算法,将外存上处于后背队列的作业调度入内存;
短程调度,其调度对象是进程,主要功能是根据某种算法,决定就绪队列中的哪个进程获得处理机;
中期调度又称为内存调度,主要用于提高内存利用率和系统吞吐量(实现虚拟内存)。
都是处理机的调度,高级调度将外存的作业调度入内存,通过低级调度获得处理机,通过中级调度调整内存资源分配。
在切换时,在某个进程的挂起时,先保存该进程状态至该进程控制块PCB中,包括进程的状态,编号,PC,寄存器等,在程序重新执行时,从对应的PCB表中读取信息,并从中断处继续执行。
低级调度获得处理机,通过中级调度调整内存资源分配。
在切换时,在某个进程的挂起时,先保存该进程状态至该进程控制块PCB中,包括进程的状态,编号,PC,寄存器等,在程序重新执行时,从对应的PCB表中读取信息,并从中断处继续执行。
本人水平有限,可能有很多错的,看到错误的小伙伴帮忙修改下呗,谢谢啦