中斷函數原理?
中斷工作原理:計算技術里中斷過程,就是主芯片的外部信號或內部信號,中斷了該芯片正在執行的程序,主芯片轉而處理由該信號引發的其他程序,結束后再回到中斷的“斷點”,繼續執行原有程序。
二、什么是硬中斷?
顯然,外圍硬件發給CPU或者內存的異步信號就是硬中斷信號。簡言之:外設對CPU的中斷
三、什么是軟中斷?
由軟件本身發給操作系統內核的中斷信號,稱之為軟中斷。通常是由硬中斷處理程序或進程調度程序對操作系統內核的中斷,也就是我們常說的系統調用(System Call)了。
四、硬中斷與軟中斷之區別與聯系
1. 硬中斷是有外設硬件發出的,需要有中斷控制器之參與。其過程是外設偵測到變化,告知中斷控制器,中斷控制器通過CPU或內存的中斷腳通知CPU,然后硬件進行程序計數器及堆棧寄存器之現場保存工作(引發上下文切換),并根據中斷向量調用硬中斷處理程序進行中斷處理。
2. 軟中斷則通常是由硬中斷處理程序或者進程調度程序等軟件程序發出的中斷信號,無需中斷控制器之參與,直接以一個CPU指令之形式指示CPU進行程序計數器及堆棧寄存器之現場保存工作(亦會引發上下文切換),并調用相應的軟中斷處理程序進行中斷處理(即我們通常所言之系統調用)。
3. 硬中斷直接以硬件的方式引發,處理速度快。軟中斷以軟件指令之方式適合于對響應速度要求不是特別嚴格的場景。
4. 硬中斷通過設置CPU的屏蔽位可進行屏蔽,軟中斷則由于是指令之方式給出,不能屏蔽。
5. 硬中斷發生后,通常會在硬中斷處理程序中調用一個軟中斷來進行后續工作的處理。
6. 硬中斷和軟中斷均會引起上下文切換(進程/線程之切換),進程切換的過程是差不多的