A memory management unit including: a first memory portion in which a
memory area is allocated; a memory allocation processor for allocating
and releasing a memory area in the first memory portion; a second memory
portion for storing reserve area information regarding a memory area
which should be reserved in an upper or lower address area of the first
memory portion; and a learning reservation processor for monitoring the
memory area allocation and release executed in the memory portion,
allowing the information regarding the memory area which fragments the
first memory portion to be stored in the second memory portion as the
reserve area information. The learning reservation processor gives an
instruction to the memory allocation processor to reserve a memory area
according to the reserve area information, and the memory allocation
processor reserves the memory area according to the reserve area
information.