Scroll to navigation

posix_madvise(3) Library Functions Manual posix_madvise(3)

NUME

posix_madvise - oferă indicații despre modelele de utilizare a memoriei

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <sys/mman.h>
int posix_madvise(void addr[.len], size_t len, int advice);

Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

posix_madvise():


_POSIX_C_SOURCE >= 200112L

DESCRIERE

Funcția posix_madvise() permite unei aplicații să informeze sistemul cu privire la modelele preconizate de utilizare a memoriei în intervalul de adrese începând de la addr și continuând cu len octeți. Sistemul este liber să utilizeze aceste indicații pentru a îmbunătăți performanța accesărilor de memorie (sau să ignore complet aceste indicații), dar apelarea funcției posix_madvise() nu trebuie să afecteze semantica accesului la memorie în intervalul specificat.

Argumentul advice este unul dintre următoarele:

Aplicația nu are nicio indicație specială cu privire la modelele de utilizare a memoriei pentru intervalul de adrese specificat. Acesta este comportamentul implicit.
Aplicația se așteaptă să acceseze secvențial intervalul de adrese specificat, de la adresele inferioare la cele superioare. Prin urmare, paginile din această regiune pot fi citite agresiv înainte și pot fi eliberate imediat după ce sunt accesate.
Aplicația se așteaptă să acceseze intervalul de adrese specificat în mod aleatoriu. Astfel, citirea înainte poate fi mai puțin utilă decât în mod normal.
Aplicația se așteaptă să acceseze intervalul de adrese specificat în viitorul apropiat. Astfel, citirea anticipată poate fi benefică.
Aplicația se așteaptă să nu acceseze intervalul de adrese specificat în viitorul apropiat.

VALOAREA RETURNATĂ

În caz de succes, posix_madvise() returnează 0. În caz de eșec, returnează un număr pozitiv de eroare.

ERORI

addr nu este un multiplu al dimensiunii paginii de sistem sau len este negativă.
advice nu este validă.
Adresele din intervalul specificat sunt parțial sau complet în afara spațiului de adrese al apelantului.

VERSIUNI

Suportul pentru posix_madvise() a fost adăugat în glibc 2.2.

STANDARDE

POSIX.1-2001.

NOTE

POSIX.1 permite unei implementări să genereze o eroare în cazul în care len este 0. În Linux, este permisă specificarea lui len ca fiind 0 (ca un no-op cu succes).

În glibc, această funcție este implementată folosind madvise(2). Cu toate acestea, începând cu glibc 2.6, POSIX_MADV_DONTNEED este tratată ca un no-op, deoarece valoarea corespunzătoare madvise(2), MADV_DONTNEED, are o semantică distructivă.

CONSULTAȚI ȘI

madvise(2), posix_fadvise(2)

TRADUCERE

Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

4 decembrie 2022 Pagini de manual de Linux 6.03