¿Alguien sabe cuál es la diferencia entre mmap(2)
y mmap(3)
? La sección 3 del manual se describe como "Este capítulo describe todas las funciones de la biblioteca, excluidas las funciones de la biblioteca descritas en el capítulo 2, que implementan llamadas al sistema". ¿No realiza mmap(3)
una llamada al sistema?mmap (2) vs mmap (3)
Al leer las páginas de dos man, veo que mmap(2)
parece aceptar una variedad de banderas mucho más amplia que mmap(3)
, y afirma que puede asignar espacios de E/S del dispositivo. mmap(3)
afirma que puede asignar "objetos de memoria compartida" y "objetos de memoria tipeados" además de archivos, pero no menciona la E/S del dispositivo.
Dado que las dos funciones tienen el mismo nombre, ni siquiera estoy seguro de cómo puedo elegir una en lugar de la otra.
Gracias, eso fue muy claro. Gracias también por el puntero en el árbol fuente de la biblioteca C. Aunque realizo una gran cantidad de trabajo a nivel de kernel y controlador, rara vez incursiono en el espacio de usuario para algo más que las utilidades de prueba, y no he investigado en absoluto la fuente de glibc. Veo que me falta un enfoque muy útil para una serie de cuestiones. – EQvan