【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
毕业三年,前两年在一家机顶盒公司打杂.13年辞职,吃了一年内核源码。邮箱:kiongf@126.com 活跃于chinaunix论坛内核源码板块,id名:kiongf 目前人在深圳.
内核方面:
1)熟悉linux内核2.6内存管理层源码,熟悉虚拟内存映射和物理内存分配的机制.slab allocator/buddy system/bootmem allocator/vmalloc内存相关分配算法源码,虚拟内存布局。了解如何从/proc/iomem,/proc/ioport获得物理内存/设备内存的信息。了解虚拟地址到物理地址转换的流程(包括构建页表等)。
2)熟悉linux内核2.6文件系统层VFS,sysfs,devtmpfs文件系统源码.。熟悉superblock/inode/file/dentry构成文件系统架构的过程。了解文件系统挂载的原理。可直接查阅源码定位文件系统问题。
3)了解linux内核2.6设备模型。了解pci总线,知道pci总线枚举设备的过程。 了解/sys文件系统各目录与内核设备对象的关系,以及如何从/sys中获得总线/驱动/设备抽象的关系。了解/dev目录下设备抽象成一个文件的过程.
4)了解内核调度机制。completion的/percpu变量/内核线程/workqueue/waitqueue等内核机制的实现。了解linux内核如何实现系统调用。了解内核层和应用层通信的机制。
应用层方面:
1)《C陷阱与缺陷》《C与指针》《C专家编程》《A.P.U.E》
2) 了解Makefile的编写,看过GNU Makefile Manual
3) 能够读内核源码了解相应的系统调用接口
算法:红黑树/基树/链表/位图等算法的实现,可直接从内核源码中找到相应的实现。
我要嵌入式的啊,只不过需要Linux c 熟悉X86架构