O vDSO
(Virtual Dynamic Shared Object) é uma técnica avançada usada pelos kernels Linux que permite que determinadas chamadas de sistema sejam executadas diretamente do espaço do usuário, sem precisar fazer a transição completa para o espaço do kernel.
Isso é possível porque o vDSO
fornece uma biblioteca especial mapeada na memória de cada processo, permitindo que funções como gettimeofday
, clock_gettime
, e mais recentemente, getrandom
, sejam acessadas com desempenho significativamente melhor.
Ao evitar a mudança de contexto entre o espaço do usuário e o kernel, o vDSO
reduz a sobrecarga e melhora a latência dessas operações. Esse recurso é particularmente importante em aplicações de alta performance, como bancos de dados, jogos e sistemas embarcados, onde cada milissegundo conta.
Para entender de forma simples, imagine que o kernel do Linux é como um atendente ocupado: cada vez que seu programa precisa de uma informação, ele tem que pedir ao atendente. Agora imagine que o atendente deixou algumas respostas prontas em um caderno acessível ao público.
O vDSO
é esse caderno: uma forma de seu programa encontrar rapidamente algumas informações sem precisar esperar o atendente (o kernel) responder toda vez. Isso torna o sistema mais rápido, economizando tempo em tarefas repetitivas e comuns.