Low-level OS page allocation backend mapping interface.
The crate is organized by concern so each leaf owns one backend responsibility:
- [
mapping] owns the [MemoryBackendWrapper] struct shape and the singleimpl MemoryBackend for MemoryBackendWrapperblock.allocate/deallocatebodies are inline here;make_guard,page_reset, anddecommitdelegate into the per-concern helpers in [guard] and [reset] via#[inline(always)]static-dispatch calls. - [
guard] ownsdo_make_guard— the per-method helper forPROT_NONE/PAGE_NOACCESSguard-region installation — called by themake_guardentry in [mapping]'s impl block. - [
reset] ownsdo_page_resetanddo_decommit— the per-method helpers for content-discard and commit-charge release — called by thepage_resetanddecommitentries in [mapping]'s impl block. - [
recorders] owns the telemetry counters, the [BackendMemoryStats] snapshot, and the per-concern unit tests for therecord_*family. - [
backends] owns the per-OS / per-platform backend implementations (UnixBackend,WindowsBackend, and the CUDA variants).
Public re-exports at the crate root keep the canonical
mnemosyne_backend::CudaUnifiedBackend, MemoryBackendWrapper,
and backend_memory_stats paths while backend-specific helpers
live under [backends].