FuzzyOS
1.0.0
32位X86多处理OS,能够运行控制台或图形用户应用程序。
请在https://github.com/scopeinfinity/fuzzyos/releases上找到所有版本
可以在相应版本的Assets下找到启动图像。
屏幕截图可以作为在Action/CI上完成的Artifacts的位置。
| 引导加载程序 | 内核转盘 |
|---|---|
![]() | ![]() |
| 简单的外壳 | 猫 |
|---|---|
![]() | ![]() |
| 叉() | Tictactoe游戏 |
|---|---|
![]() | ![]() |
| Pingpong游戏 | 徽标编程 |
|---|---|
![]() | ![]() |
| 桌面 |
|---|
![]() |
make images构建图像。 FuzzyOS.vdi作为存储创建VM。 FuzzyOS.vmdk作为存储创建VM。 dd或scripts/burn.sh将图像刻录到磁盘中(可能具有破坏性)。bash scripts/burn.sh build/FuzzyOS.raw /path/to/devicefile| 特征 | 存在 |
|---|---|
| 靴子:传统BIOS | ✔️ |
| 靴子:UEFI | |
| 磁盘分区样式:MBR | ✔️ |
| 磁盘分区样式:GPT | |
| 导出磁盘图像:VMDK | ✔️ |
| 导出磁盘图像:VDI | ✔️ |
| 导出磁盘图像:原始 | ✔️ |
| 内核<->应用和应用程序<->应用程序隔离 | ✔️ |
| OpeArating模式:真实模式(boot-loader + Realmode-library) | ✔️ |
| 覆盖模式:受保护模式(内核 +用户应用程序) | ✔️ |
| 驱动程序:磁盘IO | ✔️ |
| 驱动程序:图片 | ✔️ |
| 驱动程序:坑 | ✔️ |
| 驱动程序:键盘 | ✔️ |
| 文件系统:FFS(内部)(只读) | ✔️ |
| 中断处理程序 | ✔️ |
| syscall:文本控制台io | ✔️ |
| Syscall:图形 | ✔️ |
| Syscall:键盘 | ✔️ |
| Syscall:文件处理程序 | ✔️ |
| 过程安排机:循环roble | ✔️ |
| 文件系统:ffs(自定义)(只读) | ✔️ |
| 显示:文本模式 | ✔️ |
| 显示:Graphics-VGA 320x200 256颜色 | ✔️ |
| 并发:多处理 | ✔️ |
| 并发:多线程 | |
| 并行性 | |
| 范围的安全性 | |
| 联网 | |
| 应用程序构建:支持c | ✔️ |
| 应用程序构建:支持C ++ | ✔️ |
| 应用程序构建:C/C ++标准库(根据需要) | ✔️ |
| 应用程序 - 放松:堆内存分配 | ✔️ |
| 应用:计算器 | ✔️ |
| 应用:猫 | ✔️ |
| 应用程序:桌面 | ✔️ |
| 应用:回声 | ✔️ |
| 应用程序:叉炸弹 | ✔️ |
| 应用:徽标 | ✔️ |
| 应用:LS | ✔️ |
| 应用:乒乓球 | ✔️ |
| 应用:SH(终端) | ✔️ |
| 应用程序:SimpleCpp(示例) | ✔️ |
| 应用:更多 | ✔️ |
| 应用:多处理(示例) | ✔️ |
| 应用:Tictactoe | ✔️ |
应用: Your's? Yes, raise a PR | ✔️ |
bash before_install.sh
make clean
make qemu
使用Make构建二进制文件和图像文件。
make
目前,测试可以通过在源代码中注入预定义的ASM来工作,该源代码在关注点停止执行。在此之后,测试可以利用QEMU监视器来验证具有预期状态的当前状态。
make test
在调试模式和设置GDB服务器中执行QEMU。
make qemu_debug
然后连接到GDB服务器。
make qemu_debug_connect
贡献