软中断和硬中断
硬中斷:由與系統(tǒng)相連的外設(shè)(比如網(wǎng)卡、硬盤(pán))自動(dòng)產(chǎn)生的。主要是用來(lái)通知操作系統(tǒng)系統(tǒng)外設(shè)狀態(tài)的變化。比如當(dāng)網(wǎng)卡收到數(shù)據(jù)包的時(shí)候,就會(huì)發(fā)出一個(gè)中斷
軟中斷:
2.為了滿足實(shí)時(shí)系統(tǒng)的要求,中斷處理應(yīng)該是越快越好。linux為了實(shí)現(xiàn)這個(gè)特點(diǎn),當(dāng)中斷發(fā)生的時(shí)候,硬中斷處理那些短時(shí)間就可以完成的工作,而將那些處理事件比較長(zhǎng)的工作,放到中斷之后來(lái)完成,也就是軟中斷(softirq)來(lái)完成
差別
①硬中斷是由外部事件引起的因此具有隨機(jī)性和突發(fā)性;
軟中斷是執(zhí)行中斷指令產(chǎn)生的,無(wú)面外部施加中斷請(qǐng)求信號(hào),因此中斷的發(fā)生不是隨機(jī)的而是由程序安排好的。
②硬中斷的中斷響應(yīng)周期,CPU需要發(fā)中斷回合信號(hào)(NMI不需要);
軟中斷的中斷響應(yīng)周期,CPU不需發(fā)中斷回合信號(hào)。
③硬中斷的中斷號(hào)是由中斷控制器提供的(NMI硬中斷中斷號(hào)系統(tǒng)指定為02H);
軟中斷的中斷號(hào)由指令直接給出,無(wú)需使用中斷控制器。
④硬中斷是可屏蔽的(NMI硬中斷不可屏蔽);
軟中斷不可屏蔽。
總結(jié)
- 上一篇: 常见mysql性能优化方法
- 下一篇: socket什么情况下可读