Advertisement

进程如何管理异常以终止流程

阅读量:

进程—异常控制流之故障、终止篇


一、Exceptions(异常) and System Call(系统调用)
1.1 故障

由异常状况所引发的故障,有可能通过故障处理程序加以解决。一旦出现此类故障,处理器会将控制权交由相应的处理程序进行处理。若该处理程序能够成功修正所发生的异常状况,则会将控制权重新交还至触发故障的指令位置,并再次执行该指令。反之,若无法修正,则处理程序将控制权传递至内核中的abort 例程,该例程将会终止导致故障的应用程序。

这里写图片描述

故障处理机制。依据故障是否具备可修复性,处理流程将采取两种方式:一是重新执行触发故障的指令,二是直接终止当前操作。

一个典型的故障情形为缺页异常。当某条指令访问了一个虚拟地址,而该地址所对应的物理页面并未存储于内存中时,系统将触发缺页异常。此时,缺页处理程序会从磁盘中加载所需的页面,并将控制权交还给引发异常的指令。当该指令再次执行时,相应的物理页面已加载至内存中,从而使得指令能够顺利完成而不再产生异常。

![p71 page fault](https://cd

全部评论 (0)

还没有任何评论哟~