madvise
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 mmapowanej 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ępu
- MADV_RANDOM - dostęp losowy - read ahead niewskazany
- MADV_SEQUENTIAL - dostęp sekwencyjny - znaczny read ahead wskazany, można zwolnić przeczytane strony niedługo potem
- MADV_WILLNEED - prawdopodobnie będzie używana w najbliższej przyszłości - lepiej nie zwalniać cache tej pamięci
- MADV_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.