作業系統中的程序建立與程序終止
程序建立和程序終止分別用於建立和終止程序。詳細資訊如下:
程序建立
系統中可以為不同的操作建立程序。導致程序建立的一些事件如下:
- 使用者請求建立程序
- 系統初始化
- 批處理作業初始化
- 執行程序執行程序建立系統呼叫
一個程序可以使用fork()建立另一個程序。建立程序稱為父程序,建立的程序稱為子程序。一個子程序只能有一個父程序,但一個父程序可以有多個子程序。父程序和子程序擁有相同的記憶體映像、開啟的檔案和環境字串。但是,它們具有不同的地址空間。
下圖演示了使用fork()建立程序:
程序終止
當程序終止時,程序終止發生。大多數作業系統使用exit()系統呼叫來終止程序。
程序終止的一些原因如下:
- 程序在其執行自然完成之後可能會終止。此程序離開處理器並釋放其所有資源。
- 如果其父程序請求終止,則子程序可能會終止。
- 如果程序嘗試使用它無權使用的資源,則可以終止該程序。例如:嘗試寫入只讀檔案會導致程序終止。
- 如果程序發生I/O錯誤,則可以終止該程序。例如:如果程序需要印表機並且印表機無法工作,則該程序將被終止。
- 在大多數情況下,如果父程序終止,則其子程序也終止。這是因為子程序無法在沒有父程序的情況下存在。
- 如果程序需要的記憶體超過系統當前可用的記憶體,則由於記憶體不足而終止該程序。
廣告