操作系统~进程七状态模型与调度算法

进程的挂起态与七状态模型

暂时调到外存等待的进程状态为挂起状态(挂起态,suspend)
挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态
五状态模型→七状态模型
调到外存也就是说这个进程以及不由CPU调度控制, 必须手动调回
在这里插入图片描述

进程调度算法

进程调度的方式

  1. 非剥夺调度方式,又称非抢占方式。即,只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。
    实现简单,系统开销小但是无法及时处
    理紧急任务,适合于早期的批处理系统
  2. 剥夺调度方式,又称抢占方式。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。
    可以优先处理更紧急的进程,也可实现让各
    进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时操作系统

先来先服务FCFS

在这里插入图片描述

短作业优先SJF

在这里插入图片描述

对比FCFS和SJF两种算法

FCFS 算法是在每次调度的时候选择一个等待时间最长的作业(进程)为其服务。但是没有考虑到作业的运行时间,因此导致了对短作业不友好的问题
SJF算法是选择一个执行时间最短的作业为其服务。但是又完全不考虑各个作业的等待时间,因此导致了对长作业不友好的问题,甚至还会造成
饥饿问题

高响应比优先HRRN

在这里插入图片描述

时间片轮转调度算法(RR)

在这里插入图片描述

优先级调度算法

在这里插入图片描述

多级反馈队列调度算法

在这里插入图片描述
设置多级就绪队列,各级队列优先级从高到低,时间片从小到大

新进程到达时先进入第1级队列,按FCFS原则排队等待被分配时间片。若用完时间片进程还未结束,则进程进入下一级队列队尾。如果此时已经在最下级的队列,则重新放回最下级队列队尾

只有第k级队列为空时,才会为k+1级队头的进程分配时间片被抢占处理机的进程重新放回原队列队尾

在这里插入图片描述


版权声明:本文为Shangxingya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。