什么是进程调度,进程调度的来龙去脉

  • 内容
  • 评论
  • 相关

多道程序设计的目标是,无论何时都有进程运行,从而最大化 CPU 利用率。分时系统的目的是在进程之间快速切换 CPU,以便用户在程序运行时能与其交互。

为了满足这些目标,进程调度器选择一个可用进程(可能从多个可用进程集合中)到 CPU上执行。如果有多个进程,那么余下的需要等待 CPU 空闲并能重新调度。

调度队列

进程在进入系统时,会被加到作业队列,这个队列包括系统内的所有进程。驻留在内存中的、就绪的、等待运行的进程保存在就绪队列上。

就绪队列通常用链表实现;其头节点有两个指针,用于指向链表的第一个和最后一个 PCB 块;每个 PCB 还包括一个指针,指向就绪队列的下一个 PCB,如图 1 所示。

系统还有其他队列。当一个进程被分配了 CPU 后,它执行一段时间,最终退出,或被中断,或等待特定事件发生如 I/O 请求的完成。假设进程向一个共享设备如磁盘发出 I/O 请求。由于系统具有许多进程,磁盘可能忙于其他进程的 I/O 请求,因此该进程可能需要等待磁盘。等待特定 I/O 设备的进程列表,称为设备队列。每个设备都有自己的设备队列(图 1)。


就绪队列和各种I/O设备队列
图 1 就绪队列和各种I/O设备队列

本文标题:什么是进程调度,进程调度的来龙去脉

本文地址:https://www.hosteonscn.com/3560.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注