2.10调度算法:时间片轮转,优先级,多级反馈队列

r囧r小猫 2023-07-20 08:19 99阅读 0赞

一,时间片轮转(RR):

1,算法思想:公平地,轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应

2,算法规则:按照各个进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(如100ms)r如果进程未在一个时间片内执行完,则剥夺处理机,将进程放到就绪队列队尾重新排队

3,用于作业/进程调度:用于进程调度(只有专业放到内存中建立相应的进程后,才能分配处理机时间片)

4,是否可抢占:如果进程未在时间片 内运行完,将强行剥夺处理机的使用权,因此时间片轮转调度算法属于抢占式。由时钟装置发出时钟中断来通知CPU时间片已经到了

5优缺点:

优点:公平,响应快,适用于分时操作系统

缺点:由于高频率的进程切换,因此会有一定的开销,不区分任务的紧急程度

6,是否导致饥饿:不会

7,补充:时间片分配太大就 退化成先来先服务算法,太小用于进程切换的开销就太大了

二,优先级调度算法:

1,算法思想:随着计算机的发展,特别是实时操作系统的出现,越来越多的应用场景需要根据任务的紧急程度来决定处理顺序。

2,算法规则:每个作业/进程都有自己的优先级,调度时选择优先级最高的作业/进程

3,用于作业/进程调度:都适用,甚至还用于I/O调度

4,是否可以抢占:抢占和非抢占式都有,做题时的区别在于,非抢占式只需要在进程主动地放弃处理机时进行调度,而抢占式还需要在就绪队列变化时,检查是否会发生抢占。

5,优缺点:

优点:用优先级区分紧急程度,重要程度,适用于实时操作系统。可以灵活地调整对各种作业/进程的偏好程度。

缺点:如果有源源不断的高优先级进程到来,则会导致饥饿

6,是否导致饥饿:

三,多级反馈队列调度算法:

1,算法思想:对以上算法的折中

2,算法规则:

1)设置多级就绪队列,各级队列的优先级从高到低,时间片从大到小

2)新进程到达时先进入第一级队列,按FCFS原则排队等待被分配时间片,如果用完时间片进程还没有结束,则进入下一级队列的队尾,如果此时已经是在最下级的队列,则重新放到这一级队列的队尾

3)只有第k级队列为空时,才会为k+1级队列队头的进程分配时间片。

3,用于作业/进程调度:用于进程调度

4,是否可以抢占:抢占式算法。在k级队列运行过程中,如果上级的队列中进入了一个新进程,则由于新进程处于高优先级的队列中,因此新进程会抢占处理机,原来运行的进程放回k级队列队尾

5,优缺点:

1)对各类型进程相对公平(FCFS的优点)

2)每个新到达的进程都可以很快得到响应(RR的优点)

3)短进程只需要较少的时间就可以完成(SPF的优点)

4)不必实现估计进程时间(避免用户作假)

5)可以灵活第设置对各类进程的偏好程度(优先级算法的优点)

6,是否导致饥饿:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDg0MTMxMg_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,99人围观)

还没有评论,来说两句吧...

相关阅读

    相关 时间轮转法(c语言)

    一、实验目的及要求 题目一:设计一个按照时间片轮转法实现处理机调度的程序 时间片轮转法实现处理机调度的程序设计提示如下: (1)假设系统有n个进程,每个进程用一个进

    相关 操作系统 时间轮转调度算法

    时间片轮转法(RR) 算法描述:用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进