1. eBPF:hello world

    有许多用libbpf或者go-bpf写的eBPF例子,python等别的语言的也有很多。这些都不够直观,代码都经过了层层包装,不能很好的明白eBPF是怎么工作的。 本文用最原始最直接的方式展示eBPF是如何工作的 — 用eBPF字节码写一个“hello world”。

    2023/07/15 eBPF

  2. linux signal sender

    程序经常收到SIGTERM退出,一直没查明白SIGTERM是谁发送的。signal函数注册的处理函数只接收到signum,不知道发送者是谁。一番查找发现sigaction函数注册的sa_sigaction回调函数,有siginfo_t结构,查看man其中的si_pid就是发送者的pid。

    2022/08/16 linux

  3. Go性能:与C比较

    这篇是”理解Golang”系列的第一篇,主要涉及Go在性能方面的一些特点。接下来的几篇涉及scheduler、routine、chan的具体实现。

    2022/08/06 Go

  4. 云市场 - Google/Aliyun/AWS market

    AWS marketplace

    2016/02/26 idea

  5. Gas

    汇编学习 - GAS hello world layout: post title: 汇编学习 - GAS hello world categories: 汇编 description: 汇编学习 - GAS hello world keywords: 汇编 —

    2015/09/24

  6. 简单分析initramfs

    initramfs 是linux 启动必须的吗?如果kernel有mount root fs所需的所有驱动,initramfs就不是必须的。读取磁盘数据, kernel需要驱动的帮助,然而物理磁盘各式各样,驱动各不相同,kernel不太可能都包括进来。initramfs是包含少量驱动模块和工具集的archive。 启动时,boot loader将initramfs加载到内存,kernel利用initramfs中的工具加载root fs必须的驱动,进而加载root fs并完成后续的启动过程。

    2015/07/29 linux

  7. 单链表逆转

    一道比较经典的算法题目:有一单链表将其逆转。刚开始的时候想的磕磕绊绊,静下心来2分钟码定。汗。

    2015/07/21

  8. 求数组中满足给定和的数对

    求数组中满足给定和的数对

    2015/07/19 算法

  9. 5球策略

    有100个球,甲乙两人轮流取,每次必须且只能取1到5个,最后一个取球的输。若甲先取,有无必胜策略?

    2014/09/25 算法