LinuxカーネルにおけるRustとCの相互運用性:メモリ、自己参照構造体、ロック
2025-07-19
この記事では、Linuxカーネル内でRustとCコードを連携させる際の複雑な点を掘り下げます。メモリ割り当て(Kmalloc、Vmalloc、KVmalloc、および対応するBoxとVecの使い方)、自己参照構造体の処理(Pinとpin_init!マクロ)、ロックメカニズム(Mutex、LockedBy、GlobalLockedBy)に焦点を当てています。Rustは、その型システムとライフタイム管理によって、カーネルコードの安全性を高め、ランタイムエラーを削減します。
(lwn.net)
開発
C相互運用