A memory management apparatus suitable for reducing amount of memory usage
and simplifying programs is provided. When an area allocation request has
been inputted, an unused area having a size that is determined by area
size information included in the area allocation request is searched for
as a candidate area on the basis of a memory management table 400. And
overlap flag corresponding to an adjoining area that is contiguous with
the candidate area in its lower address orientation is read from the
memory management table 400, and, based on the overlap flag, it is
determined whether or not the adjoining area is an area that allows
overlapped allocation. If it is determined the area is an area allowing
overlapped allocation, a used area that overlaps with the adjoining area
is allocated.