2015-08-27 41 views
0

所以我知道操作系統調用是要求操作系統接收某種類型的資源。我不知道的是操作系統調用是否是一箇中斷?還是所有的操作系​​統調用中斷?我知道一個設備會中斷某個資源的操作系統,但操作系統調用只是來自程序的指令而不是中斷?或者是一箇中斷只是一個特殊的指令?操作系統調用中斷嗎?

回答

0

系統調用只是調用操作系統提供的函數;它可能會中斷一個系統進程,但這對用戶來說是不可見的。從程序的角度來看,與調用任何其他函數沒有區別。

中斷是一箇中斷程序中正常程序流的事件;通常它們是由操作系統生成的。一箇中斷可以被你的程序捕獲,或者,如果你不編程一個處理程序來捕獲它,它可以通過父進程提供的處理程序。

+0

是一個系統調用同樣的事,作爲一個操作系統調用謝謝你非常有趣 –

+0

是的,他們是同義詞。 –

0

'中斷'是那些嚴重超載的單詞之一,它越來越糟。

中斷用於表示來自某個外設的「真實」硬件中斷 - 拖拽CPU封裝上的中斷請求引腳,導致硬件在中斷處理時跳轉到預編程的位置,通常在當前機器指令的執行結束。

其他語言已將'中斷'用於其他目的,例如。 Java:'中斷表示線程應該停止它正在做的事情並做其他事情。'相關,但不一樣。

在OS類中,'中斷'是操作系統的一個改變保護級別的入口,例如。進入內核狀態。這可能發生在用戶系統調用或從硬件中斷輸入的驅動程序中,這兩種操作都稱爲「中斷」。用戶級系統調用可能會或可能不會使用模仿硬件中斷的「軟件中斷」機制。

無論如何,現在正在等待下一次超載導致更多混淆。

我聽說,「靜態」目前在C++另一個含義:((