README.md

    rCore-Tutorial-detail

    介绍

    本项目是对于清华大学 rCore-Tutorial 项目的知识点补充与引申

    本文的目的是使用Rust语言去实现一个基于RISC-V架构的操作系统内核,利用Rust语言的关键特性使得操作系统内核具备线程安全的特性。该操作系统内核是一个具备了操作系统基础的核心机制的微内核,基于负责与硬件通信的SBI,包括引导程序、内核加载器bootloader、中断、内存、进程、线程、文件系统等模块。

    本文首先对相关研究现状进行了分析,对于Rust语言、RISC-V架构及其汇编语言进行简要介绍;自上而下对阐述了整个内核架构的设计方案,在技术路线中给出了操作系统内和各个模块之间的关系与实现思路;然后对于操作系统内核进行了自下而上的实现,并给出了关键代码及其解释,最后经过细化的系统测试,验证功能的正确性。

    本文基于Ubuntu操作系统和Rust工具链作为开发环境,使用Rust语言以及RISC-V架构的汇编语言的混合编程进行开发,利用QEMU虚拟机进行调试和测试所实现的操作系统内核功能。

    目前本文对示例代码进行了修改,调整了复现逻辑,增加了相关知识的拓展,增加了难点的讲解。

    力求做到从零开始实现操作系统内核,截至目前全部实验均可复现

    目录

    1. OS设计方案
    2. 环境部署
    3. 实验零
    4. 实验一
    5. 实验二
    6. 实验三
    7. 实验四
    8. 实验五
    9. 实验六

    TO DO

    • 添加网络部分的支持
    • 添加更为详细的代码注释
    • 添加知识点,丰富文档内容
    • 添加移植到K210板的实验过程

    鸣谢

    感谢清华团队对整个 rCore 项目做出的开拓性贡献

    安装教程

    1. 安装完整 git 环境

    2. 加入 rCore学习小组

    3. 使用 git clone https://gitee.com/rCore-Tutorial-detail/r-core-tutorial-detail.git

      git clonegit@gitee.com:rCore-Tutorial-detail/r-core-tutorial-detail.git 克隆代码到本地

    使用说明

    参与贡献

    1. Fork 本仓库
    2. 新建分支
    3. 提交代码
    4. 新建 Pull Request

    成员

    指导教师:赵霞

    学生:彭淳毅 路博雅

    项目简介

    当前项目暂无项目简介

    发行版本

    当前项目没有发行版本

    贡献者 1

    hm12299 @weixin_53305890

    开发语言

    • Makefile 84.4 %
    • Rust 14.3 %
    • Assembly 0.9 %
    • D 0.4 %
    • LLVM 0.0 %