Opis struktury mm_struct
Definicja w pliku include/linux/sched.h
Przestrzeń adresowa procesu podzielona jest na spójne
obszary. Początkowo są one zorganizowane w listę jednokierunkową, a więc
wyszukanie adresu może wymagać przejrzenia wszystkich obszarów. Dlatego
jeśli ich liczba przekracza ustalony limit, organizowane są one w drzewo
AVL.
- mmap - wskaźnik do listy obszarów pamięci
- mmap_avl - wskaźnik do drzewa AVL obszarów pamieci
- mmap_cache - wskaźnik do ostatnio znalezionego obszaru
- pgd - wskaźnik do głownego katalogu stron procesu
- mm_users - ile procesów korzysta z tej struktury
- mm_count - liczba wskaźnikow do tej struktury
- map_count - liczba obszarów pamięci
- mmap_sem - semafor do dostępu do struktury (operacje na mmap i
mmap_avl)
- page_table_lock - lock do stron fizycznych
- mmlist - wskaźnik do listy wszystkich aktywnych mm_structs
- start_code, end_code - początek i koniec kodu wykonywalnego
- start_data, end_data - początek i koniec danych
- start_brk, brk - początek i aktualna pozycja na stercie
- start_stack - początek stosu (koniec jest na 3GB)
- arg_start, arg_end - początek i koniec parametrów wywołania
- env_start, env_end - początek i koniec zmiennych środowiskowych
- rss - łaczna liczba stron pamięci procesu
- total_vm - liczba obszarów pamięci
- locked_vm - liczba zablokowanych obszarów pamięci
- def_flags - domyślne flagi obszarów pamięci
- context - kontekst procesu
Powrót