进程状态和队列的类型有哪些?
让我们首先了解进程状态的类型。
进程状态类型
进程状态有以下几种类型:
新建 - 进程即将在此状态下创建,但尚未创建,它是存在于辅助存储器中的程序,将由操作系统选择来创建进程。
就绪 - 进程在创建后进入就绪状态,这意味着进程已加载到主内存中。
运行 - 进程被 CPU 选择用于执行指令和进程内的执行,并且它们由任何一个可用的 CPU 内核执行。
等待 - 每当进程请求访问 I/O 或需要用户的输入或需要访问临界区时,它就会进入阻塞或等待状态。
终止 - 进程被终止,并且 PCB(进程控制块)被删除。
挂起就绪 - 最初处于就绪状态的进程,如果此时有许多进程进入就绪状态,则主内存资源可用性较低,因此一些进程将被挂起并移动到辅助存储器,即挂起就绪状态。
挂起等待或挂起阻塞 - 与挂起就绪类似,但使用的是正在执行 I/O 操作的进程,并且由于主内存不足导致它们移动到辅助存储器。工作完成后,它可能会进入挂起就绪状态。
因此,在进程运行中使用到的所有状态如下所示:
队列类型
现在让我们学习进程调度中三种类型的队列。
作业队列 - 用于存储系统中的所有进程。它包含驻留在海量存储/辅助存储器上并等待主内存分配的进程列表。当进程驻留在作业队列中时,进程的状态为新建状态。
就绪队列 - 它是所有已准备好并等待在核心/CPU 上调度的进程的队列。当进程驻留在就绪队列中时,进程的状态为就绪状态。
设备队列 - 由于 I/O 设备不可用而被阻塞的进程构成此队列。因此,此队列包含所有被阻塞的进程,并等待 I/O。当进程驻留在设备队列中时,进程的状态为阻塞状态或等待状态。
队列类型在下图中给出:
广告