Memory Allocation
The Memory Manager provides
dynamic allocation of resources
of main memory.
Main function of manager: The organization and
synchronization of access to memory.
The
Memory Manager
supports the following
data mediums:
- Internal RAM (IRAM);
- External RAM < 64Kb (RAM);
- External RAM > 64Kb (ERAM);
- FRAM, MRAM wiht parallel-random acccess < 64Kb
(PRAM);
- FRAM, MRAM wiht parallel-random acccess > 64Kb
(EPRAM);
The manager gives the interface of polymorphic access to resources of memory and
provides the
mechanisms for its organization.
The user can divide main memory into configurations.
In turn, each area of a configuration can:
- To correspond to
the executing task;
- To have the personal allocation manager
(dynamic creation of memory managers).
The memory manager supports 6 algorithms of memory allocation:
1. HEAP.
Segments of variable length. For
IRAM, RAM, PRAM.
2. LIFO.
For all types of memory.
3. POOL.
Blocks of constant length (allocation
by pages). Only for RAM.
4. PAGE.
Blocks of constant length (allocation
by pages). For all types of memory.
5. MAP.
Tabular allocation.
For all types of memory.
6. MBIT. Tabular allocation. For
all types of memory.
The Algorithms 1-2 correspond to known classical methods of memory allocation:
a heap and a stack.
Algorithms 3-6 are intended for struggle with a fragmentation and provide
superfast access to main memory.
Them distinguish methods of the organization:
- reduction of time of access;
- minimization of resources.
The size of blocks (at allocation by pages) the user establishes at
initialization of the manager.
At the request of the user, the manager of pages can use strategy of guaranteed
allocation.
If all pages are already allocated, then the system give back the first page
which is in queue of used pages.
Librarys the Memory Manager and the
Data Manager
together compose a integrated control system of main
memory.