进程管理 二 处理机调度问题

发布时间 2023-03-23 12:29:04作者: 他太冷静了

调度的三个层次

IMG_20220929_123727.jpg
image.png

多道批处理系统中大多配有作业调度,而其他系统中通常不需要配置作业调度。

image.png

中级调度实际上就是存储器管理中的对换功能。
进程正在进行I/O操作时不能换出内存,否则其I/O数据区将被新换入的进程占用,导致错误。不过可以开辟I/O缓冲区,将数据从外设输入或将数据输出到外设的I/O活动在缓冲区中进行,这时缓冲区与外设进行I/O活动,进程换出换入不受限制。

image.pngimage.pngimage.png

调度的时机、切换与过程、方式

image.pngimage.pngimage.png
image.png

调度是指决定资源分配给哪个进程的行为,是一种决策行为;
切换是指实际分配的行为,是执行行为;

闲逛进程(idle):
在进程切换时,如果没有就绪进程,就会调用闲逛进程(idle)运行。该进程会一直执行,并不断测试中断。
闲逛进程的优先级最低,只要有就绪进程,就会立刻让出处理机。
闲逛进程不需要CPU之外的资源,所以不会被阻塞。

两种线程的调度

  • 用户级线程调度

内核并不知道线程的存在,只负责选择一个进程然后执行。
由进程中的调度程序决定哪个线程执行。

  • 内核级线程调度

内核选择一个线程执行,并不考虑其属于哪个进程。
用户级线程的线程切换在同一进程内进行,只需要少量的机器指令;
内核级线程的线程切换需要完整的上下文切换、修改内存映像(修改页表)、使高速缓存失效(TLB失效),这就导致了若干数量级的延迟。
image.png

调度算法

性能指标

image.pngimage.pngimage.pngimage.png
image.pngimage.pngimage.png

FCFS

image.png
image.png

SJF SPF SRTN

image.png
image.pngimage.pngimage.png


image.png


HRRN

image.png
image.png


image.png


RR 时间片轮转

image.png
image.png

优先级

image.png
image.png
image.png


image.png


多级反馈队列

image.png
image.png


image.png