README.md

    Schedule

    七月初刚好是期末,实验室和期末的事情挤在一起,基本没有时间做第一阶段这些任务。 不过还好之前有学过 Rust,可以跳过 step 0。有了跟上进度的希望。

    Week 1 - 7.5 ~ 7.11

    这周有好几门课结课,还有 lab 内的发表,基本就没什么时间做了。

    step 0 自学 rust 编程(大约 7~14 天)

    睡觉前还是抽了点时间复习了一下 Rust,用 Rust 刷了一下 LeetCode,顺便练习了一下算法。

    做了做 32 Rust Quizes,里面有些问题还挺有趣的,有好些容易忽视的问题。

    Week 2 - 7.12 ~ 7.18

    这周只有一个一门课结课,发表也在下周,时间终于多了点。

    step 1 自学 risc-v 系统结构(大约 7 天)

    把 Privileged Spec 的 machine/supervisor 部分全部看了。Unprivileged Spec 挑着几章看了,比如 Introduction 和 Assembly Programmer's Handbook 部分。

    然后把 The RISC-V Reader: An Open Architecture Atlas 看完了,最开始没注意到这本,很是后悔为什么没先看这本再去看 Privileged Spec。

    step 2 开发操作系统 -- based on qemu (大约 14~31 天)

    完成了 Lab 0 到 Lab 3 的内容

    添加多核支持的时候有遇到一些代码上的问题,在 github issues 上提问了,很快的得到了回答。

    • 比如我之前一直以为屏蔽中断会造成严重的后果,比如彻底漏掉某些中断的处理之类的。

    也有遇到一些很诡异的问题,在 github issues 上和微信群内提问了,但是好像不知道怎么解决,只能想办法绕过去。

    • 比如明明目标是 riscv64gc,却不能使用 mul 指令
    • 比如在我确定 sp 正确设置,且没有栈溢出的情况下,传参会出现丢失的情况(更神奇的是如果我用 gdb 单步执行就不会出错

    Week 3

    这周目测又没什么时间了,期末加 lab 内发表。周末再更吧,有点担心能不能在 25 号之前全部搞定了。

    项目简介

    2021年开源操作系统夏令营项目

    发行版本

    当前项目没有发行版本

    贡献者 1

    开发语言