豫言操作系统底层进程〇点一点〇
状:草案,可选之能。汉语本见汉语版。通用之规,见[调用约定](../调用约定.文言.md);状态之码表,见[底层基础](../底层基础/规范.文言.md);管道、读写与等待,见[底层句柄](../底层句柄/规范.文言.md)。
范围
起一程序为子进程,取其退出码,必要时终之。子进程之标准流,以底层句柄之柄(含 建管道 所造之管道端)授之;候其退,用 等待(进程之柄“可读”即已退)。平台不能起进程,则诸函数皆返 58。
函数(进程。接口。豫)
| 函数 | 参 | 用 | | --- | --- | --- | | 运行程序 | 块址, 出 | 依块所载起进程,进程之柄四字节书于出址(类别 7);程序无则返 44,不可执行则返 2 | | 取进程退出码 | 句柄, 出 | 退出码四字节;进程未退则返 6 | | 终止进程 | 句柄 | 终进程;被终者之退出码,平台定之,垫层不宜倚其数 |
进程之柄,以 关闭 释之;闭柄不终进程。
运行程序之块
各字段四字节,小端;块首为块之大小,调用者书满四十四字节,被调者唯读其所识者:
| 偏移 | 字段 |
| --- | --- |
| 0 | 块之大小(首版为 44) |
| 4 | 路径址 |
| 8 | 路径长 |
| 12 | 参数块址(诸参各以零终,依次相连,含 argv[0],格式同 取参数块) |
| 16 | 参数块长 |
| 20 | 环境块址(「名=值」各以零终,依次相连;长为零,谓承本进程之环境) |
| 24 | 环境块长 |
| 28 | 标准入之柄(-1 谓承本进程之标准入) |
| 32 | 标准出之柄(-1 谓承) |
| 36 | 标准误之柄(-1 谓承) |
| 40 | 工作目录之柄(目录柄;-1 谓承) |
未决
- 路径之解与授权。起程序,本乃环境之权,与“相对目录柄、不越界”之文件模不同。首版由后端依本平台之规解路径(绝对路径,或相对工作目录之柄);是否受初始授权所约(如唯许运行预开目录内之程序),待定。
- 裸机。执行器今以“复制任务加装载新 Wasm 模块”为运行程序(唯能运
.wasm),内核唯二任务槽,一时唯一子进程。