¿Linux asignifica inmediatamente la memoria para el proceso después de MMAP ()? -- linux-kernel campo con mmap camp Relacionados El problema

Does Linux immediately allocate memory for process after mmap()?


0
vote

problema

Español

Estoy leyendo el código fuente de mmap() , y encontré que el kernel de Linux hará que el mapa de archivos en el vma6 Struct. vma solo representa áreas de memoria. Entonces, ¿el sistema operativo asignará inmediatamente la memoria física para el proceso después de mmap() ?

Original en ingles

I am reading the source code of mmap(), and I found the Linux kernel will make the files map into the vma struct. vma only represents memory areas. So, will the OS immediately allocate physical memory for the process after mmap()?

     

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

No, Linux puede diferir asignación de la memoria física, solicitada por mmap , hasta que se acceda a esa memoria.

Cuando la aplicación accede a una memoria no impulsada, se desencadena la excepción de la falla de la página ; Cuando se encarga de esta excepción, Linux puede asignar la memoria que se accede, lo que permite que la aplicación continúe.

 

No, Linux may defer allocation of the physical memory, requested by mmap, until that memory will be accessed.

When application accesses an unmapped memory, page fault exception is triggered; when handle this exception, Linux may map that accessed memory, allowing the application to continue.

 
 
   
   

Relacionados problema

1  ¿Es MMAP lo que necesito de Alsa para jugar sonidos simultáneos e inmediatos en mi juego?  ( Is mmap what i need from alsa to play simultaneous immediate sounds in my game ) 
Soy nuevo en ALSA y he logrado obtener el sonido PCM jugado en el modo SND_PCM_ACCESS_RW_ERPERLEVED. Mi problema es que simplemente no puedo encontrar una man...

1  Que se ejecuta fuera de los descriptores de archivos para archivos mmaped a pesar de los límites de altos en la aplicación web de MultiPhreaded  ( Running out of file descriptors for mmaped files despite high limits in multithr ) 
Tengo una aplicación que mmmaps es una gran cantidad de archivos. 3000+ o menos. También utiliza unos 75 hilos de trabajadores. La aplicación está escrita en ...

194  mmap () vs. bloques de lectura  ( Mmap vs reading blocks ) 
Estoy trabajando en un programa que procesará los archivos que podrían ser potencialmente 100 GB o más de tamaño. Los archivos contienen conjuntos de registro...

1  Conseguir la falla de segmentación SIGSEGV en Memcpy después de MMAP  ( Getting segmentation fault sigsegv in memcpy after mmap ) 
Escribí una simple función nativa de Android que obtiene un nombre de archivo y algunos argumentos más y leí el archivo por MMPPPPAP (MMAP) Es la memoria. P...

0  Límite de tamaño de mapa MMAP [duplicado]  ( Mmap map size limit ) 
Esta pregunta ya tiene respuestas aquí : Cerrado 8 años . posible duplicado: Cómo obtener ...

12  ¿Cuál es la forma más rápida de leer 10 GB de archivo desde el disco?  ( What is the fastest way to read 10 gb file from the disk ) 
Necesitamos leer y contar diferentes tipos de mensajes / ejecutar Algunas estadísticas en un archivo de texto de 10 GB, por ejemplo, una fix motor Iniciar s...

2  ¿Existe un equivalente a las estructuras de datos horneados de mapas de memoria (la forma en que podría en C ++) en Java?  ( Is there an equivalent of memory mapping baked data structures the way you migh ) 
Tengo una estructura de datos masiva que necesita cargar, de manera efectiva, al instante. Es muchos terabytes de datos, un gráfico, de hecho. Un buttload de ...

4  Cómo usar MMAP & PROC MEMORY compartida entre el kernel y el espacio de usuario  ( How to use mmapproc shared memory between kernel and userspace ) 
Estoy desarrollando un módulo de kernel de Linux. Quiero usar mmap y proc sistema de archivos para compartir la memoria entre el kernel y el espacio de us...

2  Descriptor de archivo Libmagic Cerrar en NetBSD  ( Libmagic close file descriptor on netbsd ) 
Estoy escribiendo un FastCGI para proporcionar la compresión de Zlib en contenido estático para proveedores web que no lo hace, y estoy experimentando problem...

35  ¿Hay una API de mapeo de memoria en la plataforma Windows, al igual que MMAP () en Linux?  ( Is there a memory mapping api on windows platform just like mmap on linux ) 
¿Hay una API para hacer un mapeo de memoria, al igual que mmap() en linux? ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos