![[衰]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_34.cf5b4d5.png)
三天学会写 eBPF 程序:第二第三天
了解如何开发 eBPF 程序(10-15h)
了解并尝试一下 eBPF 开发框架:
- BCC 开发各类小工具的例子:
github.com(跑一遍:3-4h)
- libbpf 的一些例子:
github.com(选感兴趣的运行一下,并阅读一下源代码:2h)
- 基于 libbpf 和 eunomia-bpf 的教程:
github.com(阅读 1-10 的部分: 3-4h)
其他开发框架:Go 语言或者 Rust 语言,请自行搜索并且尝试(0-2h)
回答一些问题,并且进行一些尝试(2-5h):
1. 如何开发一个最简单的 eBPF 程序?
2. 如何用 eBPF 追踪一个内核功能或函数?有很多种方法,举出对应的代码;
3. 有哪些方案能通过用户态和内核态通信?如何从用户态向内核态传送信息?如何从内核态向用户态传递信息?举出代码示例;
4. 编写一个你自己的 eBPF 程序,实现一个功能;
5. eBPF 程序的整个生命周期里面,分别在用户态和内核态做了哪些事情?
了解如何开发 eBPF 程序(10-15h)
了解并尝试一下 eBPF 开发框架:
- BCC 开发各类小工具的例子:
- libbpf 的一些例子:
- 基于 libbpf 和 eunomia-bpf 的教程:
其他开发框架:Go 语言或者 Rust 语言,请自行搜索并且尝试(0-2h)
回答一些问题,并且进行一些尝试(2-5h):
1. 如何开发一个最简单的 eBPF 程序?
2. 如何用 eBPF 追踪一个内核功能或函数?有很多种方法,举出对应的代码;
3. 有哪些方案能通过用户态和内核态通信?如何从用户态向内核态传送信息?如何从内核态向用户态传递信息?举出代码示例;
4. 编写一个你自己的 eBPF 程序,实现一个功能;
5. eBPF 程序的整个生命周期里面,分别在用户态和内核态做了哪些事情?
展开
评论
点赞