Skip to main content

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.

  1. Spend 2 hours predicting address splits, permission failures and cache order using the README’s exact model.
  2. Run python3 -B check.py starter and retain the expected failure. Spend 4–6 hours implementing the public API. Keep page-table state separate from cached snapshots.
  3. 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.
  4. Spend 2–3 hours comparing capacities, reconciling counters and documenting limitations. Inspect python3 -B check.py reference after 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.