直播高效入门eBPF,领略eBPF的力量

主讲人:

贺东升,西安邮电大学陈莉君教授研究生,目前研二在读。

直播主题:eBPF

我们常使用Kernel Module实现对内核的“赋能”,动态添加一些内核本身不支持的功能,比如硬件的驱动能力,新的文件系统或是系统调用。当然也可以融合到现有的内核处理流程中,比如在netfilter的某个hook点中添加包处理方法等。内核模块动态添加/删除,无需重新编译内核,但是一旦出现BUG可能导致内核直接崩溃。eBPF要做的事情也非常类似,但它能克服Kernel Module的缺点,即确保执行的代码安全。

站在应用层的角度,内核通常会被当做一个黑匣子来看待。当操作系统表现糟糕的时候,我们想要知道的是在这个黑匣子内部,究竟发生了什么。早在1992年,BPF还是一项冷门的技术,其作用是提升网络包过滤工具的性能。2013年,Alexei Starovoitov向Linux社区提交了重新实现BPF的内核补丁,随后在他和Daniel Borkmann的共同完善下,在2014年正式并入Linux内核主线,这项技术称为扩展后的BPF,缩写为eBPF,但官方的缩写仍然是BPF,不带“e”,所以现在的BPF实际代表扩展后的BPF。在内核中,只有一个执行引擎,即BPF(扩展后的BPF),它同时支持扩展后的BPF和“经典”的BPF程序。

eBPF同时还支持对用户态程序通过探针进行追踪。利用用户态的探针Uprobe,在用户态对函数进行hook,实现用户态程序的动态追踪。未来BPF技术在Linux中的应用场景会越来越多,越来越重要。

直播主要内容

本次直播的主题是如何入门eBPF。首先会对BPF和eBPF做简单介绍。接着,介绍使用eBPF技术的前端BCC和bpftrace。然后,以一个初学者的身份介绍如何快速入门BPF。因为BPF的未来发展方向是观测的可视化(Brendan大神说的),Linux内核之旅的内核团队创建并维护着一个BPF可视化项目LMP(Linux Microscope,Linux显微镜),最后将介绍LMP项目,我们非常欢迎热爱开源的小伙伴积极加入。在直播最后,将推荐一些深入学习eBPF的资源。

主讲人

Linux内核开源社区Linuxer—贺东升

时间

2021年2月7日  20:00 (今晚8点)

主办单位

Linux内核之旅开源社区

直播平台

腾讯会议 ID:372 214 593

考虑到腾讯会议 容纳人数有限,

如果进不了腾讯会议,分别 点开二维码 ,扫二维码进入:

(B站平台)

(csdn平台)

    与直播时间冲突的朋友

       可关注B站“Linux内核之旅”查看回放

点击阅读全文 可直达csdn直播平台哦!