Zircon进程对象
概要
一个Zircon进程就是一个程序的实例:一个或者多个线程的指令执行以及一系列的资源。
描述
进程对象是以下资源的一个集合:
一般来说,进程是一系列关联代码的执行直到进程被强制终止或者进程主动退出。
进程属于作业,它可以在资源、权限和生命周期控制的角度将多个进程组合为一个应用程序。
生命周期
一个进程通过 sys_process_create()
系统调用来创建,这个调用没有参数;当主线程终止或者最后一个句柄被关闭时(⚠ 未实现),进程进入终止状态。
下一步, 主程序代码通过 sys_process_load()
加载进入进程,开始调用 sys_process_start()
开始执行。
系统调用
- process_create - 在作业内创建一个新的进程
- process_read_memory - 从进程的地址空间中读取
- process_start - 触发一个进程的执行
- process_write_memory - 写入到进程的地址空间
- process_exit - 退出当前进程
- job_create - 在父作业内创建一个新的作业
- vmar_map - 在一个地址空间范围上映射内存
- vmar_protect - 在一个地址空间范围上修改权限
- vmar_unmap - 在一个地址空间范围上解除内存映射