CPC G06F 12/023 (2013.01) [G06F 3/064 (2013.01); G06F 3/0631 (2013.01); G05B 2219/34403 (2013.01); G06F 8/434 (2013.01); G06F 8/443 (2013.01); G06F 8/4434 (2013.01)] | 14 Claims |
1. In a dynamic memory allocator, a method of allocating memory to a process, the method comprising executing on a processor the steps of:
creating one or more arenas within the memory, each arena comprising one or more memory blocks and each arena having an n-byte aligned arena address;
upon receiving a memory request from the process, returning a pointer to the process, the pointer having as its value an address of a memory block selected from one of the arenas;
upon determining that the memory block is no longer needed by the process, retrieving the address of said memory block from the pointer and releasing the memory block;
upon a new arena being created, shifting forward the n-byte aligned address of said new arena according to a stored variable such that each memory block of said new arena is also shifted by the stored variable, the stored variable having n bytes and the stored variable having a random value.
|