作業系統中中斷和輪詢的區別


作業系統充當硬體和應用程式之間的橋樑。CPU 是系統中處理所有系統任務的部分。有時會出現需要中斷當前正在執行的任務並快速採取行動的情況。因此,在作業系統中,有兩種方法,即中斷輪詢來處理此類事件。在中斷和輪詢中,CPU 都暫停其正在執行的操作,並執行一項基本任務。

中斷和輪詢在許多方面都截然不同。在本文中,我們將討論中斷和輪詢之間的一些重要區別。

什麼是中斷?

向 CPU 發出的需要立即採取行動的訊號稱為中斷。因此,中斷是一個過程,透過該過程通知 CPU 需要關注。中斷被視為硬體機制。中斷需要作業系統停止並確定下一步該做什麼。

每當發生中斷時,CPU 都會停止執行當前程式。然後,它進入中斷處理程式或中斷服務例程的控制。中斷有兩種型別:硬體中斷軟體中斷

由外部裝置和 I/O 裝置生成並中斷 CPU 的中斷訊號稱為硬體中斷。另一方面,由內部裝置和軟體程式產生的中斷訊號稱為軟體中斷。中斷減少了 CPU 的空閒時間。

什麼是輪詢?

CPU 不斷檢查裝置狀態以檢視它是否需要 CPU 注意的過程稱為輪詢。它基本上是一種協議,其中 CPU 為 I/O 裝置提供服務。因此,輪詢是定期檢查裝置狀態以檢視下一個 I/O 操作是否到來的過程。

大多數情況下,裝置不需要持續的關注,而當一個裝置需要時,它必須等到輪詢程式下次詢問它。結果,CPU 的大部分時間都浪費在不必要的輪詢上。因此,這是一種效率低下的方法。

中斷和輪詢的區別

下表重點介紹了作業系統中斷和輪詢之間所有重要的區別:

中斷 輪詢
中斷是一個過程,透過該過程通知 CPU 需要關注。 輪詢是 CPU 不斷檢查裝置狀態以檢視它是否需要 CPU 注意的過程。
它被視為硬體機制。 它是一種協議。
中斷處理程式為裝置提供服務/與裝置配合使用。 在此協議中,CPU 為裝置提供服務。
中斷請求線指示裝置需要服務。 命令就緒位指示裝置需要服務。
僅當裝置需要服務時才使用 CPU。 CPU 需要等待並檢查裝置是否需要服務。
中斷節省了 CPU 週期。 輪詢浪費了許多 CPU 週期。
中斷可能在任何時間點發生。 CPU 定期輪詢裝置。
如果裝置頻繁中斷 CPU,它會變得效率低下。 當 CPU 很少找到一個準備就緒的裝置時,輪詢會變得效率低下。

結論

您應該注意的最重要的區別是,中斷被視為硬體機制,而輪詢是一種協議,其中處理器不斷檢查裝置的狀態。

更新於: 2022-12-01

14K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告