【kernel envirment】内核源码阅读方法
前言
1.Start at start_kernel() function.
搜索大法
目前没有一种工具能胜任,包括vs2008, vscode, everything, source insight。但可以折衷使用另外一种方法,给源码“减肥”不就可以了吗?所以,可以这样做:
1.先把 全部代码文件复制出来,仅仅是代码及makefile,kconfig 等必要文件。这样,内核文件夹就缩水了一大截。方法参照:
请使用专用工具。
2.删掉一些非必要源码:
1) 整个目录709M, 而drivers文件夹就473M,占了大半。先全部删掉吧。
2)把sound文件夹删掉,声卡相关的,可以不看,这里就30M了。
3)arch文件夹,70M,把里面x86以外的都删掉。
4)tool文件夹,10M,里面是相工具,也可以说是不属于内核的,所以可以删掉。
5)security, scripts,virt(虚拟机相关) 也可以删除,虽然小,但也要删掉。
NOTE:如果还想编译通过,则只能把arch文件夹里除x86以外的都删掉。
3.建立vs2008阅读工程。
请使用专用工具。
这样就可以很方便地看代码了,整个工程搜索完,不超过1分钟。比以前很多调试过的工程都快了。
(一)进程调度
(1)基本部分:进程。
(2)扩展部分:互锁和进程间通信。
(二)内存管理
(三)VFS
(1)基础:VFS
(2)外扩:EXT4等具体文件系统。
(四)非内核
(1)模块
(2)应用
(3)网络(其实也属于模块和应用,因为太重要,所以分属一类)