KernelScript 0.1 开源新语言发布,降低 Linux 内核 eBPF 开发门槛

报道介绍了 KernelScript 0.1 的首个公开版本发布,该项目以 Apache 2.0 许可证开源,旨在降低 eBPF 开发门槛。KernelScript 通过从单个源文件生成所需的 C 代码、用户态程序、Makefile 和内核集成内容,提供更高层的语法抽象,支持 XDP、TC、探针追踪、perf 事件等多种 eBPF 程序类型,并内置多类映射(哈希、per-CPU、LRU、固定映射)及尾调用、dynptr、生命周期检查、struct_ops 和 kfunc 等高级特性。项目目前仍为实验性测试版,语法、API 和功能可能发生不兼容变更。

5 月 26 日消息,科技媒体 Linuxiac 昨日(5 月 25 日)发布博文,报道称 KernelScript 0.1 首个公开版发布,这是一个面向 eBPF 开发的开源新语言,采用 Apache 2.0 许可证。

IT之家注:eBPF(Extended Berkeley Packet Filter)是一项革命性的 Linux 内核技术,支持开发者在不修改内核源码或加载内核模块的情况下,安全地运行沙箱程序,动态扩展内核功能。

传统 eBPF 开发具备较高门槛,不只要写 eBPF 程序本身,通常需要理解验证器限制、BPF 辅助函数、映射机制、程序加载方式,以及基于 libbpf 的用户态协同逻辑。

KernelScript 的做法是从 1 个源文件出发,自动生成所需的 C 代码、用户态程序、Makefile,以及内核模块集成内容。

KernelScript 专门贴合 eBPF 工作流,用更高层语法覆盖这类复杂流程,当前版本已支持多种主流 eBPF 程序类型,包括 XDP 包处理、TC 流量控制、探针类内核函数追踪,以及基于 perf event 的性能计数程序。

在状态共享方面,KernelScript 内置支持多类 eBPF 映射,包括哈希映射、每 CPU 数组、LRU 映射和固定映射。这些映射可直接作为语言级变量使用,方便 eBPF 程序与用户态代码共享状态,减少手写 libbpf 样板逻辑。

它还支持自动尾调用编排、透明 dynptr 处理、程序生命周期检查、struct_ops 支持和内建 kfunc 集成,体现出对进阶 eBPF 能力的覆盖。

KernelScript 0.1 Debuts as a New Language for eBPF Development

KernelScript 0.1 现阶段仍是实验性版本。项目仓库明确将其标注为测试软件,并提醒语法、API 和功能都可能在没有向后兼容保证的情况下变化。

参考

  • KernelScript

版权声明:本站文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

评论加载中...