A Cooperative OO Scheduler Library to Manage Multiple Running Processes
Last Updated At: 4/18/16
Features (Basic)
- Truly object oriented (a Process is its own object)
- Control Over How Often a Process Runs (Periodically, Iterations, or as Often as Possible)
- Process Priority Levels (Easily make custom levels as well)
- Dynamically Add/Remove and Enable/Disable Processes
- Interrupt safe (add, disable, destroy, etc.. processes from interrupt routines)
- Process concurrency protection (Process will always be in a valid state)
Features (Advanced)
- Spawn new processes from within running processes
- Automatic Process Monitoring Statistics (calculates % CPU time for process)
- Exception Handling (wait what?!)
- Scheduler can automatically interrupt stuck processes
Advantages Over Others
- A Process is a full C++ class, not just a callback function
- Not Preemptive (no splitting of stack sapce)
- Concurrency protection (interrupt safe)
Download, Wiki, & Documentation