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