信号是软件中断。很多比较重要的应用程序都需处理信号。信号提供了一种处理异步事件的方法,例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早终止管道中的下一个程序。

UNIX系统的早期版本就已经提供信号机制,但是这些系统(如V7)所提供的信号模型并不可靠。信号可能丢失,而且在执行临界区代码时,进程很难关闭所选择的信号。4.3BSD 和 SVR3对信号模型都做了更改,增加了可靠信号机制。但是Berkeley和AT&T所做的更改之间并不兼容。幸运的是,POSIX.1对可靠信号例程进行了标准化,这正是本章所要说明的。

本章先对信号机制进行综述,并说明每种信号的一般用法。然后分析早期实现的问题。在分析存在的问题之后再说明解决这些问题的方法,这种安排有助于加深对改进机制的理解。本章也包含了很多并非完全正确的实例,这样做的目的是为了对其不足之处进行讨论。

results matching ""

    No results matching ""