Show HN: Tiny VM sandbox in C with apps in Rust, C and Zig
2 months ago
- #virtual-machine
- #RISC-V
- #embedded
- uvm32是一个为微控制器设计的极简主义、无依赖的虚拟机沙箱环境
- 专为资源受限设备设计,在STM32L0上仅需不到4KB闪存/1KB RAM空间
- 作为RISC-V模拟器运行,提供管理接口和高效代码执行工具
- 典型应用场景包括:替代嵌入式脚本引擎、隔离不可信代码、跨平台开发
- 特性包含非阻塞设计、无标准输入输出假设、精简执行模型和安全的外部函数接口
- 以安全性优先于速度,确保虚拟机代码不会导致宿主系统崩溃
- 不用于硬件模拟,而是实现自定义脚本式逻辑
- 追求小体积、易集成性,并能抵御异常虚拟机代码的影响
- 不追求极致效率或零摩擦的外部函数接口
- 提供C、Rust、Zig和汇编语言的示例应用
- 包含host-mini、host-parallel和host-arduino等多种虚拟机宿主实现
- 仅需C编译器即可移植,支持Docker快速搭建环境
- 采用MIT许可证,适用于学术研究、商业产品和嵌入式设备开发