軟中斷和硬中斷的區別

2022-08-21 23:18:11 字數 925 閱讀 9230

目錄硬中斷

1.由與系統相連的外設(比如網絡卡、硬碟)自動產生的。主要是用來通知作業系統系統外設狀態的變化。比如當網絡卡收到資料報

的時候,就會發出乙個中斷。我們通常所說的中斷指的是硬中斷(hardirq)。

2. 硬中斷是外部裝置對cpu的中斷;

3. 硬中斷是由硬體產生的,比如,像磁碟,網絡卡,鍵盤,時鐘等。每個裝置或裝置集都有它自己的irq(中斷請求)。基於irq,cpu可以將相應的請求分發到對應的硬體驅動上(注:硬體驅動通常是核心中的乙個子程式,而不是乙個獨立的程序)。

4. 處理中斷的驅動是需要執行在cpu上的,因此,當中斷產生的時候,cpu會中斷當前正在執行的任務,來處理中斷。在有多核心的系統上,乙個中斷通常只能中斷一顆cpu(也有一種特殊的情況,就是在大型主機上是有硬體通道的,它可以在沒有主cpu的支援下,可以同時處理多個中斷。)。

5. 硬中斷可以直接中斷cpu。它會引起核心中相關的**被觸發。對於那些需要花費一些時間去處理的程序,中斷**本身也可以被其他的硬中斷中斷。

6. 對於時鐘中斷,核心排程**會將當前正在執行的程序掛起,從而讓其他的程序來執行。它的存在是為了讓排程**(或稱為排程器)可以排程多工。

軟中斷差別

①硬中斷是由外部事件引起的因此具有隨機性和突發性;

軟中斷是執行中斷指令產生的,無面外部施加中斷請求訊號,因此中斷的發生不是隨機的而是由程式安排好的。

②硬中斷的中斷響應週期,cpu需要發中斷回合訊號(nmi不需要);

軟中斷的中斷響應週期,cpu不需發中斷回合訊號。

③硬中斷的中斷號是由中斷控制器提供的(nmi硬中斷中斷號系統指定為02h);

軟中斷的中斷號由指令直接給出,無需使用中斷控制器。

④硬中斷是可遮蔽的(nmi硬中斷不可遮蔽);

軟中斷不可遮蔽。

軟中斷 硬中斷 區別

from 軟中斷一般是指由指令int引起的 偽 中斷動作 給cpu製造乙個中斷的假象 而硬中斷則是實實在在由8259的連線觸發的中斷。因此,嚴格的講,int與irq毫無關係,但二者均與中斷向量有關係。int引起的中斷,cpu是從指令中取得中斷向量號 而irq引起的中斷,cpu必須從資料線上取回中斷號...

硬中斷和軟中斷

中斷是一種電訊號,當裝置有某種事件發生時,它就會產生中斷,通過匯流排把電訊號傳送給中斷控制器。如果中斷的線是啟用的,中斷控制器就把電訊號傳送給處理器的某個特定引腳。處理器於是立即停止自己正在做的事,跳到中斷處理程式的入口點,進行中斷處理。由與系統相連的外設 比如網絡卡 硬碟 自動產生的。主要是用來通...

硬中斷與軟中斷的區別!

硬中斷 軟中斷 問題解答 1.問 對於軟中斷,i o操作是否是由核心中的i o裝置驅動程式完成?答 對於i o請求,核心會將這項工作分派給合適的核心驅動程式,這個程式會對i o進行佇列化,以可以稍後處理 通常是磁碟i o 或如果可能可以立即執行它。通常,當對硬中斷進行回應的時候,這個佇列會被驅動所處...