This is general cleanup of the scheduling component, inspired by Nebulet's clean code. It doesn't do everything like Nebulet since rXinu has a process table and uses a Scheduling trait object.
Major Changes
Removes passing Scheduler trait object to process_ret because there were issues seen, likely due to fat pointers
Re-organized scheduling component
One important change was making an inner Scheduler struct that allowed for interior mutability
Make context switch a global assembly routine
Necessary because we want complete control over the context switch. Can't depend on rust compiler
Resolves #62 and #50
This is general cleanup of the scheduling component, inspired by Nebulet's clean code. It doesn't do everything like Nebulet since
rXinu
has a process table and uses aScheduling
trait object.Major Changes
process_ret
because there were issues seen, likely due to fat pointersinner
Scheduler struct that allowed for interior mutability