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

Jakub Kowalski


Odmapowywanie Obszaru (Algorytm) funkcja do_munmap()

Odmapowywanie obszaru polega na usunięciu ze struktur vma informacji o nim o ile jest to możliwe niezmieniany jest zbiór struktur VMA, a jedynie zmieniana jest informacja zawarta w tych zbiorach - początek lub koniec jednego z mapowanych obszarów.

Jeśli są struktury VMA zawierające się w danym Obszarze są one usuwane.

Jeśli obszar odmapowywany jest ściśle zawarty w jakimś innym obszarze, to obszar zawierający obszar odmapowywany jest rozbijany na 2. Jeden z nowych obszarów jest budowany wykorzystując strukturę starego, drugi zaś jest tworzony i dodawany do struktur.

Paradoksalnie jedno mapowanie i wiele odmapowań może nam zakończyć się błędem braku pamięci, gdyż przekroczymy maksymalną ilość struktur VMA dla procesu.



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