Użytkownik może zamapować plik do pamięci procesu wywołując funkcję systemową mmap().
Gdy próbujemy dodać nowy obszar do mapowania najpierw próbujemy rozszerzyć już istniejącą strukturę vma, tak, aby obejmowała i dodawany obszar. Jeśli to się nie powiedzie to dodajemy nową strukturę vma.
Przy dodawaniu obszaru obowiązuje nas ograniczenie na ilość struktur vma dla danego mapowania (MAX_MAP_COUNT). Jeśli przekroczymy to ograniczenie zostanie zwrócony błąd ENOMEM, nawet, jeśli pamięć mogłaby być zaalokowana.
Ponadto jeśli przekroczymy ustalony próg (AVL_MIN_MAP_COUNT), to budowane jest drzewo AVL (z listy wszystkich vma) i od tej pory wszystkie wyszukiwania są robione po tym właśnie drzewie.