1.计算机信号的特点
\qquad简单;不能携带大量信息;满足某个特设条件才发送
2.信号的机制
\qquadA与B两个进程,A向B发送一个信号,此时B进程正在执行自己的程序,在收到信号时,会暂停程序的执行,先处理信号,处理完毕后,再继续处理程序。因为信号时软件层面实现的中断,所以被称为“软中断”。
3.信号的特质
\qquad由于信号都是通过软件方法实现,其实施手段导致信号有很强的延时性。但对于用户来说,时间其实非常短,并不易察觉。每个进程收到的信号,其实都是由内核发送的,内核处理。
4.与信号相关的事件和状态
\qquad产生信号:(1)ctrl+c
ctrl+z
ctrl+\
:出杀死进程的信号
;(2)系统调用产生:kill
,raise
,abort
(3)软件条件产生:定时器alarm
(4)硬件异常产生:非法访问内存(段错误);除0;内存对齐错误(5)命令产生,如kill命令
5.信号相关概念
\qquad递达:递送并且到达状态
\qquad未决:产生和递达之间的状态。主要由于阻塞(屏蔽)导致该状态。
\qquad信号的处理方式:执行默认动作;忽略(舍弃);捕捉(调用户处理函数)
\qquad阻塞态:当信号未被马上递送,进行递达,处于阻塞或者屏蔽状态。我们常用阻塞信号集(信号屏蔽字)这么一个集合来描述这种状态。
6.信号屏蔽字和未决信号集
\qquad未决信号集:在信号产生到信号递达之间的状态,若无阻塞,未决状态极短;信号屏蔽字:因为某种原因,信号被阻塞的状态。