公告

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

文档 架构 内存与地址空间

内存与地址空间

内存子系统在 W10–W20 之间成形,也是“真机化”那一波改动最多的地方——因为它同时要面对 QEMU 和真实硬件的内存布局。

机制 做法
4 KiB 基础页,搭配 2 MiB 大页。大页用于恒等映射与内核映像,避免早期大量页表项。
物理分配 2 MiB 伙伴系统,帧分配器在其上提供页粒度。
按需零页 首次触碰才映射,读到一个共享的零页;写时再分配实页。冷启动时间和内存占用都因此受益。
地址空间 每个任务一条页表链,切换任务时换 CR3。这是进程隔离的物理基础。
恒等映射 启动早期需要 >1 GiB 的恒等映射,长模式切换后才能依赖完整的分页。
U-位硬化 用户页的 U 位受严格管理,防止内核页被用户态映射。
fujo-map 用户空间共享内存的零拷贝成对映射,配合 GPU 栅栏同步——这是 AI 层帧池与图形提交共同依赖的一块。

相关波次

  • W20 —— 真机化:平台检测、高内存映射、ACPI 表处理。ACPI 表在 64 MiB 以上不映射,这道护栏是有意的。
  • W40–W43 —— 帧池、大负载、按需分配、换页集中处理,为 AI 层的模型驻留做准备。
已知限制: ACPI 表在 64 MiB 以上不映射。这不是遗漏而是护栏——早期的映射策略无法安全处理那个区间,因此显式拒绝而不是碰运气。