Executable translation-contract lab
10–14 implementation hours, included in the 20–28-hour extension. Download the contract, starter, reference and checks. Python 3.9+ and its standard library suffice.
- Spend 2 hours predicting address splits, permission failures and cache order using the README’s exact model.
- Run
python3 -B check.py starterand retain the expected failure. Spend 4–6 hours implementing the public API. Keep page-table state separate from cached snapshots. - Spend 2–3 hours on independent remap, unmap and ASID cases. Reject a missing-invalidation mutant with an exact trace, not only a final counter.
- Spend 2–3 hours comparing capacities, reconciling counters and documenting limitations. Inspect
python3 -B check.py referenceafter your attempt.
The checks use 243 length-five traces against a separate list model, all 4096 offsets within a page, and targeted permissions, ASID isolation, mapping changes, faults, counters and invalid values. They are not proof of a real MMU’s correctness. Submit implementation, predictions, logs, three new distinguishing cases and assistance records. All VM1–VM6 must pass; original replacement, allocator, COW and NUMA work remains required.