姓名
process - 进程抽象
摘要
zircon 进程是传统意义上的程序实例:将由一个或多个线程执行的一组指令以及一组资源执行。
说明
进程对象是包含以下资源的容器:
通常,它与一直执行的代码相关联,直到代码被强制终止或程序退出。
进程由作业拥有,从资源和权限限制以及生命周期控制的角度来看,进程由多个进程组成的应用被视为单个实体。
如需了解详情,请参阅进程概览。
从始至终
进程通过 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()
- 从地址空间范围中取消映射内存