什麼是系統呼叫?


系統呼叫提供了使用者程式和作業系統之間的介面。它表示如下:

當用戶想要向作業系統發出指令時,它將透過系統呼叫來實現。或者,使用者程式可以透過系統呼叫訪問作業系統的核心部分。

它是一種程式化方式,計算機程式透過它向作業系統核心請求服務。

程式以兩種模式執行,如下所示:

  • 使用者模式 - 無法訪問任何硬體資源,只能執行使用者操作。

  • 核心模式 - 可以訪問硬體資源,例如 RAM、印表機。

計算機中的處理器根據處理器上執行的程式碼型別在兩種模式之間切換。

在使用者模式下執行的程序無法訪問為作業系統保留的虛擬地址。當作業系統執行使用者應用程式(例如處理文字編輯器)時,系統處於使用者模式。

當應用程式請求作業系統的幫助或發生中斷或系統呼叫時,就會發生從使用者模式到核心模式的轉換。在使用者模式下,模式位設定為 1。當程式需要任何硬體資源時,它需要向核心發出呼叫。

透過系統呼叫,程式將切換到核心。它將與核心模式下的硬體資源一起發生。在編譯硬體資源的工作完成後,它將再次返回到使用者模式。只有當它需要硬體時,它才會進入核心模式。

出於安全原因,使用者應用程式無法訪問硬體資源,當它們需要執行任何 I/O 或需要一些記憶體時,它會請求作業系統中的一個。此請求是透過系統呼叫發出的。

更新於:2021年11月29日

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告