robert-w-gries / rxinu

Rust implementation of Xinu educational operating system
Apache License 2.0
33 stars 4 forks source link

Schedule processes using global cooperative scheduler #33

Closed robert-w-gries closed 6 years ago

robert-w-gries commented 6 years ago

The feature/usermode branch is starting to become a massive development branch with unique features, so let's merge it into master. This PR is considered a WIP until the following is addressed:

Major Changes

Minor Changes

robert-w-gries commented 6 years ago

cc @phil-opp

Thought you might be interested in this. Let me know if you have questions or suggestions.

I plan on writing up a post on how and why I designed the scheduling code the way I did, I'll leave a note in blog_os's gitter when I finish the write-up.

robert-w-gries commented 6 years ago

In x86_64 LockedHeap does appear to have an issue with deallocation after around 2000 schedules of process_test. Meanwhile, there's an issue in i686 where a page fault occurs after one schedule of process_test