Memory Management

The issues in memory requests:

The goals we want to achieve in memory management:

Cost Criteria:

Implicitly freeing memory space (garbage collection)

Explicitly freeing memory space has two operations explicitly called by applications: allocate (new/malloc/calloc) and free (delete/free).

Utilization of memory space can't be perfect -- it's an NP complete problem. The heuristics commonly used for allocation includes:

Example memory management methods: