直至正文豫言

豫言操作系统总体架构

二〇二六年十月十三日修订。本篇书豫言操作系统今行之架构与既定之向。接口二层之逐条规范,以仓库根目录之 豫寓榫卯/ 与 豫寓底榫卯/ 为准;诸式之细,见篇末所列之提案与规范。白话本见汉语版。

一、要

  1. 豫言贯其始终。 编译器、执行器、内核、驱动、构建与验证之器,皆以豫言书之;自源码至机器码与可执行之文,皆豫言自为之。
  2. 豫汇为执行之通界。 编译器编程序为豫汇(豫言汇编):有回收之豫汇,与无回收之底层豫汇。诸后端皆自豫汇出。
  3. 树码为豫言之码统一之二进制表。 豫汇之模存为汇编树码(。树码);编译器诸阶之中间所产与设计之作,共其外框。原生后端径读汇编树码而生机器码。
  4. 豫行为原生程序之式。 豫言操作系统上之程序、工具与开机程序,皆豫行之文(。豫行),指令集有 ARM64 与 AMD64 二种。
  5. 网页汇编为向网页之所出。 浏览器与云工(Cloudflare Worker)二网页后端,行自豫汇所导之网页汇编(WasmGC);网页汇编与汇编树码一一相应。
  6. 接口二层,能即授。 应用用有回收之豫言操作系统接口;执行器内以无回收之豫言操作系统底层接口为束腰。应用所依之能皆必具,运行时资源之授另核之。

二、总览

豫言程序经自托之编译器编为豫汇,存为汇编树码。原生一侧,裸机后端生机器码:书为豫行之文,行于豫言操作系统;或书为 Mach-O、ELF、PE,行于 macOS、Linux、轩窗。网页一侧导出网页汇编,行于浏览器与云工。
豫汇为执行之通界,树码为其所存之形;原生之程为豫行,网页之程为网页汇编。后此诸桌面之系统,经启动器行同一豫行(提案〇〇〇二一)。
层 原生(豫言操作系统与桌面之系统) 网页(浏览器、云工)
源程序 豫言程序(。豫) 同左
编译器前端 析句、名之解、类型之核、类型之擦、跨模之优、闭包之转 同左
执行之通界 豫汇,存为汇编树码(。树码) 豫汇
后端 裸机后端:预编二、寄存器降级(ARM64、AMD64)、书出器 网页汇编编码器
程序之形 豫言操作系统上为豫行(。豫行);macOS、Linux、轩窗上为编译器径出之 Mach-O、ELF、PE 网页汇编之模(.wasm)
运行时 执行器(客体二号):回收、原语、装载单元、平台之层 随模而生之回收运行时,加宿主之胶
入于系统 豫言内核之服务;libSystem;Linux 系统调用;kernel32 浏览器之接口;Worker 之接口

三、树码

树码(提案〇〇〇〇一)为豫言之码统一之二进制表。文以“树码”二字之 UTF-8 始,文首书其版与种,正文依其种之结构表编之。今行之种:

四、豫行

豫行(提案〇〇〇〇五,豫行格式)为豫言操作系统可执行之式。

五、编译与执行

源码 → 前端 → 豫汇(汇编树码)
                ├─ 预编二:有回收之函转为底层之函,并入执行器
                │    → 寄存器降级(ARM64、AMD64)
                │    → 书出器:豫行、Mach-O、ELF、PE、装载单元
                └─ 网页汇编编码器 → .wasm(浏览器、云工)

六、接口二层

七、豫言操作系统

八、诸宿主

宿主 程序之形 入于系统
豫言操作系统(ARM64、AMD64) 豫行 豫言内核之服务
macOS(arm64) 编译器径出之 Mach-O,带特设之签 libSystem
Linux(x86-64、arm64) 编译器径出之静态 ELF 系统调用
轩窗(x64、arm64) 编译器径出之 PE kernel32
浏览器 网页汇编 浏览器之接口与宿主之胶
云工(Cloudflare Worker) 网页汇编 Worker 之接口与宿主之胶

诸宿主于同一程序予同一接口之义,以一致之验保之。

九、工具链与自举

十、后版之事

延读