From f0c1bdab111c35d00a310e07c5f60794f42121e0 Mon Sep 17 00:00:00 2001 From: yunwei37 <1067852565@qq.com> Date: Thu, 15 Jun 2023 08:58:22 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20eunomia-?= =?UTF-8?q?bpf/bpf-developer-tutorial@f576ebc02d070d72cec99fda983054badec4?= =?UTF-8?q?96ab=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0-introduce/index.html | 6 +- 0-introduce/kernel-arch.png | Bin 0 -> 360968 bytes 0-introduce/kernel-arch.webp | Bin 36142 -> 0 bytes 0-introduce/new-os-model.jpg | Bin 46957 -> 0 bytes 0-introduce/new-os-model.png | Bin 0 -> 309757 bytes 1-helloworld/index.html | 4 +- 10-hardirqs/index.html | 4 +- 11-bootstrap/index.html | 4 +- 13-tcpconnlat/index.html | 8 +- 13-tcpconnlat/tcpconnlat.html | 199 ------------------ 14-tcpstates/index.html | 8 +- 15-javagc/index.html | 2 +- 16-memleak/index.html | 2 +- 17-biopattern/index.html | 4 +- 18-further-reading/index.html | 2 +- 19-lsm-connect/index.html | 2 +- 2-kprobe-unlink/index.html | 4 +- 20-tc/index.html | 2 +- 22-android/index.html | 2 +- 23-http/index.html | 2 +- 24-hide/index.html | 2 +- 25-signal/index.html | 2 +- 26-sudo/index.html | 2 +- 27-replace/index.html | 2 +- 28-detach/index.html | 2 +- 29-sockops/index.html | 2 +- 3-fentry-unlink/index.html | 4 +- 4-opensnoop/index.html | 4 +- 404.html | 2 +- 5-uprobe-bashreadline/index.html | 4 +- 6-sigsnoop/index.html | 2 +- 7-execsnoop/index.html | 2 +- 8-exitsnoop/index.html | 4 +- 9-runqlat/index.html | 2 +- bcc-documents/kernel-versions.html | 2 +- bcc-documents/kernel_config.html | 2 +- bcc-documents/reference_guide.html | 2 +- bcc-documents/special_filtering.html | 2 +- bcc-documents/tutorial.html | 2 +- .../tutorial_bcc_python_developer.html | 2 +- index.html | 6 +- print.html | 9 +- searchindex.js | 2 +- searchindex.json | 2 +- 44 files changed, 63 insertions(+), 259 deletions(-) create mode 100644 0-introduce/kernel-arch.png delete mode 100644 0-introduce/kernel-arch.webp delete mode 100644 0-introduce/new-os-model.jpg create mode 100644 0-introduce/new-os-model.png delete mode 100644 13-tcpconnlat/tcpconnlat.html diff --git a/0-introduce/index.html b/0-introduce/index.html index fe22cdd..d4e96bd 100644 --- a/0-introduce/index.html +++ b/0-introduce/index.html @@ -83,7 +83,7 @@ @@ -150,7 +150,7 @@
今天,eBPF被广泛用于各类场景:在现代数据中心和云原生环境中,可以提供高性能的网络包处理和负载均衡;以非常低的资源开销,做到对多种细粒度指标的可观测性,帮助应用程序开发人员跟踪应用程序,为性能故障排除提供洞察力;保障应用程序和容器运行时的安全执行,等等。可能性是无穷的,而 eBPF 在操作系统内核中所释放的创新才刚刚开始[3]。
对于浏览器而言,JavaScript 的引入带来的可编程性开启了一场巨大的革命,使浏览器发展成为几乎独立的操作系统。现在让我们回到 eBPF:为了理解 eBPF 对 Linux 内核的可编程性影响,对 Linux 内核的结构以及它如何与应用程序和硬件进行交互有一个高层次的理解是有帮助的[4]。
-

Linux 内核的主要目的是抽象出硬件或虚拟硬件,并提供一个一致的API(系统调用),允许应用程序运行和共享资源。为了实现这个目的,我们维护了一系列子系统和层,以分配这些责任[5]。每个子系统通常允许某种程度的配置,以考虑到用户的不同需求。如果不能配置所需的行为,就需要改变内核,从历史上看,改变内核的行为,或者让用户编写的程序能够在内核中运行,就有两种选择: