2014-05-24 46 views

回答

1

系統調用是應用程序( 「用戶模式」)和內核之間的方式,你過渡

系統調用比正常的函數調用要慢,但Intel和AMD的新x86芯片有一個特殊的sysenter/syscall操作碼,使它只需要幾百納秒左右的時間。

+0

你可否詳細說明在內核空間內進行系統調用的方式嗎?爲了更好地理解用C和彙編編寫的Linux內核。 – Leo

0

@Leo,

你能否闡述一下從內核空間內進行的,當系統調用如何變化?爲了更好地理解用C語言編寫的Linux內核和程序集

注意,系統調用只是用戶空間和內核空間之間的一個接口。當你需要一些計算機資源(文件,網絡......)時,你要求內核給你(在內核中你要求內核運行內核代碼,這是它的責任)。

系統調用的開銷是您需要執行CPU中斷。正如Will提到的那樣,時間取決於CPU類型。

+0

你可以在這裏找到更多細節:https://stackoverflow.com/questions/12658263/how-quick-can-the-processor-handle-the-interrupts – dshil

相關問題