banan-os
这是我用 C++ 编写的一个爱好操作系统,目前支持 x86_64 和 i686 架构。
您可以在 这里 查看实时演示
特性
一般情况
- Ring3 用户空间
- SMP (多处理器)
- 线性显存缓冲区 (VESA 和 GOP)
- 网络栈
- USB 堆栈
- 音频支持
- ELF 可执行文件加载
- AML 解释器 (部分)
- 基本图形环境
- 终端仿真器
- 状态栏
- 程序启动器
- 一些不错的应用
- ELF 动态链接
- 写时复制内存
驱动程序
- NVMe 磁盘
- ATA (IDE、SATA) 磁盘
- E1000 和 E1000E 网卡
- RTL8111/8168/8211/8411 网卡
- AC97 和 iHDA 音频卡
- PS2 键盘和鼠标
- USB
- xHCI
- EHCI
- OHCI
- UHCI
- 键盘
- 鼠标
- 大容量存储设备
- 集线器
- 网络
- 音频
- virtio 设备(网络、存储)
网络
- ARP
- ICMP
- IPv4
- UDP
- TCP
- Unix 域套接字
- SSL
代码结构
要构建操作系统本身,您可以运行以下命令之一。为创建磁盘映像,您需要具有 root 权限。