Skip to content

Commit

Permalink
minor fixes in eBPF post
Browse files Browse the repository at this point in the history
  • Loading branch information
diogodanielsoaresferreira committed Jul 13, 2024
1 parent f0f1bed commit 8bfd51b
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions _posts/2024-07-13-ebpf.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To understand eBPF, we must first understand what is the kernel space and the us

<figure>
<a href="/assets/img/ebpf/kernel-space.png"><img src="/assets/img/ebpf/kernel-space.png"></a>
<figcaption style="text-align: center">The user space and the kernel space. Source: <a href="https://eunomia.dev/tutorials/0-introduce/" target="_blank">Eunomia</a>.</figcaption>
<figcaption style="text-align: center">The user space and the kernel space. Source: <a href="https://eunomia.dev/tutorials/0-introduce/" target="_blank">Eunomia</a></figcaption>
</figure>

When a program runs on the user space, it can interact with the kernel space through an API - the **system calls**. If a program wants to write to a file, it does not need to access the underlying memory directly; in a similar case, if a program wants to send packets over the network, it does not access the network controller directly; instead, it relies on the system calls, that expose an abstraction of the resources.
Expand All @@ -31,7 +31,7 @@ For those reasons, it may make sense to run a program in the kernel space. You h

<figure>
<a href="/assets/img/ebpf/kernelvsebpf.webp"><img src="/assets/img/ebpf/kernelvsebpf.webp"></a>
<figcaption style="text-align: center"><a href="https://isovalent.com/blog/post/ebpf-documentary-creation-story/" target="_blank">eBPF Comic by Philipp Meier and Thomas Graf.</a></figcaption>
<figcaption style="text-align: center"><a href="https://isovalent.com/blog/post/ebpf-documentary-creation-story/" target="_blank">eBPF Comic by Philipp Meier and Thomas Graf</a></figcaption>
</figure>

---------------------
Expand All @@ -43,7 +43,7 @@ eBPF (**extended BPF**) is mainly an extension of the instruction set of the ori

<figure>
<a href="/assets/img/ebpf/loader-ebpf.png"><img src="/assets/img/ebpf/loader-ebpf.png"></a>
<figcaption style="text-align: center">Depiction of the interaction between eBPF and the Linux kernel. Source: <a href="https://oswalt.dev/2021/01/introduction-to-ebpf/" target="_blank">Introduction to eBPF</a>.</figcaption>
<figcaption style="text-align: center">Depiction of the interaction between eBPF and the Linux kernel. Source: <a href="https://oswalt.dev/2021/01/introduction-to-ebpf/" target="_blank">Introduction to eBPF</a></figcaption>
</figure>

In this way, you can code your program from the user space to be run in the kernel space, at runtime, and sandboxed.
Expand Down

0 comments on commit 8bfd51b

Please sign in to comment.