作業系統中中斷和輪詢的區別
作業系統充當硬體和應用程式之間的橋樑。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 很少找到一個準備就緒的裝置時,輪詢會變得效率低下。 |
結論
您應該注意的最重要的區別是,中斷被視為硬體機制,而輪詢是一種協議,其中處理器不斷檢查裝置的狀態。
廣告