什么是进程暂停和进程切换?

让我们首先了解什么是进程暂停。

进程暂停

每当主内存中的进程进入阻塞状态时,操作系统通过将其置于暂停状态并将其传输到磁盘来暂停一个进程。内存中的可用空间用于引入另一个进程。

许多操作系统都处于就绪、运行、阻塞状态。但一般来说,OS 的操作中还有一种状态是挂起的。

如果任何进程没有占用处于就绪状态的主内存,操作系统会将被阻塞的进程之一交换到挂起队列中。

假设,当一个 Suspended 进程准备好运行时,它移动到 Ready, Suspend 队列中。因此,我们还有两个状态,分别是 Blocked_Suspend 和 Ready_Suspend。

目的

进程暂停的目的如下 -

  • 交换

  • 定时

  • 交互式用户请求

  • 父进程请求

现在让我们讨论进程切换。

进程切换

当操作系统从当前运行的进程中获得控制权时,它可能随时发生。让我们考虑系统中断。有两种类型的系统中断,如下所示 -

  • 打断

  • 陷阱

切换流程

下面解释什么时候可以切换进程。

  • 主管调用- 程序 ex 从文件中发出的显式请求。该过程可能会被阻止。

  • Trap - 上次指令导致的错误。它可能会导致进程移动到终端状态

  • 中断- 它是当前进程外部执行的原因。

处理开关的步骤

处理切换的步骤如下 -

  • 保存 CPU 上下文(使用模式位从用户模式切换到内核模式。)

  • 更新当前工艺的PCB。

  • 将当前进程的 PCB 移动到适当的队列中。

  • 选择另一个进程执行。(通过 CPU 调度程序)

  • 选定进程的更新

  • 更新内存管理结构

  • 恢复新PCB的CPU上下文(模式从内核模式切换到用户模式)

目的

进程切换是操作系统调度程序从一个正在运行的程序更改为另一个程序。这需要保存当前正在执行的程序的所有状态,包括它的寄存器状态、相关的内核状态和它的整个虚拟内存配置。然后加载新程序的所有状态并继续执行。

差异

进程切换和进程暂停之间的主要区别如下 -

进程暂停

  • 挂起的进程不是立即可用的。

  • 进程可能会或可能不会等待事件

  • 在代理下令删除之前,该进程可能不会从暂停状态中删除。

进程切换

  • 进程切换也称为上下文切换,涉及保存信息。

  • 更新控制信息。

  • 并恢复CPU信息。