写字节原始
公开化「整数」而「有」
文言:执行器所倚之宿主原语,皆导入自“平台”模块。汉语:宿主(Node 夹具或裸机加载器)提供的平台导入:输出一字节、退出任务、读一字节(无则为负一)、时钟滴答,以及任务与邮箱服务(复制、等待、回收任务,发送、接收、等待消息,消息来源,任务状态、退出码)。裸机上它们被降级为内核服务。同一份执行器也在 Linux 与 macOS 上运行:每个原始原语先看平台号,原生系统上改走 Linux 系统调用或 macOS 的 libSystem(写、读、退出、clock_gettime);任务与邮箱服务在原生系统上尚未实现,按失败返回(待办事项:子进程改用底层接口的运行程序)。
退出任务原始
公开化「整数」而「有」
暂无说明。
读字节原始
公开化「有」而「整数」
暂无说明。
读字节
公开化「有」而「整数」
文言:读字节:标准入若已重定向于文件,则自其内容取,尽则返负二;否则取自控制台。汉语:读字节:标准输入被重定向到文件(状态_输入缓冲 非零,其内容是堆里的字节数组,长度在偏移 8、字节从偏移 16 起)时从那份内容里取,取尽返回 -2(文件结束;-1 仍表示控制台暂时没有输入);否则取自控制台。
时钟滴答
公开化「有」而「整数」
暂无说明。
墙钟秒
公开化「有」而「整数」
文言:墙钟:读硬件实时钟,得自一九七零年正月朔日子时起之秒数(三十二位无符号)。汉语:墙钟秒:内核服务 26,返回自 1970-01-01 00:00:00 UTC 起的秒数(三十二位无符号,至 2106 年);ARM64 读 PL031,AMD64 读 CMOS 时钟并换算。开机以来的单调时间仍用 时钟滴答。
中断查询
公开化「有」而「整数」
文言:中断:内核吞 Ctrl-C 而立标,此询之(读而清)。汉语:控制台中断。平台.中断查询(内核服务 27,见[控台输入])返回并清除内核记下的 Ctrl-C 标志(1 有 0 无);串口读到的 0x03 不会进入字节流。中断检查:见到标志时,子任务以退出码 130(128 + SIGINT,与 POSIX 相同)结束本任务,首任务(壳)则记进 状态_中断挂起,由正在读行的 读行核 取用;中断点:解释器在每次进入 Wasm 函数体与每次跳回循环头时调用,隔 4096 次才真正询问一次,所以死循环也会在几毫秒内被打断,而平时几乎不增加开销。
中断检查
公开化「有」而「有」
暂无说明。
中断点
公开化「有」而「有」
暂无说明。
复制任务
公开化「有」而「整数」
文言:任务之服务:复制、等待、回收。汉语:内核任务服务:复制任务(父得子号、子得零、败为负)、等待任务(阻塞至子退出,返其退出码)、回收任务(释放子任务槽)。
等待任务
公开化「整数」而「整数」
暂无说明。
回收任务
公开化「整数」而「整数」
暂无说明。
发送消息原始
公开化「整数」而化「整数」而「整数」
文言:邮箱之服务:一条整数之信,送、收、候、问来源;任务之状态与退出码。汉语:内核邮箱与任务查询服务:发送消息(目标句柄、值 → 0 成功 / -1 失败)、接收消息(非阻塞,空为 0)、消息来源(最近接收的发送者句柄,空为 -1)、等待消息(阻塞至有消息;对端已退出则空返回)、任务状态(位 4 表示已结束)、任务退出码。
发送消息重试
公开化「整数」而化「整数」而化「整数」而「整数」
文言:发送之重试:邮箱唯容一信,对端未取则送不出而返负一;对端得确认后每未及被调度,本任务已发下一信,故败则重试,试尽则记其目标而后径败。汉语:可靠发送:内核邮箱只有一条容量,对端还没取走上一条时 发送消息 返回 -1(“邮箱满”)。而对端刚被唤醒去取确认时往往还没被调度,本任务就已经要发下一条了(远程文件调用里紧接着的两次请求就是如此,二三十次里会撞上一次),所以发送失败时重试(最多二十万次,每次都进内核,时钟中断会让对端运行、取走消息);试尽仍失败,把目标记进 状态_发送失联(加 1),此后发往同一目标的消息立刻失败(对端已退出或无权限时不至于每条都空转);成功则清除该记录。
发送消息
公开化「整数」而化「整数」而「整数」
暂无说明。
接收消息
公开化「有」而「整数」
暂无说明。
消息来源
公开化「有」而「整数」
暂无说明。
等待消息
公开化「有」而「整数」
暂无说明。
任务状态
公开化「整数」而「整数」
暂无说明。
任务退出码
公开化「整数」而「整数」
暂无说明。
等确认
公开化「有」而「有」
文言:输出之捕获:子任务之出,三字节一信,送父任务而候其确认。汉语:捕获写字节:输出模式为三(子进程的输出被父任务捕获)时,字节先攒在 状态_待发字 里,满三个字节、遇换行或流(标准输出/标准错误)改变时,打成一条消息发给初始任务(句柄 0),再阻塞等它的确认,父任务由此得到限速的输出。发送失败(父任务已退出)则丢弃。
捕获冲刷
公开化「有」而「有」
暂无说明。
捕获写字节
公开化「整数」而「有」
暂无说明。
写字节
公开化「整数」而「有」
文言:写字节:子任务之输出被弃者(是子任务为二)不真写;被捕获者(为三)经邮箱送父任务。汉语:输出一字节:本任务是“输出被丢弃”的子任务(状态_是子任务 为 2)则什么也不做;是“输出被捕获”的子任务(为 3)则交给 捕获写字节;否则真写到控制台。
退出任务
公开化「整数」而「有」
暂无说明。