Interoperabilidade Rust e C no Kernel Linux: Memória, Estruturas Auto-referenciadas e Travas
2025-07-19
Este artigo examina os detalhes da interação entre código Rust e C no kernel Linux. Destaca a alocação de memória (Kmalloc, Vmalloc, KVmalloc e seus respectivos usos de Box e Vec), o tratamento de estruturas auto-referenciadas (Pin e a macro pin_init!) e os mecanismos de trava (Mutex, LockedBy, GlobalLockedBy). O Rust aprimora a segurança do código do kernel e reduz erros de tempo de execução por meio de seu sistema de tipos e gerenciamento de tempo de vida.
(lwn.net)
Desenvolvimento
Interoperabilidade C