什麼是系統呼叫機制?


系統呼叫機制是使用者程式請求核心服務的技術之一。系統呼叫始終為作業系統提供的服務提供介面。

讓我們看看如下所示的系統呼叫機制的逐步解釋:

步驟 1 - 在使用者模式下執行使用者程式的程序想要執行讀取檔案指令,它必須執行陷阱指令以將控制權轉移到作業系統。

步驟 2 - 系統呼叫中的讀取操作有三個引數,如下所示:

  • 指定檔案。

  • 指向緩衝區。

  • 給出要讀取的位元組數。

步驟 3 - Count = read (fd, buffer, nbytes);

步驟 4 - 首先將引數壓入堆疊。

步驟 5 - 在上一步(步驟 4)中呼叫庫程式。

步驟 6 - 庫程式通常是用匯編語言編寫的,它將系統呼叫號放在作業系統期望的位置,例如暫存器(步驟 5)。

步驟 7 - 然後為了從使用者模式切換到核心模式並在核心中的固定地址開始執行(步驟 6),它執行 TRAP 指令。

步驟 8 - 核心程式碼開始執行 TRAP,檢查系統呼叫號,然後分派到正確的系統呼叫處理程式,通常透過一個系統呼叫處理程式指標表來完成,該表根據系統呼叫號進行索引(步驟 7)。

步驟 9 - 在這一點上,系統呼叫處理程式執行(步驟 8)。

步驟 10 - 完成工作後,控制權可能會返回到使用者空間庫程式,返回到 TRAP 指令後的指令(步驟 9)。

步驟 11 - 此程式然後以通常的過程呼叫返回方式返回使用者程式(步驟 10)。

以下是系統呼叫機制的圖示:

更新於:2021年11月29日

926 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.