1 个不稳定版本
0.0.0 | 2019 年 3 月 17 日 |
---|
#16 在 #eventually
715 个星标 & 45 个关注者
1MB
24K SLoC
"Tifflin" 实验性内核(以及最终操作系统)
这是在 Rust 中编写操作系统内核的实验(https://www.rust-lang.net.cn)。
架构主要在设计过程中逐渐确定,但将被编写为架构无关(当前版本为 x86_64/amd64)。
设计特性
- 具有依赖项的运行时模块初始化
- 清晰的用户-内核职责分离
- 用户空间拥有 ELF 加载器,内核使用自定义格式进行 init。
- 基于对象的系统调用 API
- 内核提供的窗口管理器(是的,我知道旧窗口系统也这样做)
进展
- 文件系统
- ISO9660
- FAT12/16/32
- 存储
- (P)ATA
- SATA (AHCI)
- ATAPI CDROM
- VirtIO 块
- 输入
- PS2 键盘/鼠标
- 图形
- 仅多引导
- GUI 应用程序
- 登录(凭据为 root/password)
- "GUI Shell"(带背景!)
- 文本终端应用程序(带基本命令集)
- 文件系统查看器
- 架构
- amd64(即 x86_64)- 引导到实现的限制
- armv7 - 加载用户空间后崩溃
构建依赖
nasm
- GNU Binutils(交叉编译)
- GCC(用于 ACPICA)
pxelinux
libguestfs-tools
(用于创建磁盘镜像)
依赖项
~84KB