madvise
Wygląd
madvise to wywołanie systemowe mające na celu poinformowanie systemu pamięci wirtualnej systemu operacyjnego o planowanym sposobie użycia danego obszaru pamięci (szczególnie pamięci mmap
owanej lub dzielonej), tak żeby miał on możliwość użycia bardziej wydajnych algorytmów pamięci wirtualnej.
int madvise(void *start, size_t length, int advice);
Możliwe wartości advice
:
MADV_NORMAL
- typowe wzorce dostępuMADV_RANDOM
- dostęp losowy - read ahead niewskazanyMADV_SEQUENTIAL
- dostęp sekwencyjny - znaczny read ahead wskazany, można zwolnić przeczytane strony niedługo potemMADV_WILLNEED
- prawdopodobnie będzie używana w najbliższej przyszłości - lepiej nie zwalniać cache tej pamięciMADV_DONTNEED
- prawdopodobnie nie będzie używana w najbliższej przyszłości - można zwolnić cache tej pamięci
Wywołanie pojawiło się po raz pierwszy w 4.4BSD.