什麼是作業系統中的程序建立?


一個程序可以透過在程序執行期間建立程序系統呼叫來建立多個新程序。我們稱建立程序的程序為父程序,新程序為子程序。

每個新程序都會建立另一個程序,形成樹狀結構。它可以透過唯一的程序識別符號來識別,該識別符號通常表示為 pid,通常是一個整數。每個程序都需要一些資源,如 CPU 時間、記憶體、檔案、I/O 裝置來完成任務。

每當一個程序建立子程序時,每個子程序都能夠直接從作業系統或父程序的資源中獲取其資源。父程序需要在其所有子程序之間分配其資源,或者它可能能夠與多個子程序共享一些資源。

將子程序限制在父程序資源的子集中,可以防止任何程序透過建立過多子程序來過載系統。程序將在建立時獲取其資源。

讓我們考慮一個典型 Solaris 系統上的程序樹,如下所示:

每當一個程序建立新程序時,在執行方面有兩種可能性,如下所示:

  • 父程序繼續與其子程序併發執行。

  • 父程序等待其某些或所有子程序終止。

在新的程序的地址空間方面還有另外兩種可能性,如下所示:

  • 子程序是父程序的副本。

  • 子程序載入了一個新的程式。

更新於: 2021年11月29日

12K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.