Pergunta

Embora já existam muitos threads em execução no kmalloc e no vmalloc, não obtive minha resposta exata, por isso estou colocando-a aqui.

Até onde sei,

kmalloc :É a API do kernel que aloca memória fisicamente e virtualmente contígua.

vmalloc :É a API do kernel que aloca memória fisicamente não contígua, mas virtualmente contígua.

Agora minha pergunta é:Em ambos os casos (kmalloc ou vmalloc), o endereço ou o ponteiro retornado por ambas as APIs está correto?

O gerenciamento de memória sempre foi uma parte cinzenta para mim no kernel do Linux, então corrija-me se meu entendimento estiver errado.

Foi útil?

Solução

Sim, o ponteiro pode ser desreferenciado no seu código para acessar a memória alocada.

Essas funções que retornam outro tipo de referência de memória não retornam void* Eu penso.Eles geralmente retornam unsigned long ou tipos digitados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top