This PR refactors the scheduling to decrease coupling and code complexity between the scheduler and partition/process management code.
To do this, all the code for how processes are run is moved into partition.rs. In this way the scheduler is only responsible for scheduling when the processes are ran.
Other minor refactorings include:
introduce datatypes for storing the partition schedule: scheduler::ScheduledTimeframe, scheduler::PartitionSchedule
use of scheduler::Timeout struct wherever possible to keep track of time
This PR refactors the scheduling to decrease coupling and code complexity between the scheduler and partition/process management code. To do this, all the code for how processes are run is moved into
partition.rs
. In this way the scheduler is only responsible for scheduling when the processes are ran.Other minor refactorings include:
scheduler::ScheduledTimeframe
,scheduler::PartitionSchedule
scheduler::Timeout
struct wherever possible to keep track of time