2011-01-27 284 views
0

根據我的理解,陷阱和中斷之間的基本區別是陷阱是同步的,並且由異常(div除零等)生成,而中斷是異步的(多個設備可能嘗試在同一時間,雖然誰贏得比賽是首先獲得鎖定到工作隊列的人)。有兩種類型的中斷:硬件和軟件。硬件檢測到零異常異常,因此可作爲硬件陷阱的示例。軟件陷阱vs硬件陷阱

我在這裏有兩個問題。

  1. 我對這些方案的理解是否正確,是否還有其他差異?
  2. 有沒有一種叫做軟件陷阱的東西?如果是這樣,一個例子會有所幫助!

回答

4

syscall指令可被視爲軟件陷阱。它會導致陷阱/中斷處理的所有元素(上下文切換到執行完全特權的中斷服務例程),但會在軟件控制下觸發。

因爲屏蔽和取消屏蔽同步發生,所以中斷也不完全是異步的。因此,雖然沒有兩個異步事件可以完全同時發生,但是多箇中斷可以完全同時被解除屏蔽,在這種情況下,中斷優先級,而不是發生順序,控制服務順序。

+0

我一直在想象syscall是一個軟件中斷..出於一些奇怪的原因!你會舉什麼軟件中斷作爲例子? – 2011-01-27 22:47:44