¿Qué es/proc/ksyms y/proc/kallsyms, y por qué está mapeado en un espacio de direcciones de procesos? ¿Para qué sirve? ¿Se usa en el cambio de contexto del núcleo durante una llamada al sistema?Tabla de símbolos del kernel mapeada en el espacio de direcciones virtuales - ¿por qué?
5
A
Respuesta
3
La página de manual de Solaris para ksyms(7d)
lo explica. Los datos son solo informativos, el kernel expone su tabla de símbolos actualmente utilizada a los depuradores del kernel y/o al cargador del módulo kernel de esta manera, a través del /dev/ksyms
.
Linux hace lo mismo a través de /proc/kallsyms
; /proc/ksyms
- si está presente - es un archivo "tradicional" que presenta un subconjunto de los mismos datos (es decir, está en desuso).
La diferencia, como es habitual en Linux/Solaris, es que la versión de Linux presenta texto mientras que Solaris es binario. Puede ejecutar nm /dev/ksyms
en Solaris para obtener el mismo tipo de salida que obtiene de en Linux.
Cuestiones relacionadas
- 1. Memoria del kernel (entradas de direcciones virtuales) en TLB?
- 2. "Direcciones virtuales relativas", en relación a qué?
- 3. Linux (Ubuntu), lenguaje C: Traducción de direcciones virtuales a físicas
- 4. Del kernel al espacio de usuario (DMA)
- 5. Espacio de direcciones virtuales en sistemas de 64 bits que se ejecutan en modo de compatibilidad
- 6. ¿Cómo acceder al espacio del kernel desde el espacio del usuario?
- 7. ¿Qué es una tabla de símbolos?
- 8. ¿Cómo soporta Linux más de 512 GB de rango de direcciones virtuales en x86-64?
- 9. Cómo usar ioctl() desde el espacio del kernel en Linux?
- 10. traducción de dirección virtual del kernel
- 11. ¿Cómo se asignan las mismas direcciones virtuales para diferentes procesos a diferentes direcciones físicas?
- 12. ¿Cómo acceder a la memoria de espacio de usuario desde el kernel de Linux?
- 13. en kernel y espacio de usuario
- 14. ¿Por qué las funciones virtuales en C++ se llaman 'virtuales'?
- 15. direcciones virtuales y físicas de secciones en archivos elf
- 16. Tabla de símbolos en Python
- 17. ¿Por qué usar funciones virtuales?
- 18. Emacs: visualización de símbolos de espacio/pestaña
- 19. OpenCL struct argumento espacio de direcciones no válido
- 20. ¿Tabla de acceso en la tabla de direcciones de importación?
- 21. Vinculación de símbolos dentro del espacio de nombres anónimo dentro de un espacio de nombre normal
- 22. Tamaño verdadero del espacio de tabla en el oráculo
- 23. Índice en el espacio de tabla
- 24. espacio de proceso de 32 bits de direcciones en Linux de 64 bits
- 25. ¿Qué significa m en el archivo de configuración del kernel?
- 26. Netlink espacio de usuario y comunicación kernel-espacio
- 27. ¿Por qué Ruby expone símbolos?
- 28. ¿Por qué se requiere copy_to/from_user?
- 29. ¿Por qué hay varios archivos c en la tabla de símbolos de% main ::?
- 30. Asignación de direcciones físicas a la dirección virtual de Linux
¡gracias por el enlace! –