ebpf子系统在Linux中的发展历程

  • 2014年(3.18版本),eBPF最初被引入到Linux内核中,用于网络包过滤和性能分析。最初版本的eBPF非常有限,只能执行少量的操作,如计数和跟踪。

    • 引入一组新的系统调用bpf()以及bpf_batch(),支持加载eBPF程序到内核中运行
    • 引入了用于内核态和用户态之间通信的bpf()函数族,使得用户空间应用程序可以与内核中运行的eBPF程序进行交互
  • 在Linux 4.1中引入了eBPF的“map”功能,使得eBPF程序可以与内核之间交换数据。

  • 在Linux 4.4中引入了eBPF JIT编译器,将eBPF程序编译成本地机器代码,提高了执行效率。

  • 在Linux 4.6中引入了eBPF的“perf”事件,可以将eBPF程序与Linux的性能分析工具集成。

  • 在Linux 4.8中,eBPF支持了更多的操作,例如用户定义的函数调用,更多的指令和更多的寄存器。

  • 在Linux 4.10中,eBPF可以用于内核中的安全模块和“tracing”功能。

  • 在Linux 4.15中,eBPF又增加了新的功能,例如“tail calls”和“bpf_probe_read_kernel()”函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值