Executable scheduling-contract lab
10–14 implementation hours, included in the 20–28-hour extension. Download starter, reference, contract and checks. Use Python 3.9+; no dependencies or host scheduler changes are needed.
- Read README.md and spend 2 hours predicting queue order, idle gaps and switch intervals.
- Run
python3 -B check.py starterand preserve the expected failure. Spend 4–6 hours implementing FIFO/RR with the documented API. - Spend 2–3 hours adding independent boundary cases and rejecting a mutant that requeues at the front. Independently recompute metrics from the trace.
- Spend 2–3 hours comparing quantum and overhead choices and preparing a limitations note. Inspect
python3 -B check.py referenceonly after attempting the implementation.
The checks cover 324 combinations of arrival, service, quantum, cost and policy, plus exact targeted traces, empty input and invalid values. Conservation checks do not prove queue policy; retain the distinguishing traces. Submit source, predictions, logs, one fresh workload and assistance disclosure. All PS1–PS6 must pass; original process and advanced scheduling work remains required.