软中断和信号是什么关系?

其实“软中断”(software interrupts)有两种并不等价的含义:一种是通过显式调用int指令触发的,它是相对于硬中断来说的;另一种就是*nix里的信号(signal)的别名。一般来说这两种东西并没有什么联系。前者基本上纯由CPU等硬件在处理,跟操作系统没什么关系,中断处理程序映射表(中断向量表)除外。而signal机制完全由操作系统通过代码实现,跟硬件关系也不大。当然,不排除操作系统内核中会有一些场景,强行将中断(包括硬中断和软中断)联系起来。比如SIGINT信号就是由键盘中断触发的。

已经很好的告诉你了么。信号就是操作系统层进行的中断处理啊。
信号是软件中断的一种,
但是不是所有的软件中断都是信号。

你可能感兴趣的:(软中断和信号是什么关系?)