1 Star 0 Fork 0

xxJAY / BitOS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

BitOS

用Rust实现类unix RISC-V内核。基于rCoreV3教程和xv6-riscv项目实现。

功能模块

  1. 内存管理:分页内存,进程虚拟地址空间
  2. 进程:进程管理,FIFO调度,fork、waitpid等系统调用
  3. 系统调用:重要的系统调用及用户库封装
  4. 文件系统:基于块设备的简单文件系统,支持多级目录
  5. 并发:内核线程,互斥锁、条件变量等并发数据结构
  6. shell:shell程序,支持cd、mkdir、ls等基本命令,支持命令行参数传递
  7. 应用程序:echo、stat、cat等基本应用程序

Build & Run

前置要求

  • Rust环境:Rust-nightly版本
  • riscv64-unknown-elf binutils:readelf、strip、objdump等工具
  • Qemu7.0.0:安装qemu-system-riscv64,暂时只测试过7.0.0版本,其余版本是否可运行未知

Build

可直接运行run.sh开始编译和启动,run.sh会首先编译应用程序,然后创建文件系统镜像,最后编译并启动内核。

手动Build过程按照编译应用程序、构建文件系统、编译运行内核三个步骤进行。

  1. 进入user_lib目录,输入make build命令构建应用程序。
  2. 进入simple_fs_test目录,输入make run命令构建文件系统镜像。
  3. 进入kernel目录,输入make qemu命令编译并启动内核

运行

在根目录运行run.sh或者在kernel目录make qemu运行内核。

看到下面界面之后表示启动成功,可输入help列出可用的命令。

TODO

  • IPS 跨进程通信:管道、信号
  • 完成virtio-blk驱动程序,在虚拟块设备上创建文件系统
  • bitscript 脚本语言
  • PCI总线,驱动程序框架
  • 网络驱动,以太网协议、ARP、IP协议
  • TCP/UDP协议栈
  • GUI
MIT License Copyright (c) 2023 xxJAY Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Xv6 like OS 展开 收起
Rust 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Rust
1
https://gitee.com/xxjay/BitOS.git
git@gitee.com:xxjay/BitOS.git
xxjay
BitOS
BitOS
master

搜索帮助