linux中断信号命令 linux中断发送信号给进程( 二 )


tasklet的特点和注意事项:
工作队列的特点和注意事项:
Linux几种中断信号的区别:HUP , INT,KILL,TERM,TSTPLinux的HUP,INT,KILL,TERM,TSTP中断信号区别为:键入不同、对应操作不同、启用不同 。
一、键入不同
1、HUP中断信号:HUP中断信号是当用户键入Ctrl+X时由终端驱动程序发送的信号 。
2、INT中断信号:INT中断信号是当用户键入Ctrl+I时由终端驱动程序发送的信号 。
3、KILL中断信号:KILL中断信号是当用户键入Ctrl+Z时由终端驱动程序发送的信号 。
4、TERM中断信号:TERM中断信号是当用户键入Ctrl+ \时由终端驱动程序发送的信号 。
5、TSTP中断信号:TSTP中断信号是当用户键入Ctrl+T时由终端驱动程序发送的信号 。二、对应操作不同
1、HUP中断信号:HUP中断信号的对应操作为让进程挂起 , 睡眠 。
2、INT中断信号:INT中断信号的对应操作为正常关闭所有进程 。
3、KILL中断信号:KILL中断信号的对应操作为强制关闭所有进程 。
4、TERM中断信号:TERM中断信号的对应操作为正常的退出进程 。
5、TSTP中断信号:TSTP中断信号的对应操作为暂时停用进程 。
三、启用不同
1、HUP中断信号:HUP中断信号发送后,可以重新被用户再次输入恢复启用进程 。
2、INT中断信号:INT中断信号发送后,不可以重新被用户再次输入恢复启用进程 。
3、KILL中断信号:KILL中断信号发送后 , 不可以重新被用户再次输入恢复启用进程 。
4、TERM中断信号:TERM中断信号发送后,可以重新被用户再次输入启用进程 。
5、TSTP中断信号:TSTP中断信号发送后,可以重新被用户再次输入继续使用进程 。
Linux中断补充在系统结构中,CPU工作的模式有两种,一种是中断,由各种设备发起linux中断信号命令;一种是轮询,由CPU主动发起 。
中断IRQ:
中断允许让设备(如键盘,串口卡,并口等设备)表明它们需要CPU 。一旦CPU接收了中断请求,CPU就会暂时停止执行正在运行的程序,并且调用一个称为中断处理器或中断服务程序(interrupt service routine)的特定程序 。CPU处理完中断后 , 就会恢复执行之前被中断的程序 。
中断分类linux中断信号命令:
硬中断+软中断
硬中断:
①非屏蔽中断:不能被屏蔽 , 硬件发生的错误:内存错误,风扇故障,温度传感器故障等 。
②可屏蔽中断:可被CPU忽略或延迟处理 。当缓存控制器的外部针脚被触发的时候就会产生这种类型的中断,而中断屏蔽寄存器就会将这样的中断屏蔽掉 。linux中断信号命令我们可以将一个比特位设置为0,来禁用在此针脚触发的中断 。
软中断:
是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断 。
CPU之间的中断处理(IPI)
处理器间中断允许一个CPU向系统其他的CPU发送中断信号,处理器间中断(IPI)不是通过IRQ线传输的 , 而是作为信号直接放在连接所有CPU本地APIC的总线上 。
CALL_FUNCTION_VECTOR (向量0xfb)
发往所有的CPU , 但不包括发送者,强制这些CPU运行发送者传递过来的函数,相应的中断处理程序叫做call_function_interrupt(),例如,地址存放在群居变量call_data中来传递的函数,可能强制其他所有的CPU都停止,也可能强制它们设置内存类型范围寄存器的内容 。通常,这种中断发往所有的CPU,但通过smp_call_function()执行调用函数的CPU除外 。
RESCHEDULE_VECTOR (向量0xfc)

推荐阅读