A method of selecting a contiguous area of memory that is to be allocated for a segment. The available areas are examined in order of increasing size; the area that exceeds the request by the smallest amount is taken and the request met by allocating the amount requested from this area.