老大以前说过一句话,看杂志不如看书,看书不如看源代码; 我觉得很有道理。同样,看博客不如写博客,在看过一段时间ril的代码之后,我尽量不去看别人对ril的总结,按照自己的思路和想法,自己先总结一遍,肯定要深刻的多。
RIL:radio interface layer
翻译过来叫:无线接口层
RIL:radio interface layer
翻译过来叫:无线接口层
我最喜欢研究问题的前世今生,不然总觉得有一种漂浮在空中的感觉。
一、为什么有RIL的存在
ril的代码在android2.2源码中的位置是dev/hardware/ril,可以把他看成是硬件层的抽象,这里的硬件当然是各式各样的模块,比如wcdma, gsm, evdo等等。这样ril上层即telephony就无需关心当前是何种模块,比如我要拨出一个电话,我只要下发一个请求号为RIL_REQUEST_DIAL的请求即可,无需关心发送什么AT命令,这是软件思想中隔离变化的体现。
telephony 与ril层通过unix domain socket通信。
二、RIL层内又包含那些模块
1、rild,这是就是RIL层的唯一进程,rild:ril deamon,rild是一个守护进程,在后台运行,脱离了控制终端和进程组,在系统启动时由启动脚本启动。
2、at channel
2、libxxx-ril,这是一个动态库,在里面
------------------未完待续