riscv os 周报

周报一

进展同步

分析题目功能

实现RISCV架构OS内核,并具有以下功能

  1. 启动和系统初始化(裸机系统)
  2. 内存管理
  3. 进程与中断
  4. 文件系统
  5. 系统调用
  6. 命令解释器
  7. IO设备(外接传感器,读取并显示数据)

制定开发计划

时间 目标 进度
3月20日-3月26日 需求分析,搭建相关环境,实现裸机系统 已完成
3月27日-4月2日 批处理系统与分时多任务
4月3日-4月9日 内存管理,进程管理
4月10日-4月16日 文件系统,并发机制
4月17日-4月23日 IO设备
4月24日-4月30日 备用时间
5月1日-5月31日 论文撰写

进展分析

本周一拿到具体题目要求后立刻做了需求分析,整体来看时间紧任务重,需要不断补充各方面的知识。

在需求分析基础上,查阅一些相关教程,最终选择了rcore作为主要参考。

本周在ubuntu上搭建了相关工具链和模拟器,并实现了裸机系统。目前使用qemu模拟riscv,后续考虑部署到K210或其他开发板

下周目标

批处理系统与分时多任务。

具体包含

  • 通过批处理支持多个程序的自动加载和运行
  • 支持跨特权级的系统调用功能
  • 抢占式分时多任务

周报二

进展同步

  1. 较为有体系的学习了一下rust语言
  2. 迁移项目至自己服务器上
  3. 通过批处理支持多个程序的自动加载和运行
  4. 抢占式分时多任务[delay]

进展分析

系统补了一下语言,本来想边学边补,但是发现过于零散,不断打断os编写反而效率不高。于是先补了下rust,抢占式分时多任务delay到下周
另外迁移开发环境从GitHub Classroom到自己的服务器上,性能更佳,节省编译时间。

下周目标

  1. 抢占式分时多任务
  2. 内存管理

周报三

进展同步

时间 目标 进度
3月20日-3月26日 需求分析,搭建相关环境,实现裸机系统 已完成
3月27日-4月2日 批处理系统与分时多任务 已完成
4月3日-4月9日 内存管理,进程管理 已完成
4月10日-4月16日 文件系统,并发机制 已完成
4月17日-4月23日 IO设备 进行中
4月24日-4月30日 备用时间
5月1日-5月31日 论文撰写

进展分析

返校后的近两周,实现了基本的os,并部署到qemu以及真实开发板MaixDock上。

下周目标

io设备管理,支持两个iot设备(摄像头,显示屏)
并同步进行论文编写