Perteneciente al kernel de Linux, ¿las páginas "Kernel" se intercambian alguna vez? Además, ¿las páginas de espacio de usuario llegan a residir en ZONE_NORMAL?¿Se intercambian las páginas Kernel?
Respuesta
No, la memoria del núcleo no se puede mover.
Las páginas del núcleo no son intercambiables. Pero puede ser liberado.
Las páginas UserSpace pueden residir en ZONE_NORMAL. Sistema Linux Se puede configurar para usar HIGHMEM o no. Si ZONE_HIGHMEM está configurado, los procesos de espacio de usuario obtendrán su memoria de HIGHMEM, de lo contrario los procesos de espacio de usuario obtendrán memoria de ZONE_NORMAL.
Sí, en circunstancias normales no son swappable, de hecho, una vez detectados páginas de núcleo (es decir, la memoria que reside en el núcleo para el uso del kernel) (ver el código fuente de manipulador de fallo de página), el núcleo se bloqueará de forma explícita en sí .
ver esto:
http://lxr.free-electrons.com/source/arch/x86/mm/fault.c
y la función:
1205 /*
1206 * This routine handles page faults. It determines the address,
1207 * and the problem, and then passes it off to one of the appropriate
1208 * routines.
1209 *
1210 * This function must have noinline because both callers
1211 * {,trace_}do_page_fault() have notrace on. Having this an actual function
1212 * guarantees there's a function trace entry.
1213 */
1214 static noinline void
1215 __do_page_fault(struct pt_regs *regs, unsigned long error_code,
1216 unsigned long address)
1217 {
y la detección aquí:
1246 *
1247 * This verifies that the fault happens in kernel space
1248 * (error_code & 4) == 0, and that the fault was not a
1249 * protection error (error_code & 9) == 0.
1250 */
1251 if (unlikely(fault_in_kernel_space(address))) {
1252 if (!(error_code & (PF_RSVD | PF_USER | PF_PROT))) {
1253 if (vmalloc_fault(address) >= 0)
1254 return;
1255
1256 if (kmemcheck_fault(regs, address, error_code))
1257 return;
1258 }
Pero el mismo controlador fallo de página - que puede detectar fallo de página que surja desde memoria de modo de usuario inexistente (todo el hardware pagefault det La operación siempre se realiza en kernel) recuperará explícitamente los datos del espacio de intercambio, si existe, o iniciará una rutina de asignación de memoria para dar más memoria al proceso.
Ok, dicho esto, núcleo no intercambiar estructuras de núcleo/memoria/listas de tareas, etc., durante el software de suspensión e hibernación operación:
https://www.kernel.org/doc/Documentation/power/swsusp.txt
y durante la fase de reanudación será restaurar de nuevo la memoria del núcleo de intercambio archivo.
- 1. Después de la rotación, ¿las coordenadas de UIView se intercambian pero las de UIWindow no?
- 2. ¿Cómo se raspan las páginas de AJAX?
- 3. jQuery ordenable obtener 2 elementos que se intercambian
- 4. ¿Cómo se intercambian claves con valores en array?
- 5. heredando las páginas .aspx?
- 6. Cómo minificar las páginas aspx
- 7. ¿cómo se diagnostica un kernel?
- 8. ¿Cómo se puede secuenciar scala directamente en las páginas JSP?
- 9. ¿Cómo se crean las páginas de prueba de WCF?
- 10. .htaccess hace que todas las páginas se descarguen
- 11. ¿Cómo se comportan los submódulos en las páginas de github?
- 12. ¿Las páginas web válidas se cargan más rápido?
- 13. ¿Cómo se lanza un kernel CUDA?
- 14. Cómo 301 redirigir todas las páginas a las mismas páginas en el nuevo dominio
- 15. ¿Cómo se intercambian dos números sin usar variables temp o operaciones aritméticas?
- 16. ¿Cómo puedo solucionar el problema de Android 9161, donde se intercambian bottomRightRadius y bottomLeftRadius?
- 17. Firmas electrónicas en las páginas web
- 18. Determinar cuándo un ViewPager cambia las páginas
- 19. ¿Se puede usar OpenGL en Kernel?
- 20. Eliminando .aspx de las páginas usando rewriteModule?
- 21. asignando ViewData a las páginas maestras anidadas
- 22. Las páginas cargan dos veces en Firefox?
- 23. IIS7 e IE8 - ¿Las páginas se representan de forma diferente en las mismas versiones de IE8?
- 24. URL bonitas para las páginas de búsqueda
- 25. ¿Cómo arreglar las páginas sucias de InnoDB?
- 26. ¿Dónde almacena WordPress las páginas HTML?
- 27. ¿Cómo incluir CSS en las páginas maestras?
- 28. Pasar automáticamente por las páginas web
- 29. Compartir en las páginas sociales con django
- 30. ¿Dónde están las páginas man para C++?
¿Qué pasa con las páginas asignadas por los controladores? –