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.
Kategoria:Unix