Memory Management
Concepts
Provides an introduction to memory management, especially chunks
and heaps.
- Address Space and Process
Programs in Symbian platform consist of a number of processes, each of which contains one or more conceptually concurrent threads of execution. Each thread has at least one chunk of memory.
- Chunks
Chunks map RAM or memory-mapped I/O devices into contiguous virtual addresses.
- Heaps
The main thread of a process has a memory chunk that contains the thread's heap. A program's request for memory is allocated from this heap.
- Structure of a heap
A heap consists of two lists of cells; the list of allocated cells and the list of free cells.
- Virtual machine model
The Kernel provides a 'virtual machine' environment to user processes where each process accesses its data in the same virtual address range.
- Shared Memory between Threads
This document describes the shared memory between threads and how to avoid race conditions.