robert-w-gries / rxinu

Rust implementation of Xinu educational operating system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tracking issue for Minimal Viable Product

robert-w-gries opened this issue · comments

It is looking likely that Marquette undergraduates will work on the kernel as a part of Marquette's summer research program. rXinu is mostly stable but more work needs to be done to make it a project viable for new developers.

Tools

It is important to provide tools so that new developers can properly acclimate to the project. We need to accomplish the following:

  • Testing framework
  • Fewer dependencies
  • Removal of grub from suggested workflow

Features

rXinu will need to be a legitimate micro-kernel in order to open up avenues of research. It is not worth much as a project if the students are too limited in what they can contribute.

Minimal Viable Product

Stretch Goals

  • Message Passing
  • Syscalls
  • MIPS target
  • User mode
  • Higher half kernel

Code Readability

Documentation

Documentation is sorely needed in the scheduling module, and rXinu could benefit from more documentation in general.

  • scheduling module
  • ps/2 keyboard driver
  • serial driver

Refactoring

As I learn more of Rust and gain experience, I discover more idiomatic ways to express Rust and simplify the codebase.

  • PS/2 Keyboard
  • Scheduling Component