什么是进程终止?


进程是正在执行的程序,它不仅仅是称为文本段的程序代码,这个概念在所有操作系统下都适用,因为操作系统执行的所有任务都需要一个进程来执行。

进程在改变状态时执行。进程的状态由进程的当前活动定义。

每个进程可能处于以下任何一种状态:

  • 新建 - 进程正在创建。

  • 运行 - 在此状态下,指令正在执行。

  • 等待 - 进程处于等待状态,直到发生某个事件,例如 I/O 操作完成或收到信号。

  • 就绪 - 进程正在等待分配到处理器。

  • 终止 - 进程已完成执行。

重要的是要知道,在任何时刻,只有一个进程可以在任何处理器上运行。许多进程可能处于就绪和等待状态。

进程操作

在进程上执行的两个主要操作如下:

  • 进程创建

  • 进程终止

现在让我们看看进程终止。

进程终止

当进程完成其最终语句的执行并使用 exit() 系统调用请求操作系统删除它时。

此时,进程可以使用 wait() 系统调用将其状态值返回给其父进程。

操作系统将释放进程的所有资源,包括物理和虚拟内存、打开的文件和 I/O 缓冲区。

进程终止的原因

进程可能终止其一个子进程执行的原因如下:

  • 子进程超过其已分配的资源使用量。

  • 分配给子进程的任务不再需要。

  • 父进程正在退出,并且操作系统不允许子进程在其父进程终止后继续。

一些系统(包括 VMS)不允许子进程在其父进程终止后继续存在。在这些系统中,如果进程正常或异常终止,则其所有子进程都必须终止。这个概念被称为级联终止。

终止的原因

其他终止原因如下:

  • 时间片到期 - 当进程执行未在时间量子内完成时,进程将从运行状态终止。CPU 选择就绪队列中的下一个作业来执行。

  • 内存边界违规 - 如果进程需要的内存超过可用内存。

  • I/O 失败 - 当操作系统不提供 I/O 设备时,进程进入等待状态。

  • 进程请求 - 如果父进程请求子进程终止。

  • 无效指令

更新于:2021年11月30日

12K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告