Fusion操作系统
Fusion是一个用Nim语言实现的x86-64架构的业余操作系统。我正在记录其构建过程,详见:https://0xc0ffee.netlify.app。
截图
UEFI引导加载程序
图形用户界面(注:此截图来自仍在开发中的graphics
分支。)
引导并运行内核
功能
目前已实现的功能包括:
- UEFI引导加载程序
- 内存管理
- 单一地址空间
- 物理内存管理器
- 虚拟内存管理器
- 高半区内核
- 任务管理
- 内核任务
- 用户模式任务
- 抢占式多任务
- 基于优先级的调度
- ELF加载器
- 系统调用
- 系统调用接口
- SYSCALL/SYSRET
- 用户模式库
- 进程间通信(IPC)
- 同步原语
- 基于通道的IPC
- 消息传递
- 硬件
- 定时器中断
- PCI设备枚举
- Bochs图形适配器驱动
计划中的功能
- 基于能力的安全机制
- 基于事件的任务状态机
- 按需分页
- 磁盘I/O
- 文件系统
- 键盘/鼠标输入
- 命令行界面
- 图形用户界面
- 网络
构建
要构建Fusion,你需要安装以下依赖:
使用以下命令构建Fusion:
just build
运行
Fusion目前在QEMU上运行,所以你需要先安装QEMU。使用以下命令启动Fusion:
just run
许可证
MIT