KernelScript 0.1 发布,简化 Linux 内核 eBPF 开发
KernelScript 0.1 正式发布,这款开源新语言旨在简化 Linux 内核 eBPF(Extended Berkeley Packet Filter)的开发流程。KernelScript 采用 Apache 2.0 许可证,通过提供更高级别的语法,致力于降低开发者在 eBPF 编程中的门槛。
传统 eBPF 开发通常需要开发者深入理解内核验证器限制、BPF 辅助函数、映射机制、程序加载方式以及 libbpf 用户态协同逻辑。KernelScript 0.1 的核心优势在于其“一站式”开发模式,能够从单个源文件中自动生成所需的 C 代码、用户态程序、Makefile 以及内核模块集成内容。它内置支持多种 eBPF 程序类型,包括 XDP 包处理、TC 流量控制、内核函数追踪(探针类)以及基于 perf event 的性能计数程序。此外,KernelScript 在状态共享方面也进行了优化,集成了哈希映射、每 CPU 数组、LRU 映射和固定映射等多种 eBPF 映射,并允许它们作为语言级变量直接使用,从而简化了 eBPF 程序与用户态代码间的数据交换,并减少了对 libbpf 样板代码的依赖。
KernelScript 0.1 在功能层面还覆盖了自动尾调用编排、透明 dynptr 处理、程序生命周期检查、struct_ops 支持以及内建 kfunc 集成等进阶 eBPF 能力,旨在为开发者提供更全面、便捷的开发体验。该语言的设计理念是围绕 eBPF 的工作流进行优化,使开发者能够更专注于业务逻辑而非底层实现细节。

目前,KernelScript 0.1 仍处于实验性阶段,项目仓库已明确将其标记为测试软件,并提示其语法、API 和功能可能会在未来发生变化,且不保证向后兼容。对于希望探索 eBPF 开发的开发者而言,KernelScript 0.1 提供了一个值得关注的起点,尤其是在需要快速原型开发或希望简化复杂 eBPF 逻辑的场景下。