1. 内核源码阅读能力:
a. 精读过Linux内核至少一个核心模块的关键源码(如调度器core.c、页分配器page_alloc.c、VFSopen.c或中断irq.c)。
b. 能够画出该模块的核心数据结构关系图(如task_struct与rq的关联,或page与zone的关联),并解释关键函数的调用链。
2. 内核相关实践经验:
有过内核态开发经验,例如:编写过简单的字符设备驱动、移植过Linux内核到开发板、或修改过内核配置并成功编译运行。
3. eBPF基础(加分项,但强烈期望):
a. 了解eBPF运行原理(验证器、JIT、Map机制)。
b. 亲手编写过一些eBPF程序,做过相关工作。
4. 语言与工具:熟悉C语言。