UNIX系统中的软中断信号定义 信号号 信号含义 0 正常的程序终止 1 挂断(拆线) 2 中断(break、delete、C) 3 退出(FS字符,类似于break) 合法结构 5 跟踪陷进(被跟踪程序试图执行exec) 6 IOT结构 7 EMT结构 8 除浮点外 9 不可捕俘的k信号 10 总线错误 11 溢出(地址越界) 12 系统调用时自变量非法 13 输出给管道,但管道没有接受者 14 警告 15 kill信号 16 用户定义的信号1 17 用户定义的信号2 18 子进程的僵死不应该被捕俘,否则引起管道问题 19 掉电 其中2、3、15号信号是常由人工发出的软中断信号 11
信号号 信号含义 0 正常的程序终止 1 挂断(拆线) 2 中断(break、delete、^C) 3 退出(FS字符,类似于break) 4 合法结构 5 跟踪陷进(被跟踪程序试图执行exec) 6 IOT结构 7 EMT结构 8 除浮点外 9 不可捕俘的kill信号 10 总线错误 11 溢出(地址越界) 12 系统调用时自变量非法 13 输出给管道,但管道没有接受者 14 警告 15 kill信号 16 用户定义的信号1 17 用户定义的信号2 18 子进程的僵死不应该被捕俘,否则引起管道问题 19 掉电 UNIX系统中的软中断信号定义 其中 2、3、15 号信号是常由人工发出的软中断信号 11
5、软中断信号的标识 给一个进程发软中断信号时,核心在接收进程的核心进 程控制表proc中,按所要接收的信号类型设置软中断信号域 中的某一位。 当该接收进程睡眠在一个可被中断的优先级上时,核心 就唤醒该进程。 12
5、软中断信号的标识 给一个进程发软中断信号时,核心在接收进程的核心进 程控制表proc中,按所要接收的信号类型设置软中断信号域 中的某一位。 当该接收进程睡眠在一个可被中断的优先级上时,核心 就唤醒该进程。 12
6、检查软中断信号的时间 (1)当一个进程即将从核心态返回到用户态时: (2)当一个进程即将进入或退出一个较低调度优先级的 睡眠状态时。 7、处理软中断信号的时刻 仅当进程从核心态返回用户态时才处理软中断信号。 由于软中断信号主要由应用程序运行时发出,不是影 响系统正常运行的特别紧急事件,故不在核心态下处理 当进程在核心态下运行时,软中断信号并不立即起作用。 并且,核心也保证了进程在核心态下运行的时间不会 太长,能够保证进程能很快在从核心态返回用户态时,对可 能的软中断信号进行处理,从而确保对应用程序的响应时间 要求。 13
6、检查软中断信号的时间 (1)当一个进程即将从核心态返回到用户态时; (2)当一个进程即将进入或退出一个较低调度优先级的 睡眠状态时。 7、处理软中断信号的时刻 仅当进程从核心态返回用户态时才处理软中断信号。 由于软中断信号主要由应用程序运行时发出,不是影 响系统正常运行的特别紧急事件,故不在核心态下处理—— 当进程在核心态下运行时,软中断信号并不立即起作用。 并且,核心也保证了进程在核心态下运行的时间不会 太长,能够保证进程能很快在从核心态返回用户态时,对可 能的软中断信号进行处理,从而确保对应用程序的响应时间 要求。 13