什么是进程终止?
进程是正在执行的程序,它不仅仅是称为文本段的程序代码,这个概念在所有操作系统下都适用,因为操作系统执行的所有任务都需要一个进程来执行。
进程在改变状态时执行。进程的状态由进程的当前活动定义。
每个进程可能处于以下任何一种状态:
新建 - 进程正在创建。
运行 - 在此状态下,指令正在执行。
等待 - 进程处于等待状态,直到发生某个事件,例如 I/O 操作完成或收到信号。
就绪 - 进程正在等待分配到处理器。
终止 - 进程已完成执行。
重要的是要知道,在任何时刻,只有一个进程可以在任何处理器上运行。许多进程可能处于就绪和等待状态。
进程操作
在进程上执行的两个主要操作如下:
进程创建
进程终止
现在让我们看看进程终止。
进程终止
当进程完成其最终语句的执行并使用 exit() 系统调用请求操作系统删除它时。
此时,进程可以使用 wait() 系统调用将其状态值返回给其父进程。
操作系统将释放进程的所有资源,包括物理和虚拟内存、打开的文件和 I/O 缓冲区。
进程终止的原因
进程可能终止其一个子进程执行的原因如下:
子进程超过其已分配的资源使用量。
分配给子进程的任务不再需要。
父进程正在退出,并且操作系统不允许子进程在其父进程终止后继续。
一些系统(包括 VMS)不允许子进程在其父进程终止后继续存在。在这些系统中,如果进程正常或异常终止,则其所有子进程都必须终止。这个概念被称为级联终止。
终止的原因
其他终止原因如下:
时间片到期 - 当进程执行未在时间量子内完成时,进程将从运行状态终止。CPU 选择就绪队列中的下一个作业来执行。
内存边界违规 - 如果进程需要的内存超过可用内存。
I/O 失败 - 当操作系统不提供 I/O 设备时,进程进入等待状态。
进程请求 - 如果父进程请求子进程终止。
无效指令
广告