69 个版本
0.17.5 | 2023年7月14日 |
---|---|
0.16.0 | 2023年7月2日 |
0.15.7 | 2022年2月3日 |
0.13.6 | 2021年12月27日 |
0.9.4 | 2021年11月29日 |
#403 在 嵌入式开发 中
每月下载量 206 次
280KB
11K SLoC
这是 LibertyOS 内核的官方仓库。LibertyOS 是一个使用 Rust 构建、开源、免费使用的操作系统,并欢迎新的贡献者。目前,LOS 支持 x86_64 系统,可以使用简单的引导加载程序在真实硬件上启动。这个操作系统正在不断开发中,所有更改都记录在根目录下的 VERSIONHISTORY.md 文件中。如果您想查看版本之间更改的更详细说明,可以阅读 GitHub 仓库上的提交。
如何贡献
您想帮助使这个内核变得更好吗?我们有很多事情要做,我们总是需要帮助!这个仓库中有一个名为 "ideas" 的文件夹,其中包含解释内核想法的不同文件。如果您有新的想法,只需在 "ideas" 文件夹中创建一个新文件,提交一个 pull request,我们中的一位会将其合并到主分支。目前有很多优秀的功能正在开发中,我们需要尽可能多的有才华的开发者!
博客
截至 2022 年 8 月 22 日,有一个名为 "BLOG.md" 的博客文件。这将解释一些设计决策,一些开发中的问题以及未来可以期待的内容。LibertyOS 并未死亡。这个项目有一个光明的未来。
构建/运行 LibertyOS
- 克隆此仓库。
- 导航到您克隆此仓库的位置。
- 确保您已安装以下内容
- cURL
- QEMU
- 运行引导脚本(./bootstrap.sh)
- 使用 "cargo build --release" 编译内核,或在 QEMU 中运行内核,使用 "cargo run --release"。
当前实现的功能
- x86-64 架构支持
- Rust 的核心和 alloc Crates 支持
- 使用链表、伙伴分配和增量分配进行内存分配
- 基本错误处理
- 内置于 QEMU 上运行 LOS 的支持
- 支持多种键盘布局
- 基本支持异步函数,包括基本任务执行器
- 支持读写文件系统(特定文件系统的支持尚未实现,但基础已经实现)
- 使用为LibertyOS构建的核心库(libcore)
- 支持数学计算,包括基础代数、几何等
- 支持C类型
- 对解析字体的基本支持
- 时间管理
- 系统调用
- 基本进程管理
- 支持stdin、stdout和stderr
- 在用户空间运行进程的基本支持
进行中的特性
- 为LibertyOS构建的基本文件系统
- 整个内核的完整文档
- 对FAT文件系统的完全读写支持
- 基本网络功能
- 支持计算机鼠标
- 基本shell
计划中的特性
- 支持基于ARM的目标
- 支持glibc/musl(或,可能,重写它们的一些部分)
- 支持FAT、FAT32、EXFAT文件系统
- 支持ext2、ext3、ext4文件系统
- 支持NTFS文件系统
- 主机名
- 能够在操作系统中更新内核
- 支持非英语字符
- 完全支持Unicode
- 基本定制
当前预期行为
- 内核初始化LibertyOS的关键部分
- 内核显示关于设置过程的消息
- 内核遇到页面错误。:(
依赖关系
~13MB
~213K SLoC