(1) Linux系统中断
1.软中断是执行中断指令产生的,而硬中断是由外设引发的。
2.硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。
3.硬中断是可屏蔽的,软中断不可屏蔽。 硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间。
硬中断:
外设QAQ
举个例子,网卡缓存接受到报文数据,DMA将数据直接拷贝到内核页缓存上,这时会触发中断程序。 (后续会跟IO多路复用有关)
软中断:
指的是,当CPU执行代码指令的时候,发生异常,比如/0,就会触发中断程序。
举个例子,0x80中断,执行系统调用(system call)就是通过0x80中断执行的。