公告

FujoOS公布日延期,以仓库发布为准

模型只提供提示
内核决定执行

从零写起的 x86_64 操作系统,零第三方依赖、无 std。大语言模型是它的一个系统部件——每个动作都要穿过内核强制的权限域,留下审计,可以被撤销。

内核强制边界 kernel-enforced envelope 宿主 LLM hint · 非授权 syscall gate 能力域 A1 无越权执行 · A4 可撤销 执行 · 审计 A2 每次能力使用留痕 拒绝 · 回退 A3 模型缺席仍可运行 被监督应用 supervised app 撤销 revoke
琥珀 = 模型 / 提示(不受信) 钢青 = 内核 / 机制(受信)

构建所用的工具与模型

  • Zcode
  • Claude Code
  • Codex
  • DeepSeek Harness
  • DeepSeek
  • GLM

开发过程中使用的工具与模型。前面的小标记区分两类:提示符形状的是编码代理,节点形状的是模型。系统与站点在运行时不依赖其中任何一个。

59/59 回归用例(TCG);WHPX/KVM 为 49/51,两处差异已记录
46 契约原语(core 40 · host-ext 6),两实现对账 0 差异
τ* ∈ [0.429, 0.454) 语义金标 v2(280 例)推导的信任阈值区间
18/18 LinuxFUAI 第二实现探针,含带外验证器

一套完整的系统,而不是一个内核原型

四层结构:Ring0 只保留 CPU 相关与空间管理,设备驱动、VFS、网络栈下沉到可崩溃、可热升级的用户态服务。兼容性被当作内核的一等能力,而不是补丁。

不寻常的地方在 AI 层

模型不是权威来源,只是提示来源。内核给它一份结构化的机器视野,收回一个受监督的动作提议;提议要过权限域、要留审计、可被撤销。模型缺席或出错时,系统退回到确定性规则继续运行。

子系统现状(实测事实)
能力
内核 x86_64 长模式 · IDT/GDT/TSS · PIT 100Hz 抢占式多任务 · 亲和性与负载均衡统计
内存 虚拟内存 · 按需零页 · 帧分配器 · 每任务页表链与 CR3 · >1 GiB 恒等映射
ABI ELF64 / Mach-O / PE32+ 加载器子集 · Linux x86-64 系统调用 · darwin/win32 垫片家族 · FUJR (.run) 容器
存储 ATA PIO + FJFS 4 MiB 卷(格式化 / 持久化)· AHCI/SATA 真盘 · 页缓存与预读 · 存档沙箱
网络 virtio-net · IPv4/UDP 往返 · 最小 TCP 服务端(SYN/ACK/PSH echo)· 帧级用户态 ABI
图形与窗口 VBE 1024×768×32 帧缓冲 · 软件光栅(rect/tri/line)· 着色器 VM · wmsg 窗口系统 · fujokit 控件 · .fui 声明式界面
工具链 内核内汇编器 → 链接器 → C 子集编译器(ELF64 全链)· 调试器(TF 单步 / int3 断点)· trace、性能窗口、单元测试
AI 层 能力表与审计环 · 信任自适应域宽 · 模型卡(权限 / 计费 / 审计)· 五职责(哨兵 / 规划 / IO 预测 / 自然语言配置 / 环境扫描)· 规则书回退

从加电到桌面

下面是一条真实顺序:每一步都可以用仓库里的脚本重放。

01

固件交接

GRUB multiboot、直接 -kernel,或从可引导 ISO 链式加载;进入长模式并建立恒等映射。

02

内核初始化

IDT/GDT/TSS、PIT 100Hz、虚拟内存与帧分配器就位,抢占式多任务开始调度。

03

服务与桌面

VBE 帧缓冲点亮,PS/2 输入就绪,wmsg 窗口系统按 .fui 文档绘制壁纸、图标、面板与窗口。

04

部件就位

FJFS 卷、AHCI/SATA 真盘、virtio-net 可用;可选地把宿主 LLM 接入内核——它拿到的是一道能力域和一条审计链,而不是一台机器。

bash 构建、启动、跑回归
# 1) 构建 / build
cd kernel && cargo build --release
python tools/flatten_elf.py kernel/target/x86_64-unknown-none/release/fujo-kernel \
    kernel/fujo-kernel.bin --pad 0x1C0000

# 2) 启动 / boot
qemu-system-x86_64 -m 256M -kernel kernel/fujo-kernel.bin \
    -initrd sdk/linux/m30_linux.elf \
    -monitor telnet:127.0.0.1:4568,server,nowait -display none -no-reboot

# 3) 回归 / regression — 59/59 (TCG)
python tools/fujoregress.py
python tools/fujoregress.py --accel whpx   # 第二执行模式

它现在长什么样

这是 QEMU 里一次真实运行的原样截图。桌面由内核里的软件光栅绘制,界面本身是一份 .fui 声明式文档;右侧 Control Center 读的是真实的 CPU、内存与存储状态,以及当前自适应出来的 AI 域宽。

FujoOS 桌面截图:左侧是 Home / Files / Terminal / Settings 图标与一个 Terminal 窗口,右侧是 Control Center 窗口,显示 CPU、Memory、Storage 三个读数,以及标记为 adaptive 的 AI envelope 面板(域宽 45)和内核服务列表。
桌上的是真实状态,不是概念图。 Terminal 窗口显示「no program running」是因为当时没有加载 demo;AI envelope 面板的 adaptive 标记来自信任自适应逻辑,域宽随质量台账变化。

验证方式

仓库里的每一个主张都绑在一条可复现的测试上。数字都可以用 tools/ 里的脚本重新跑出来。

判据 结果
内核回归 tools/fujoregress.py 全量用例 59/59 TCG
第二执行模式 --accel whpx / KVM 对照 49/51
契约一致性 spec.json ↔ 富士内核 ↔ LinuxFUAI 双向对账 0 差异
双后端差分 同一策略与事件夹具喂两个实现,比对判决序列 19/19 步一致
带外验证 独立进程重推导审计序列(不链接运行时库) 含篡改自证
Potato 校验 33 条反例变异全部被拒 · 两实现判定一致 50/50
已知边界(不做过度声明) :推理不在端侧——模型跑在宿主上,内核提供链接、审计与回退规则;“兼容”指的是加载器与垫片面,不是完整用户态模拟;FJFS 多簇写入目前支持到 32 KiB 的文件。

设计背后的论文

FUAI: A Measurement-Parameterized Safety Envelope for AI-Integrated Operating Systems。核心命题:安全 = α(无越界,S1 机制)× 域宽,而域宽是测量质量 S2 的函数;S3 策略边界由人或蒸馏规则画定。

预印本已锚定 Zenodo(10.5281/zenodo.22352904),作者 Yuxuan Jiang。论文按浙大要求保持私有,不以期刊公开投稿;预印本时间戳是优先权的唯一锚点。