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.

Desenvolvimento Interoperabilidade C