NAME
程序 - 程序抽象化
概要
「Zircon 程序」是指傳統上一個程式的執行個體:一組由一或多個執行緒執行的指示,以及一組資源。
說明
處理程序物件是下列資源的容器:
一般來說,它與程式碼相關聯,該程式碼會執行,直到強制終止或程式結束為止。
程序由「工作」所有,允許由多個程序組成的應用程式,無論是資源與權限限制,還是生命週期控制,都可視為單一實體。
詳情請參閱程序總覽。
Lifetime
程序是透過 zx_process_create()
建立,執行作業的開始時間則是 zx_process_start()
。
處理程序會在下列情況停止執行:
- 最後一個執行緒已終止或離開
- 程序呼叫
zx_process_exit()
- 父項工作就會終止程序
- 父項工作也會遭到刪除
無法向 zx_process_start()
發出兩次呼叫。無法將新執行緒新增至已開始的處理程序,然後結束其最後一個執行緒。
音效
zx_process_create()
- 在工作中建立新的程序zx_process_read_memory()
- 讀取程序的位址空間zx_process_start()
- 導致啟動新程序zx_process_write_memory()
- 寫入程序的位址空間zx_process_exit()
:結束目前的程序
zx_job_create()
- 在父項工作中建立新工作
zx_task_create_exception_channel()
- 監聽工作例外狀況
zx_vmar_map()
- 將記憶體對應至位址空間範圍zx_vmar_protect()
- 變更位址空間範圍的權限zx_vmar_unmap()
- 取消對應位址空間範圍的記憶體