高温预警 今晚8点 eBPF工作原理浅析 边听边练
讲师介绍
狄卫华,资深云原生架构师,《 Linux 内核观测技术 BPF 》译者之一, eBPF 技术的爱好者和布道者,国内网站 ebpf.top 和公众号 [ 深入浅出 BPF] 的维护者。平时喜欢研究底层技术,乐于将自己的学习心得与大家分享。
直播内容
简要描述
如今基于 eBPF 技术的工具越来越多,我们的使用也越来越便利,但使用久了,你是否有想法了解工具底层的运行原理或者有自己编写 eBPF 工具的想法,却发现系统了解原理面临着资料零散,无法一览全貌的困难?本次分享就尝试从一个最基本的 Hello World eBPF 程序开始,带你一起了解 eBPF 程序从编写、编译、加载、验证和运行整个流程背后协作的原理,希望能够让希望更加深入学习 eBPF 的同学能够知其然之其所以然,相信这次分享你能够了解到 eBPF 一些独有特色,而且也会有一种原来是如此的感觉。
本次分享的代码如下,大家可以提前思考一下,这段简单代码到底涵盖了哪些信息量,最终是如何在内核中运行起来的:
```
#include <linux/bpf.h>
#define SEC(NAME) __attribute__((section(NAME), used))
static int (*bpf_trace_printk)(const char *fmt, int fmt_size,
...) = (void *)BPF_FUNC_trace_printk;
SEC("tracepoint/syscalls/sys_enter_execve")
int bpf_prog(void *ctx) {
char msg[] = "Hello, BPF World!";
bpf_trace_printk(msg, sizeof(msg));
return 0;
}
char _license[] SEC("license") = "GPL";
```
eBPF 初学者环境体验
初学者指引
为了满足同学们听讲座时 上手 实操的渴望, 这次讲座我们提前准备好了ebpf的 远程 运行环境。哪怕是从未使用过ebpf的同学也可以通过这个环境直接上手,来运行讲师提供的代码。
我们不仅希望通过这个环境来帮助那些对ebpf已有了解的同学和讲师在直播中得到更好的互动,更希望所有对ebpf感兴趣的新同学能够不用被环境搭建的问题困扰,能够迅速上手ebpf,加入到ebpf学习者这个大家庭中来。
以下是环境的使用引导:
登陆远程环境
打开以下任一网址,远程登录初学者环境 tryebpf
http://43.138.84.71/c1/
http://43.138.84.71/c2/
http://43.138.84.71/c3/
密码:11223300
打开终端
编辑并执行
在testcode目录中创建你的代码文件,使用VSCode网页版在线编辑你的代码,并通过终端运行,即可看到你的结果~
希望大家能在这个环境中尽力折腾,多多进益。
关于直播
本次直播我们将在腾讯会议、B站、CSDN、微信视频号等多个平台同步进行直播,大家可以选择自己合适的平台来观看。
讲座时间
2022年6月18日(星期六)晚上20:00。
腾讯会议直播地址
http://meeting.tencent.com/dm/IeOyHAlQzR6B
哔哩哔哩直播地址
http://live.bilibili.com/22809483
CSDN直播地址
http://t.csdn.cn/wkqR3
- Linux 考古笔记
- Linux新技术基石 |eBPF and XDP
- 今晚直播-基于eBPF的Linux显微镜(LMP)产学研子项目分享 - 第二场
- eBPF Verifier内存越界实例分析
- 金秋十月首届中国eBPF研讨会将在西安举办
- 今晚八点直播:基于eBPF的CPU子系统指标提取与准确性分析
- 一位小白踏入Linux内核补丁提交大门的真实体验
- 简说 套接字缓存的内存空间布局
- 从read开始分析系统调用的上下文切换
- 今晚8点直播 - 闪存友好型文件系统的基础与优化
- 通过性能指标学习Linux Kernel - (下)
- Linux下用户程序的data段和bss段
- Linux CFS调度算法-虚拟时间
- 系统调用角度看用户栈与内核栈切换
- 当DirectIO遇到Loop设备
- Linux内核基础-进程用户栈与内核栈
- Linux内核网络收包角度—浅入中断(2)
- 揭秘 BPF map 前生今世
- 高温预警 今晚8点 eBPF工作原理浅析 边听边练
- Linux内核网络收包角度——浅入中断(1)