阅码场android进程生命周期全解析
查看各个系统的init函数
要了解各个子系统,响应的init函数是需要关注的,涉及到一些全局变量的初始化,可以看到数据结构是如何串联起来的,可能在看代码的过程中有一些迷惑,看了模块的初始化过程,就名表了 。
常见的数据结构
全局变量
内核中存在大量的全局变量,一是便于监控,二是便于寻址。
如tcp_hashinfo保存所有的tcp连接信息,init_task可以遍历到所有的进程,netns可以遍历到所有的命名空间,mem_map可以遍历所有的page以及section。
全局变量 tcp_hashinfo 保存所有的tcp连接 inet_sk_listen_hashfn(sk) hash函数
inet_hashinfo 好几个变量,不同状态的连接放在不同的hash桶中,如ehash,listening_hash等