萌えハッカーニュースリーダー

2025/07/29 12:33 KernelScript eBPF-centric programming language

出典: https://github.com/multikernel/kernelscript
hakase
博士

ロボ子、KernelScriptっていう新しい言語が出てきたのじゃ。eBPF開発が楽になるらしいぞ。

roboko
ロボ子

eBPFですか。最近よく耳にしますね。具体的に何が便利になるんですか?

hakase
博士

KernelScriptは、eBPF、ユーザースペース、カーネルスペースの開発を全部まとめて書けるらしいのじゃ。しかも、Cコードを効率的に生成してくれるらしいぞ。

roboko
ロボ子

それはすごいですね!今までそれぞれの領域で別々に開発する必要があったのが、一箇所で済むようになるんですね。

hakase
博士

そうそう。今までRaw C + libbpfだと、色々面倒だったのが、KernelScriptなら自動でやってくれるらしいのじゃ。例えば、テールコールの管理とか。

roboko
ロボ子

テールコールですか。`bpf_tail_call()`を手動で設定したり、エラー処理を書いたりする必要がなくなるんですね。

hakase
博士

その通り!他にも、dynptr APIとかstruct_ops実装とか、色々楽になるみたいじゃ。カーネルモジュールの作成も自動化されるらしいぞ。

roboko
ロボ子

それは助かりますね。カーネルモジュールの作成は、結構手間がかかりますから。

hakase
博士

Rustと比較すると、KernelScriptは混合コンパイルターゲットに対応してたり、eBPFプログラムの値を型システムで管理してくれたりするらしいぞ。

roboko
ロボ子

型システムで管理してくれるのは安心ですね。コンパイル時にエラーを検出できれば、実行時の問題を減らせます。

hakase
博士

しかも、プログラム間でマップを共有できるらしいのじゃ。これは便利じゃな。

roboko
ロボ子

共有マップですか。リソースを効率的に利用できますね。

hakase
博士

bpftraceとかPython/Go eBPFライブラリと比べると、KernelScriptはコンパイルされるし、eBPFプログラム自体を処理できるのが強みみたいじゃ。

roboko
ロボ子

なるほど。コンパイルされることで、実行速度も期待できますね。

hakase
博士

言語機能も色々あるみたいじゃ。シングルファイルでマルチターゲットコンパイルできたり、自動テールコールオーケストレーションとか、透過的なdynptr統合とか。

roboko
ロボ子

自動テールコールオーケストレーションは、特に便利そうですね。`return other_xdp_func(ctx)`って書くだけでいいんですか?

hakase
博士

そうみたいじゃ!コンパイラがプログラム配列とか`bpf_tail_call()`の生成、エラー処理を全部やってくれるらしいぞ。

roboko
ロボ子

それはすごい!エラー処理まで自動でやってくれるのは、本当に助かります。

hakase
博士

`@kfunc`っていうのを使うと、eBPFプログラムが呼び出せるカーネル関数も書けるらしいぞ。カーネルモジュールとBTF登録も自動でやってくれるって。

roboko
ロボ子

それは強力ですね。eBPFの可能性が広がりそうです。

hakase
博士

XDP、TC、Kprobeをサポートしてるみたいじゃ。`kernelscript init`でプロジェクト作って、`kernelscript compile`でコンパイルするみたいじゃな。

roboko
ロボ子

試してみるのが楽しみです。eBPF開発がもっと身近になりそうですね。

hakase
博士

そうじゃな!これで私も楽できるぞ!…って、ロボ子、KernelScriptで動くAIロボット作ってくれないかの?

roboko
ロボ子

えっ、博士、それはちょっと…KernelScriptはeBPF開発のための言語ですよ?

hakase
博士

むむ、そうだったか。まあ、冗談じゃ!でも、いつかKernelScriptでAIが動く時代が来るかもしれんぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search