memoryobjects
Memory objects are abstract representations of memory blocks used by software systems to track, manage, and protect regions of memory. They encapsulate the actual memory region (address and size) along with metadata describing its permissions, lifecycle, and usage. In many runtimes, memory objects serve as the unit of allocation and deallocation, separate from the raw memory channels provided by the operating system.
Typical fields include base address, size, access rights, allocation status, lifetime age, reference counts, and provenance
Lifecycle: memory objects are created on allocation, may be grown or shrunk if supported, and are deallocated
In practice, memory objects appear in different layers: language runtimes (for example, managed heaps), operating system
Criticism and limitations include the overhead of metadata, potential performance costs, and the complexity of allocator