Znajdowanie obszaru VMA

Do znajdowania obszaru VMA służy funkcja find_vma15z pliku mmap.c, która jako parametry dostaje deskryptor pamięci obszaru i adres którego szukamy. W wyniku zwraca wskaźnik do pierwszego deskryptora obszaru, który kończy się za szukanym adresem16, albo NULL jeśli nie znajdzie takiego deskryptora.

Mamy też dostępną funkcję find_vma_intersection (zdefiniowaną w pliku mm.h), która znajduje pierwszy VMA przecinający się z zadanym zakresem adresów. Zwraca NULL gdy nie ma takiego VMA.

Jest również funkcja do poszukiwania nie przydzielonych adresów w przestrzeni adresowej procesu: get_unmapped_area. Funkcja ta zasadniczo zwraca adres początku pierwszego wolnego obszaru o zadanej wielkości.


Tomasz Szymko 27 listopada 2001