优先级调度和循环 (RR) CPU 调度的区别

优先级调度和循环 (RR) CPU 调度的区别

1. 优先调度算法:

优先级调度算法根据进程的优先级执行进程。每个进程都被分配一个优先级,优先级最高的进程首先被执行。可以在内部和外部定义优先级。内部优先级由系统根据所需资源的数量、所需时间等来决定,而外部优先级则基于需要工作的时间或为完成的工作支付的金额或过程的重要性。优先级调度可以是抢占式的或非抢占式的。

注意 –

  • 如果两个进程具有相同的优先级,则使用 FCFS 打破平局。
  • 在抢占模式下,最高优先级进程的等待时间始终为零,而在非抢占模式下,它可能不为零。

缺点:

主要问题是饥饿或无限期阻塞。在进程流中,系统可能会继续执行高优先级进程而低优先级进程永远不会被执行。

2. 循环赛 (RR) :

Round-Robin (RR) 调度算法是专门为分时系统设计的。进程被放入就绪队列,在这种情况下是一个循环队列。在这种情况下,定义了一个称为时间量子的小时间单位。该算法从队列中选择第一个进程并在时间量定义的时间内执行它。如果进程的突发时间小于时间量子,则 CPU 执行下一个进程,但如果它的突发时间高于时间量子,则该进程被中断并在相同的时间量子内执行下一个进程。如果一个进程被中断,则会发生上下文切换,并将该进程放回队列的尾部。它本质上是先发制人的。

该算法主要依赖于时间量子。非常大的时间量使 RR 与 FCFS 相同,而非常小的时间量将导致开销,因为上下文切换将在非常小的间隔后一次又一次地发生。

该算法的主要优点是所有进程一个接一个地执行,这不会导致进程饥饿或进程等待很长时间才能执行。

Priority Scheduling 和 Round-Robin (RR) 调度算法的区别如下:

优先级调度 (RR) 调度算法
优先级调度根据优先级执行进程,即优先级较高的进程首先执行。 Round-Robin (RR) 根据定义的时间量执行进程,即每个进程执行固定的时间量。
优先级调度本质上是抢占式和非抢占式的。 Round-Robin (RR) 本质上是抢占式的。
平均等待时间和平均响应时间事先是未知的。 给定进程集的平均等待时间非常短,并且取决于时间量。
优先级调度易于实现,最适合实时操作系统。 在任何系统中实现 RR 都非常容易。
进程阻塞的问题可以通过老化来解决。 每个进程都被执行,每个用户都觉得他的工作正在完成,因为 CPU 为每个进程提供了相同的时间。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程