2015-04-01 24 views
1

我正在學習操作系統,我遇到了兩個術語ISR和中斷處理程序。他們是同一種機制的兩個詞嗎?如果不是,有什麼區別?ISR和中斷處理程序有區別嗎?

+3

ISR - >中斷服務路由。它與中斷處理程序相同。 – 2015-04-01 21:49:25

回答

4

中斷處理程序和ISR沒有區別。
Wiki說:

在計算機系統編程,中斷處理程序,也被稱爲中斷服務例程或ISR,是一個回調函數[...]

+0

我需要刪除這個答案 – xsami 2015-04-01 21:53:49

+0

我想有人會報告我,我不想鬆散點:第。所以我真的很害怕我的回答 – xsami 2015-04-01 21:58:28

+1

@haccks,我想xsami是指他/她的評論。似乎他們不瞭解評論和答案之間的區別以及發佈內容的位置。 – 2015-04-01 22:01:18

1

ISR被針對與設備/操作/源相關的特定服務的回調。系統中可能存在多個ISR,具體取決於中斷向量表中可用的地址。中斷處理程序是一個常見的例程,它在任何中斷髮生時都會觸發。它的工作是瞭解中斷的來源並觸發在中斷向量表中映射的適當的ISR。

1

在正常執行計算機程序期間,可能會有事件導致CPU暫時中止。像這樣的事件被稱爲中斷。中斷可能由軟件或硬件故障引起。硬件中斷被稱爲(簡單地)中斷,而軟件中斷稱爲異常或陷阱。一旦產生了中斷(軟件或硬件),控制就會轉移到一個稱爲ISR(中斷服務程序)的特殊子程序中,該子程序可以處理由中斷引發的條件。

如上所述,術語中斷通常保留給硬件中斷。它們是由外部硬件事件引起的程序控制中斷。這裏,CPU外部的外部裝置。硬件中斷通常來自許多不同的來源,如定時器芯片,外圍設備(鍵盤,鼠標等),I/O端口(串行,並行等),磁盤驅動器,CMOS時鐘,擴展卡(聲卡,視頻卡等)。這意味着硬件中斷幾乎不會發生,因爲某些與執行程序相關的事件。例如,用戶在鍵盤上按鍵或內部硬件定時器超時等事件可能引發此類中斷,並可通知CPU某些設備需要注意。在這種情況下,CPU會停止正在執行的任何操作(即暫停當前程序),提供設備所需的服務並返回到正常程序。 ISR:

可以 保存在棧上的PC,標誌和登記,並禁止所有中斷並裝入ISR的地址的程序的執行過程中的任何時候發生的異步事件 ISR不能有參數,可以被傳遞給它 不能返回值 激活中斷 一般小,因爲他們正在採取一些其他過程的時間 一些ISR都擁有自己的堆棧 https://www.youtube.com/SaqibJaved

相關問題