写点什么

eBPF 即将登陆 Windows

  • 2024-10-16
    北京
  • 本文字数:1141 字

    阅读完需:约 4 分钟

大小:540.25K时长:03:04
eBPF 即将登陆 Windows

在 IETF 和微软的帮助下,eBPF 将很快为 Linux 和 Windows 的内核程序提供跨平台兼容性。


在上个月的虚拟 eBPF 峰会上,Isovalent 的首席技术官兼联合创始人 Thomas Graf 谈到了这款开源的,由过滤器转型而成的内核引擎的未来。他指出,这个未来包括了微软 Windows 的版本。

 

微软研究人员已启动了一个项目,为 Windows 制作一个 eBPF 版本,也就是说为 Windows 内核提供一个类似的可编程接口。

 

自十年前被纳入内核以来,基于 Linux 的 eBPF 得到了广泛采用,尤其是可观察性、安全性和合规性工具对它的使用非常多。这些工具利用其可编程的高速特性来分析和过滤数据包,而无需繁琐的模块或危险的内核修改。

 

借助它承诺的 Windows 和 Linux 之间的跨平台兼容性,工具开发商就能写出同时支持两大平台的二进制文件了。

适用于 Windows 的 eBPF

与 Linux eBPF 一样,Windows eBPF 将提供一个沙箱,用于在内核本身内执行小程序,一旦代码得到验证,就会使用一个封闭的内核解释器来执行 eBPF 字节码。

 

GitHub 上发布的这个微软项目显示有 43 位贡献者,代码主要用 C 编写,还有少量 C++。

 

Graf 表示,该软件包将实现与 Linux eBPF 的字节码兼容性,并且还有类似的解释器和即时编译器来执行字节码。但是,考虑到 Windows 系统调用的差别,eBPF 连接到内核的挂钩点可能会有所不同。



微软的 eBPF Windows 版本架构

 

Graf 表示,为 Linux eBPF 开发的所有工具也将在“未来几年”移植到 Windows 环境中。

 

他警告说,这将给社区带来更多挑战。展望未来,工具开发商需要确保他们的产品在两种环境中都能正常工作。

 

因此它需要标准化。

eBPF 标准化

Graf 指出,最初,eBPF(现在,管理员们一致认为,这个名字不再代表任何东西)是作为一组代码发展起来的;当时它并没有遵循什么预先定义的规范。因此,代码本身“就是工具开发商必须遵循的标准”,他说。

 

互联网工程任务组(IETF)已着手开展一个项目,以尽可能保证 Windows 和 Linux 之间的“跨平台”兼容性,该工作组的技术顾问、也是微软 eBPF 项目的主要贡献者之一的 Dave Thaler 在今年早些时候的 Linux 基金会存储峰会上提到了这一点。

 

IETF eBPF 工作组的首要任务是巩固运行 eBPF 程序的虚拟机的指令集架构(ISA)。该机构已基本完成描述 ISA 的文档,只剩下一些最后的反馈。

 

ISA 工作完成后,该小组还计划为验证器制定一套期望机制,以保证不受信任的 eBPF 程序能够安全执行。验证器应该做什么来确保代码安全?验证器保证哪些安全属性?对于这项工作,该小组可以从 Linux 内核的 verifier.rst for eBPF 开始构建。

 

该小组还计划通过 ABI(应用程序二进制接口)规范创建一种用于生成可移植 eBPF 二进制文件的格式,也许基于现有的格式之一打造。

 

原文链接:https://thenewstack.io/ebpf-is-coming-for-windows/

2024-10-16 16:5610792

评论

发布
暂无评论
发现更多内容

定时任务cron

Geek_7ubdnf

Java

如何使用 Node.js Stream API 减少服务器端内存消耗

华为云开发者联盟

后端 开发 华为云 内存消耗 企业号 1 月 PK 榜

软件测试/测试开发 | 代码覆盖率集成

测试人

软件测试 自动化测试 测试开发 代码覆盖率

从状态机的角度async和await的实现原理

C++后台开发

多线程 linux开发 Linux服务器开发 状态机 C++开发

选择LED显示屏电源的7个指南

Dylan

电源电路 LED显示屏 led显示屏厂家

聊聊 SpringMVC 是如何工作的?

风铃架构日知录

程序员 springmvc IT springboot

现代数据平台要实现自助用数,要解决的三个问题

华为云开发者联盟

大数据 后端 华为云 企业号 1 月 PK 榜

Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用

tapdata

软件测试/测试开发 | 接口测试价值与体系

测试人

软件测试 自动化测试 接口测试 测试开发

本地安装并创建MySQL数据库

Geek_7ubdnf

MySQL 数据库

Mybatis自动生成增删改查代码

Geek_7ubdnf

Java mybatis

Linux安装Vue环境

Geek_7ubdnf

Linux Vue

卷扩容业务失败了,在线等…

华为云开发者联盟

开发 华为云 企业号 1 月 PK 榜 卷扩容 磁盘扩容

SpringBoot基础知识

Geek_7ubdnf

Java springboot

RTE 领域的发展,为视频编解码标准带来哪些新变化?丨Dev for Dev 专栏

声网

pip安装更换镜像

Geek_7ubdnf

Linux

实测 | Apipost和Apifox哪个更好用?

不想敲代码

接口调试 接口管理工具 API接口工具

Spring+Vue工程部署在Linux

Geek_7ubdnf

Java spring Linux Vue

SQL常用语句

Geek_7ubdnf

sql

【Unity干货教程】如何实现Unity和Android原生互相调用?

3DCAT实时渲染

Unity 实时云渲染 Unity3D

内部分享讲解DevOps后,我再组织成文

MavenTalker

DevOps 研发管理 敏捷实践

为什么建议SQL初学者尽量选择Web版SQL工具?

雨果

sql 数据库管理工具 SQL开发

openEuler资源利用率提升之道 05:虚机混部介绍与功耗管理技术

openEuler

数据库 Linux 操作系统 openEuler OpenStack

【UE虚幻引擎】干货!UE修改分辨率的3种方法

3DCAT实时渲染

游戏开发 虚幻引擎 ue 游戏开发引擎

面试官:什么是自旋锁?自旋的好处和后果是什么呢?

风铃架构日知录

Java 程序员 后端 自旋锁 循环

阿里云化身“智能云管”,助力中国联通首次实现大规模平台自主运维

云布道师

阿里云

来自开发者的点赞,龙蜥社区荣登“2022 中国技术品牌影响力榜单”

OpenAnolis小助手

开源 龙蜥社区 思否 榜单 技术先锋

Java中restTemplate的使用

Geek_7ubdnf

Java

Apollo本地快速部署

Geek_7ubdnf

Java Apollo

GoLang的安装和使用

Geek_7ubdnf

golang

华为云云筑·开发者年度盛典精彩回顾

华为云开发者联盟

云计算 开发者 华为云 数字人 企业号 1 月 PK 榜

eBPF 即将登陆 Windows_云安全_Joab Jackson_InfoQ精选文章