多谢楼上 
忘记了 可以再想下吗

解决方案 »

  1.   

    哪有那么多牛人啊
    牛人也不来csdn玩的。1。 HAL_legacy是旧式的HAL,“旧“指的是什么时候?“新“ 又是什么时候开始的?大概时间就可以旧应该指android设计的吧,估计他们项目review过hal的设计模式。 早期的模式叫HAL Module,各个HAL是实现成一个so库的,后来叫HAL stub,这个的话,给vendor开发hal的自主性就更大了。一般hal stub功能比较单一,对应的就是某个hardware的al,给对应的服务进程使用即可。 HAL module揉到一起了,这个库可能要被多进程使用,就map了多个吧安全重入的问题,也可以说是鲁棒吧~ 至少对于操作硬件来说,一般一个硬件只有一个,多线程或多进程操作,需要控制好的。至于so文件被mapping,由于代码区是只读的,memory又那么宝贵,一般多进程共享一个库或一段代码,会把它做成mapping的方式。只map到一个进程, 不一定是哪个进程吧,而且HAL一般会在system server进程用的,应该在这个进程的概率比较高。 这个是很底层实现的问题了,真不好回答 :)