namespace: ashet.process.memory
Documentation
Each process has its own memory heap managed by the kernel. This removes the requirement that each process has to ship their own memory allocator and the kernel may choose a system-optimal allocation strategy.
Lore:
Ashet OS is tailored for systems with tiny memory footprints. The typical way of memory management in operating systems is that each process has their own virtual memory space and the os can do "append only"-style memory management.
The problem with this design is that it requires a memory management unit that supports virtual memory, and usually works with page granularity. This means the smallest chunk of memory a process can allocate is a single page, usually 4096 bytes.
For the systems we target, this is 0.5‰ of the total system memory assuming 8 MiB of RAM. Thus, Ashet OS provides a finer-grained kernel memory allocator which internally allows sharing allocations in a much finer process memory assignments than chunks of 4096 bytes.