2012-03-14 54 views
0

這是編寫中斷處理程序時的準則之一: 處理程序無法調用除了InterruptDisable(),InterruptEnable(),InterruptLock(),InterruptMask (),InterruptUnlock()和InterruptUnmask()。 爲什麼不能包含sys調用?爲什麼中斷服務程序不能包含大多數系統調用

+0

[This answer](http://stackoverflow.com/a/9442579/968261)應該給你一個想法,爲什麼。 – 2012-03-14 04:18:35

+0

可能的重複[什麼都不能在中斷服務程序?](http://stackoverflow.com/questions/9442463/what-all-cant-be-there-in-an-interrupt-service-routine) – 2012-03-14 21:35:55

回答

0

原因是中斷可能隨時發生;它可能在執行另一個操縱內核數據結構的系統調用時發生;因此,這是確保互斥的必要條件。如果您進行系統調用,則可能會破壞數據結構。

相關問題