伟大的Linux kernel有几大重要模块:
1、文件系统(File System)
2、进程调度(Process Scheduler)
3、内存管理(Memory Management)
4、进程间通信(IPC)
5、网络协议栈(Net)
搞驱动这么些年,也没有去深度地学习kernel内部的这些模块。现在发现里面是内有乾坤。这篇就立个flag,以此开始学习,并总结linux kernel各个模块的学习历程。
进程调度(Process Scheduler)
首先我会先从和当前工作内容相关度较高的进程调度开始。最近看到几篇blog总结和分析写的都比较好,好像都是qcom和mtk的人总结的。值得作为参考,链接如下:
https://blog.****.net/pwl999/article/details/78817917-----此篇完整讲解进程调度的各个流程
http://blog.chinaunix.net/uid-23141914-id-5675894.html------此篇总结了CFS
http://blog.chinaunix.net/uid/23141914/cid-223272-list-1.html------这些是由浅到深,分步了解linux scheduler