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()- 取消對應位址空間範圍的記憶體