有许多用libbpf或者go-bpf写的eBPF例子,python等别的语言的也有很多。这些都不够直观,代码都经过了层层包装,不能很好的明白eBPF是怎么工作的。 本文用最原始最直接的方式展示eBPF是如何工作的 — 用eBPF字节码写一个“hello world”。
程序经常收到SIGTERM退出,一直没查明白SIGTERM是谁发送的。signal函数注册的处理函数只接收到signum,不知道发送者是谁。一番查找发现sigaction函数注册的sa_sigaction回调函数,有siginfo_t结构,查看man其中的si_pid就是发送者的pid。
这篇是”理解Golang”系列的第一篇,主要涉及Go在性能方面的一些特点。接下来的几篇涉及scheduler、routine、chan的具体实现。
AWS marketplace
汇编学习 - GAS hello world layout: post title: 汇编学习 - GAS hello world categories: 汇编 description: 汇编学习 - GAS hello world keywords: 汇编 —
initramfs 是linux 启动必须的吗?如果kernel有mount root fs所需的所有驱动,initramfs就不是必须的。读取磁盘数据, kernel需要驱动的帮助,然而物理磁盘各式各样,驱动各不相同,kernel不太可能都包括进来。initramfs是包含少量驱动模块和工具集的archive。 启动时,boot loader将initramfs加载到内存,kernel利用initramfs中的工具加载root fs必须的驱动,进而加载root fs并完成后续的启动过程。
一道比较经典的算法题目:有一单链表将其逆转。刚开始的时候想的磕磕绊绊,静下心来2分钟码定。汗。
求数组中满足给定和的数对
有100个球,甲乙两人轮流取,每次必须且只能取1到5个,最后一个取球的输。若甲先取,有无必胜策略?