IT之家 5 月 26 日消息,科技媒體 Linuxiac 昨日(5 月 25 日)發(fā)布博文,報(bào)道稱(chēng) KernelScript 0.1 首個(gè)公開(kāi)版發(fā)布,這是一個(gè)面向 eBPF 開(kāi)發(fā)的開(kāi)源新語(yǔ)言,采用 Apache 2.0 許可證。
IT之家注:eBPF(Extended Berkeley Packet Filter)是一項(xiàng)革命性的 Linux 內(nèi)核技術(shù),支持開(kāi)發(fā)者在不修改內(nèi)核源碼或加載內(nèi)核模塊的情況下,安全地運(yùn)行沙箱程序,動(dòng)態(tài)擴(kuò)展內(nèi)核功能。
傳統(tǒng) eBPF 開(kāi)發(fā)具備較高門(mén)檻,不只要寫(xiě) eBPF 程序本身,通常需要理解驗(yàn)證器限制、BPF 輔助函數(shù)、映射機(jī)制、程序加載方式,以及基于 libbpf 的用戶(hù)態(tài)協(xié)同邏輯。
KernelScript 的做法是從 1 個(gè)源文件出發(fā),自動(dòng)生成所需的 C 代碼、用戶(hù)態(tài)程序、Makefile,以及內(nèi)核模塊集成內(nèi)容。
KernelScript 專(zhuān)門(mén)貼合 eBPF 工作流,用更高層語(yǔ)法覆蓋這類(lèi)復(fù)雜流程,當(dāng)前版本已支持多種主流 eBPF 程序類(lèi)型,包括 XDP 包處理、TC 流量控制、探針類(lèi)內(nèi)核函數(shù)追蹤,以及基于 perf event 的性能計(jì)數(shù)程序。
在狀態(tài)共享方面,KernelScript 內(nèi)置支持多類(lèi) eBPF 映射,包括哈希映射、每 CPU 數(shù)組、LRU 映射和固定映射。這些映射可直接作為語(yǔ)言級(jí)變量使用,方便 eBPF 程序與用戶(hù)態(tài)代碼共享狀態(tài),減少手寫(xiě) libbpf 樣板邏輯。
它還支持自動(dòng)尾調(diào)用編排、透明 dynptr 處理、程序生命周期檢查、struct_ops 支持和內(nèi)建 kfunc 集成,體現(xiàn)出對(duì)進(jìn)階 eBPF 能力的覆蓋。

KernelScript 0.1 現(xiàn)階段仍是實(shí)驗(yàn)性版本。項(xiàng)目倉(cāng)庫(kù)明確將其標(biāo)注為測(cè)試軟件,并提醒語(yǔ)法、API 和功能都可能在沒(méi)有向后兼容保證的情況下變化。
參考
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。