memd is the user-space memory policy service. It owns allocation policy decisions above kernel primitive object semantics.
Find a file
Erik Inkinen f158d5fc55
All checks were successful
CI / test (push) Successful in 5s
CI / security (push) Successful in 1m26s
CI / minimal-versions (push) Successful in 11s
memd: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:56 +02:00
.github refactor: update documentation structure and terminology across multiple files 2026-03-05 11:56:19 +02:00
src memd: split runtime and startup paths 2026-03-23 09:37:40 +02:00
.editorconfig Initial commit 2026-02-26 17:47:04 +01:00
.gitignore Initial commit 2026-02-26 17:47:04 +01:00
ARCHITECTURE.md runtime-mode: migrate feature gates and document mode model 2026-03-11 08:04:59 +02:00
Cargo.toml runtime-mode: migrate feature gates and document mode model 2026-03-11 08:04:59 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-02-26 17:47:04 +01:00
CONTRIBUTING.md Initial commit 2026-02-26 17:47:04 +01:00
LICENSE Initial commit 2026-02-26 17:47:04 +01:00
linker.ld Add initial implementation of memd service with startup validation and IPC reporting 2026-03-02 15:16:14 +02:00
README.md refactor: update documentation structure and terminology across multiple files 2026-03-05 11:56:19 +02:00
ROADMAP.md runtime-mode: migrate feature gates and document mode model 2026-03-11 08:04:59 +02:00
rustfmt.toml memd: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:56 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:14 +02:00

EriX Memory Service (memd)

memd is the user-space memory policy service. It owns allocation policy decisions above kernel primitive object semantics.


Scope

  • manage allocation policy over delegated untyped/frame authority
  • serve allocation/reclaim requests for root-managed services and processes
  • track accounting/ownership metadata needed for deterministic recovery

Out of Scope

  • kernel memory primitive implementation
  • virtual mapping policy (owned by vspaced/pagerd split)

Inputs and Outputs

  • startup contract: docs/handoff/root-to-services.md
  • receives capability set from rootd suitable for memory policy role
  • provides allocation-oriented IPC service endpoints to authorized peers

Invariants

  • authority usage constrained to delegated capabilities
  • deterministic behavior for identical request/boot state
  • no hidden global allocator authority

Implementation Status

Runtime baseline:

  • no_std executable service binary (x86_64-unknown-none) with SysV entry ABI
  • startup envelope parsing/validation via lib-bootstrap
  • role/intake contract validation via lib-capabi
  • runtime IPC server loop (RECV + REPLY) for alloc/free frame requests
  • deterministic in-service frame accounting and slot allocation