什麼是程序管理系統呼叫?


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

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

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

系統呼叫的型別

不同的系統呼叫如下:

  • 程序管理系統呼叫

  • 檔案管理系統呼叫

  • 目錄管理系統呼叫

現在讓我們討論程序管理系統呼叫。

程序管理系統呼叫

系統用於建立新程序或稱為 fork 的重複程序。

重複程序包含檔案描述符和公共暫存器中的所有資料。原始程序也稱為父程序,重複程序稱為子程序。

fork 呼叫返回一個值,該值在子程序中為零,在父程序中等於子程序的 PID(程序識別符號)。像 exit 這樣的系統呼叫將請求終止程序的服務。

載入程式或使用副本更改原始映像需要執行 exec。Pid 將有助於區分子程序和父程序。

示例

Linux 中的程序管理系統呼叫。

  • fork − 用於從父程序建立重複程序。

  • wait − 程序應該等待其他程序完成其工作。

  • exec − 將選定的程式載入到記憶體中。

  • exit − 終止程序。

程序管理系統呼叫的圖形表示如下:

fork() − 父程序始終使用 fork 建立新的子程序。子程序通常被稱為父程序的副本。fork 執行後,父程序和子程序都在單獨的程序中執行相同的程式。

exec() − 此函式用於替換程序執行的程式。子程序有時可能在 fork 後使用 exec,以用新的程式可執行檔案替換程序記憶體空間,從而使子程序執行與父程序不同的程式。

exit() − 此函式用於終止程序。

wait() − 父程序使用 wait 函式暫停執行,直到子程序終止。使用 wait,父程序可以獲得已終止子程序的退出狀態。

更新於:2021年11月29日

17K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告