Advertisement

进程在异常控制流中被中断

阅读量:

从电源接通至断开的整个过程中,程序计数器持续不断地进行指令的读取与执行操作。

p38 Physical control flow

最基础的一种控制流表现为一种“平滑”的序列,其中每个inst_kinst_{k+1}在存储器中均处于相邻位置。通常情况下,这种平滑流程的中断,即inst_kinst_{k+1}不再相邻,是由诸如跳转(jump)、调用(call)和返回(ret)等常见的程序指令所引发的。这些指令作为程序运行过程中不可或缺的机制,使得程序能够根据由内部变量所表示的内部程序状态的变化进行响应。
然而,系统同样需要对系统状态的变化作出反应,这些变化并不被内部程序变量所捕捉,并且也不一定与程序执行过程直接相关。例如,硬件定时器会周期性地生成信号,此类事件必须被处理;网络适配器接收到数据包后需将其存储至内存;当程序向磁盘请求数据后进入休眠状态,直到接收到数据就绪的通知;当子进程结束时,创建该子进程的父进程也应获得通知。
当代系统通过引入控制流中断来应对上述情况。通常而言,我们称这些中断为**异常控制流(Excepti

全部评论 (0)

还没有任何评论哟~