我正在學習操作系統,我遇到了兩個術語ISR和中斷處理程序。他們是同一種機制的兩個詞嗎?如果不是,有什麼區別?ISR和中斷處理程序有區別嗎?
1
A
回答
4
1
ISR被針對與設備/操作/源相關的特定服務的回調。系統中可能存在多個ISR,具體取決於中斷向量表中可用的地址。中斷處理程序是一個常見的例程,它在任何中斷髮生時都會觸發。它的工作是瞭解中斷的來源並觸發在中斷向量表中映射的適當的ISR。
1
在正常執行計算機程序期間,可能會有事件導致CPU暫時中止。像這樣的事件被稱爲中斷。中斷可能由軟件或硬件故障引起。硬件中斷被稱爲(簡單地)中斷,而軟件中斷稱爲異常或陷阱。一旦產生了中斷(軟件或硬件),控制就會轉移到一個稱爲ISR(中斷服務程序)的特殊子程序中,該子程序可以處理由中斷引發的條件。
如上所述,術語中斷通常保留給硬件中斷。它們是由外部硬件事件引起的程序控制中斷。這裏,CPU外部的外部裝置。硬件中斷通常來自許多不同的來源,如定時器芯片,外圍設備(鍵盤,鼠標等),I/O端口(串行,並行等),磁盤驅動器,CMOS時鐘,擴展卡(聲卡,視頻卡等)。這意味着硬件中斷幾乎不會發生,因爲某些與執行程序相關的事件。例如,用戶在鍵盤上按鍵或內部硬件定時器超時等事件可能引發此類中斷,並可通知CPU某些設備需要注意。在這種情況下,CPU會停止正在執行的任何操作(即暫停當前程序),提供設備所需的服務並返回到正常程序。 ISR:
可以 保存在棧上的PC,標誌和登記,並禁止所有中斷並裝入ISR的地址的程序的執行過程中的任何時候發生的異步事件 ISR不能有參數,可以被傳遞給它 不能返回值 激活中斷 一般小,因爲他們正在採取一些其他過程的時間 一些ISR都擁有自己的堆棧 https://www.youtube.com/SaqibJaved
相關問題
- 1. ISR中斷服務程序和傳統代碼有什麼區別?
- 2. 消息處理程序和命令處理程序之間有區別嗎?
- 3. 如何在Mspgcc中聲明一箇中斷處理程序(ISR)?
- 4. Function Callback和ISR有什麼區別?
- 5. 線程和處理程序有什麼區別
- 6. 程序集編程和中斷處理
- 7. 發佈工具和索引處理程序有什麼區別?
- 8. click事件處理程序和ngClick指令有什麼區別?
- 9. Linux分頁和中斷處理程序
- 10. 在中斷處理程序
- 11. MassTransit中處理程序和消費者之間的區別
- 12. JavaScript - 事件處理程序和偵聽程序有什麼區別?
- 13. 線程處理中的looper和while循環有什麼區別?
- 14. 遠程處理中CAO和SAO有什麼區別?
- 15. ISR,DPC和處理器緩存
- 16. 處理中斷的程序,即中斷處理程序存儲在哪裏?
- 17. 靜態事件處理程序和非靜態事件處理程序之間有什麼區別
- 18. Meteor.js中模板幫助程序和模板事件處理程序的區別
- 19. Android中的事件處理程序和事件監聽器有什麼區別?
- 20. 處理器(CPU)和微處理器有什麼區別?
- 21. 模塊處理和多處理有什麼區別?
- 22. axd和ashx處理程序之間的區別
- 23. 事件處理程序和回調函數之間的區別
- 24. 如何識別運行中斷處理程序的核心?
- 25. 更改運行中斷處理程序的優先級級別?
- 26. 網絡服務和遠程處理有什麼區別?
- 27. ^2和^ 2L有區別嗎?
- 28. MsgBox和MessageBox.Show有區別嗎?
- 29. _xx.html和xx.html有區別嗎?
- 30. gluLookAt()和glFrustum()有區別嗎?
ISR - >中斷服務路由。它與中斷處理程序相同。 – 2015-04-01 21:49:25