Systemy Operacyjne : Pamięć : Odwzorowywanie plików do pamięci

Jakub Kowalski


Mapowanie Obszaru (Algorytm)

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.



© 2001 Łukasz Bolikowski, Jakub Górski, Jakub Kowalski, Janusz Kuligowski, Tomasz Szymko