這兩者有什麼重大區別?有沒有什麼可以在一個而不是另一箇中完成?在修改例如頁面錯誤處理程序而不是定時器處理程序時,我需要多加小心嗎?中斷和異常上下文有什麼區別?
11
A
回答
14
中斷是一種異步事件,通常由硬件(Ex,I/O)生成,與處理器指令執行不同步。異常是處理器在執行指令時檢測到任何預定義條件時生成的同步事件。
中斷處理程序可能會被另一箇中斷處理程序中斷等等。中斷處理程序可以推遲異常處理程序,但異常處理程序絕不會延遲中斷處理程序。內核模式唯一可能的例外是頁面錯誤。
中斷處理程序從不執行可能導致頁面錯誤並因此可能調度的操作。如果它們引起頁面錯誤,則意味着它是一個錯誤。
寫入/修改中斷處理程序時需要小心
2
中斷和異常都會改變程序流。 差異 之間的差異是中斷用於處理 外部事件 (串口,鍵盤)和異常用於處理指令 錯誤(除零,未定義的操作碼)。
中斷處理完成 當前 指令。如果在其中斷引腳上發現一個信號,它將在中斷表 中查找中斷處理程序的地址 ,並通過 進行例程控制。從中斷 處理程序 例程返回後,它將在 中斷指令之後的指令處繼續執行程序指令 。
另一方面的例外情況分爲三種。 這些是 故障,陷阱和中止。在發生故障指令之前, 處理器檢測並處理故障 。陷阱是 服務後 導致陷阱的說明。用戶定義的中斷 進入這個 類別,可以說是陷阱;例如,這包括MS- DOS INT 21h 軟件中斷。中止僅用於 信號嚴重 系統問題,當操作不再可能時。
Research at:http://www.allinterview.com/showanswers/14289.html
相關問題
- 1. 服務上下文和對象上下文有什麼區別?
- 2. 錯誤與異常有什麼區別?
- 3. Javascript中的錯誤和異常有什麼區別
- 4. 啓用中斷和恢復中斷有什麼區別?
- 5. 春天的父母上下文和子女上下文有什麼區別?
- 6. 上下文和命名空間有什麼區別?
- 7. current_app和g上下文變量有什麼區別?
- 8. ERD和上下文數據模型有什麼區別?
- 9. 有什麼區別`和$(Bash中有什麼區別?
- 10. 陷印和處理異常有什麼區別?
- 11. 拋出和拋出arg捕獲異常有什麼區別?
- 12. web.xml錯誤500和struts全局異常有什麼區別?
- 13. 投擲和投擲之間有什麼區別異常
- 14. ARM Cortex中的事件和中斷之間有什麼區別?
- 15. 異步私有和私有異步的區別是什麼?
- 16. React和Preact差異算法在深度上有什麼區別
- 17. 本機php異常和該文本返回的錯誤有什麼區別?
- 18. ==和===有什麼區別?
- 19. ==和===有什麼區別?
- 20. 有什麼區別? :和||
- 21. ==和===有什麼區別?
- 22. '=='和'==='有什麼區別?
- 23. `&`和`ref`有什麼區別?
- 24. 有什麼區別:。!和:r!?
- 25. | 0和~~有什麼區別?
- 26. Appender和〜有什麼區別?
- 27. io_submit和O_ASYNC文件有什麼區別
- 28. 文檔和DOM有什麼區別?
- 29. .out和.log文件有什麼區別
- 30. XIB和NIB文件有什麼區別?