Pregunta

Aunque hay muchos hilos que se están ejecutando en KMALLOC y VMALLOC, pero no obtuve mi respuesta exacta, así que lo estoy poniendo aquí.

Ya lo sé,

kmalloc: es la API del kernel que asigna físicamente también la memoria virtualmente contigua.

vmalloc: es la API del kernel que asigna la memoria físicamente no contigua pero virtualmente contigua.

Ahora, mi pregunta es: en ambos casos (KMALLOC o VMALLOC) dirección o decir puntero devuelto por ambas API, ¿la dirección lógica es correcta?

La gestión de la memoria siempre ha sido parte gris para mí en Linux Kernel, así que por favor corríjame si mi comprensión está mal.

¿Fue útil?

Solución

Sí, el puntero puede ser dederferenciado en su código para acceder a la memoria asignada.

Aquellas funciones que devuelven otro tipo de referencia de memoria no devuelven void*, creo.Por lo general, devuelven unsigned long o typedef'd tipos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top