a26866e3391d782d4ca36d5df2602135e4b252e1
中断路由 (B7): - apic.drv: LAPIC enable + IOAPIC重定向表编程(MADT ISO感知) + apic_route/apic_route_legacy/apic_diag开关 - UTSM: LAPIC EOI钩子(register_apic_eoi, ABI尾部追加) + IDT 0-255全覆盖 + spurious 0xFF特判 - FUCK: apic_route=0默认PIC(零回归) / =1 IOAPIC->LAPIC接管(失败完整降级) / legacy放开IRQ1/12/11 存储: - nvme.drv: 写路径 + PRP list + 读回校验 + MSI/MSI-X中断驱动(nvme_msi开关, 回退纯轮询) - build.ps1: apic.drv纳入构建(原为预置二进制) 网络: - virtio_net: virtqueue RX/TX + netdev注册 + DHCP自测(slirp真实OFFER) PE兼容层: - pe_shim: guest->host指针转换(g_emu_mem_base + gp()) + shim fn32列补齐 - gen_pe.py: PE32+ RVA偏置修复(BUG-004) + cmd.exe生成 - desktop_app.h: da_mouse_poll先判AUX位 + da_mouse_init冲刷残留(BUG-003/008) - shell: Ctrl修饰键跟踪(BUG-001) + g_run_image扩至1MB(BUG-002) QEMU测试套件: - 9用例全自动化(Run-All.ps1): boot-regression/driver-matrix/linux-compat/pe-compat/deaicup-e2e/userapps-matrix/network-e2e/performance-baseline/x86emu32-coverage - QemuTest.ps1公共库: 串口断言/monitor sendkey/screendump/HTTP服务器/并发隔离 文档: - CLAUDE.md: APIC/IOAPIC能力 + kernel_api暴露 + IRQ后端升级状态 - LESSONS_LEARNED.md: B7 LAPIC/IOAPIC经验教训(2条) - Bug记录.txt: BUG-20260801-001~008 + BUG-20260803-009(9条) - test-cases/*.md: 全部补充自动化脚本小节 - 桌面设计.md: .lnk快捷方式 + LINUXAPP.CNF Linux应用图标 - 系统开发策划.md: NVMe/virtio_net标完成 + B2/B7标已解决 + M2进度列
Deshab-OS
Deshab-OS 是一个从零编写的独立 64 位操作系统,基于 x86_64 long mode,采用单地址空间 Ring0(SAS-R0)内核架构,配套封缄内存(UTSM)、专用恢复根(DRR)与可加载驱动模块系统(DKM)。
项目状态
当前已完成可启动的实验内核闭环:Limine 引导 → UTSM 首阶段内核 → 14 个 DKM 驱动加载 → DSK 主内核 → 首次启动用户设置向导。
| 子系统 | 状态 |
|---|---|
| 早期启动 / IDT / PIC | ✅ |
| UTSM 封缄内存(selftest) | 🔶 |
| DKM 驱动系统(14/14 驱动) | ✅ |
| DMA 物理页分配器 | ✅ |
| AHCI / NVMe 块设备 | 🔶 |
| FAT32 只读文件系统 | 🔶 |
| e1000 RX/TX 网络 | 🔶 |
| 字体系统(DBF,GB2312 全覆盖) | ✅ |
| FirstInit 用户设置向导 | 🔶 |
| SAS-R0-PCQ 调度器 | ⬜ |
| DRR 恢复系统 | ⬜ |
核心架构
SAS-R0-PCQ 单地址空间 Ring0 + Per-CPU O(1) 位图调度器
UTSM UUID 调谐封缄内存(所有内存存密文,明文须经 UTRW 读写器)
UTRW 带标记读写器(Fast Path / Slow Path)
DRR 专用恢复根(看门狗 / checkpoint / A-B 回滚 / 独立 Emergency Pool)
DKM 驱动模块系统(ELF64 .drv ABI,4 stage 分阶段加载)
文档
| 文档 | 内容 |
|---|---|
| 架构设计文档 | 系统整体架构、五大核心子系统、内存模型、驱动系统 |
| 启动路线设计 | B0-B4 五阶段启动序列、启动契约、回退链、视觉体验 |
| 开发路线图 | 分阶段开发路线、里程碑、验收标准 |
| 贡献与协作规范 | 开发环境、代码规范、Git 工作流、PR 流程 |
| CLAUDE.md | 项目当前状态与下一阶段路线 |
| UTSM 模块设计 | 封缄内存模块完整设计 |
| DKM 驱动系统 | 驱动模块系统说明 |
| DSK 主内核 | 主内核说明与 boot context |
| 开发经验记录 | 开发过程中的经验与教训 |
构建
# 需求:LLVM Clang + ld.lld + Python/Pillow + QEMU
.\build.bat # 构建 utsm.elf + deshab.elf + 14 个 .drv + ISO/deshab.img
.\ISO\run_qemu.bat # QEMU UEFI 启动验证
Languages
C
99.2%
Shell
0.4%
PowerShell
0.1%
Python
0.1%