This pull request implements a process system for BottleOS, mostly based on the Operating System Concepts book. After all initialization is done, kernel_main transfers control over to the Scheduler. This scheduler has an infinite loop that orchestrates processes.
To Test:
Start the OS with cargo run, the Box and Rc test print statements should be in no particular order
Run cargo test, all tests should pass
To Do:
[x] Create a proc module and draft a minimal API
[x] Implement process queues
[x] Implement Process::new() to register this process
[ ] Implement the process state machine with Scheduler::step()
[ ] Implement a parent-child hierarchy for processes
This pull request implements a process system for BottleOS, mostly based on the Operating System Concepts book. After all initialization is done,
kernel_main
transfers control over to theScheduler
. This scheduler has an infinite loop that orchestrates processes.To Test:
cargo run
, theBox
andRc
test print statements should be in no particular ordercargo test
, all tests should passTo Do:
proc
module and draft a minimal APIProcess::new()
to register this processScheduler::step()
Process::join()