原始项目在Github上Host:https://github.com/Oyami-Srk/MFTT-RISCV
这是我第一次接触RISCV,再加上时间仓促(4月末了解到,时间十分紧张),所以完成度不是很高。
将在大赛结束后继续完善该项目。能完赛就已经是我的一个希望了。
大赛的OJ系统不支持Cmake真的是遗憾
鉴于时间过于仓促及水平不足,本项目不提供文档,希望评委老师能够谅解。将会在完全稳定且实现完全后再开始文档。本项目代码为了赶工过于潦草,虽然已经在OJ系统上Pass了一些测试点,但为了大赛做出的让步还是很多。
我检讨我自己这种心态,为了完成OJ和比赛而丧失了自己的初衷。我过度渴求对我能力的一种证明,想要追求一种认同感,所以将OJ和比赛看得太过重要。接下来我会以我自己的节奏继续开发这个项目,或许会重写,或许会继续在OJ上拿点分。参加比赛只是一种契机,我的目的不应该是竞争而是提高自己,结果什么的并不重要,过程中学习到的东西才是这次比赛给我颁发的奖励。
现在完成的部分
- 双核启动
- 基于伙伴算法的页分配器和基于红黑树的小块内存分配器(
- 中断和异常陷入处理
- 进程管理、写时复制(CoW)fork
- 通用FDT设备探针框架
- 通用设备驱动框架(本内核致力于不硬编码任何设备相关的信息,但碍于某些特殊情况和时间紧急,这是不可避免的)
- FAT32文件系统(当前仅可读)
- Execve、dup、pipe等常用POSIX系统调用方法
- K210 移植
正在做的部分:
- Bug修复
没有开始做的部分:
- 时间管理
感谢:
本项目在开发过程中,引用并参考了以下项目的代码
- Linux
- xv6-k210