mincore(2)

NOMBRE
mincore - determina que páginas están en memoria

BIBLIOTECA
Biblioteca Estándar C (libc, -lc)

SINOPSIS
#include <sys/mman.h>

int mincore(size_t length;
            void addr[longitud], size_t longitud, entero sin signo *vec);

    Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

mincore():
    A partir de glibc 2.19:
        _DEFAULT_SOURCE
    Anteriores a glibc 2.19:
        _BSD_SOURCE || _SVID_SOURCE

DESCRIPCIÓN
mincore() devuelve un vector que indica si las páginas de la memoria virtual del proceso que realiza la llamada residen en el núcleo (RAM).no causarán, por lo tanto, un acceso al disco (fallo de página) si se hace referencia a ellas. El núcleo devuelve información acerca de la ubicación sobre las páginas, comenzando en la dirección addr y continuando durante length bytes.

El argumento addr debe ser un múltiplo del tamaño de página del sistema. El argumento length no necesita ser un múltiplo del tamaño de página, pero dado que la información de ubicación se devuelve para páginas completas, length se redondeará al siguiente múltiplo del tamaño de página. Se puede obtener el tamaño de la página (PAGE_SIZE) usando sysconf(_SC_PAGESIZE).

El argumento vec debe apuntar a un vector que contenga al menos (length+PAGE_SIZE-1) / PAGE_SIZE bytes. Al retornar, se establecerá el bit menos significativo de cada byte si la página correspondiente reside actualmente en memoria; en caso contrario, se borrará. (La configuración de los demás bits de cada byte no está definida, reservándose para un posible uso posterior). Por supuesto, la información retornada en vec es solo una instantánea: las páginas que no están bloqueadas en memoria pueden aparecer y desaparecer en cualquier momento, y el contenido de vec podría estar obsoleto al regresar esta llamada.

VALOR DEVUELTO
En caso de éxito, mincore() devuelve cero. En caso de error, se devuelve -1, y se define errno con el valor correspondiente.

ERRORES
EAGAIN el núcleo se ha quedado temporalmente sin recursos.

EFAULT
    vec apunta a una dirección inválida.

EINVAL
    add no es múltiplo del tamaño de página.

ENOMEM
    length es mayor que (TASK_SIZE - addr). (Esto podría ocurrir si se define un valor negativo para length, ya que se interpretará como un entero grande sin signo). En Linux 2.6.11 y versiones anteriores, se devolvía el error EINVAL para esta condición.

ENOMEM
    addr a addr + length contiene memoria sin ubicar.

ESTÁNDARES
Ninguno.

HISTORIAL
Linux 2.3.99pre1, glibc 2.2.

Apareció por primera vez en 4.4BSD.

NetBSD, FreeBSD, OpenBSD, Solaris 8, AIX 5.1, SunOS 4.1.

ERRORES
Antes de Linux 2.6.21, mincore() no devolvía información correcta para las asignaciones de MAP_PRIVATE ni para las asignaciones no lineales (establecidas mediante remap_file_pages(2)).

VÉASE TAMBIÉN
fincore(1), madvise(2), mlock(2), mmap(2), posix_fadvise(2), posix_madvise(3)

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.