mincore(2) System Calls Manual mincore(2) NUME mincore - determina daca paginile sunt rezidente in memorie BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include int mincore(void addr[.length], size_t length, unsigned char *vec); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): mincore(): Incepand cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 i versiunile anterioare: _BSD_SOURCE || _SVID_SOURCE DESCRIERE mincore() returneaza un vector care indica daca paginile din memoria virtuala a procesului apelant sunt rezidente in nucleu (RAM) i, prin urmare, nu vor cauza un acces la disc (page fault) daca sunt menionate. Nucleul returneaza informaii de rezidena despre pagini incepand cu adresa addr i continuand cu length octei. Argumentul addr trebuie sa fie un multiplu al dimensiunii paginii de sistem. Argumentul length nu trebuie neaparat sa fie un multiplu al dimensiunii paginii, dar deoarece informaiile privind rezidena sunt returnate pentru pagini intregi, length este rotunjit efectiv la urmatorul multiplu al dimensiunii paginii. Se poate obine dimensiunea paginii (PAGE_SIZE) folosind sysconf(_SC_PAGESIZE). Argumentul vec trebuie sa indice o matrice care sa conina cel puin (length+PAGE_SIZE-1) / PAGE_SIZE octei. La returnare, bitul cel mai puin semnificativ al fiecarui octet va fi activat in cazul in care pagina corespunzatoare se afla in prezent in memorie, iar in caz contrar va fi dezactivat; (definirile celorlali bii din fiecare octet sunt nedefinite; aceti bii sunt rezervai pentru o eventuala utilizare ulterioara). Bineineles, informaiile returnate in vec sunt doar un instantaneu: paginile care nu sunt blocate in memorie pot aparea i disparea in orice moment, iar coninutul lui vec poate fi deja expirat in momentul in care se intoarce acest apel. VALOAREA RETURNATA In caz de succes, mincore() returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EAGAIN nucleul este temporar in criza de resurse. EFAULT vec indica o adresa nevalida. EINVAL addr nu este un multiplu al dimensiunii paginii. ENOMEM length este mai mare decat (TASK_SIZE - addr); (acest lucru ar putea sa apara daca se specifica o valoare negativa pentru length, deoarece aceasta valoare va fi interpretata ca un numar intreg mare fara semn). In Linux 2.6.11 i in versiunile anterioare, pentru aceasta condiie era returnata eroarea EINVAL. ENOMEM De la addr pana la addr + length coninea memorie necartografiata. STANDARDE Niciunul. ISTORIC Linux 2.3.99pre1, glibc 2.2. A aparut pentru prima data in 4.4BSD. NetBSD, FreeBSD, OpenBSD, Solaris 8, AIX 5.1, SunOS 4.1. ERORI Inainte de Linux 2.6.21, mincore() nu returna informaii corecte pentru cartografieri MAP_PRIVATE sau pentru cartografieri neliniare (stabilite cu ajutorul remap_file_pages(2)). CONSULTAI I fincore(1), madvise(2), mlock(2), mmap(2), posix_fadvise(2), posix_madvise(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 mincore(2)