返回

第511章 布局全行业!天枢OS的生态阳谋

首页
关灯
护眼
字:
上一章 回目录 下一页 进书架
    第511章 布局全行业!天枢OS的生态阳谋 (第1/2页)

    林景行沉吟几秒,缓缓开口,语气沉稳笃定: “其实这点我们可以直接写进合作协议,卡死红线——刚才卢总其实也提到过,有些边界绝对不能碰,这就是防碎片化的核心。”

    “我们官方统一HAL接口标准,就像国家统一规定所有家用插座都是五孔220V国标。 厂商可以改内核实现,可以自己写驱动代码,但我们划定的接口标准半分不能动,必须严格遵守官方规范。

    “同时,所有对内核、驱动的修改,必须按GPL协议公开源码,提交官方技术委员会审核,通过后合并进官方主干,全行业共享。”

    “接口统一了,驱动开源了,内核主干就永远只有一条。厂商再怎么改底层实现,都绕不开这套标准接口。就像你家电器插头都是国标,随便插哪个插座都能用。”

    他顿了顿,换了个更直白的软件层面的例子: “拿相机APP举例。它要的无非就几件事:打开摄像头、实时预览、拍照、录像。”

    “最理想的状态,是只调用几个标准API:OpenCamera()、StartPrevieW()、takePiCtUre()。底下用的是索尼、三星还是哪家的传感器,APP根本不该关心,也不用知道。”

    “没有HAL的时候做不到。APP得直接对接某家摄像头的私有驱动。适配A厂商的摄像头,就调用Open_a()、take_piCtUre_a(),这套调用只认A的驱动。”

    “换成B厂商的摄像头,底层换成B的驱动,接口变成Open_b()、take_piCtUre_b(),连参数顺序都不一样。APP还按A那套去调用,找不到接口,轻则报错闪退,重则直接崩溃。 硬件一换,上层代码就得跟着全改一遍。”

    “有了统一HAL就不一样了。HAL定死一套标准接口:OpenCamera()、StartPrevieW()、takePiCtUre()、StOpPrevieW()。APP只认这套接口,不管底下接的是谁家的硬件。”

    “摄像头厂商和手机厂商要做的,是让自己的驱动去适配HAL接口。里面寄存器怎么配、芯片怎么初始化,厂商自己决定; 但对外的接口必须符合HAL标准。这套标准由我们定死,不准改,要迭代也只能由我们官方迭代。”

    “打个比方:我们的HAL层是墙上的国标插座,厂商的硬件驱动是插头。我不管你插头用什么材料、怎么做的,但是你必须做成能插进去插座的形状。”

    “以后换摄像头、换传感器,只改HAL层下面的适配代码就行,上面的系统和APP完全不用动。”

    “而且厂商自研的内核和驱动代码必须开源,提交技术委员会审核通过后,并入官方主干,全行业共享。以后再遇到同款硬件,直接复用开源代码,不用每家都重复造轮子。”

    林景行顿了顿,看大家都恍然大悟的样子后,继续说道:一句话总结就是,HAL是上层系统和底层硬件之间的标准隔离层,APP只认接口,不认硬件;厂商只改底层,不影响上层。”

    “这就是接口与实现分离,也叫解耦。碎片化的问题,这不从根上就解决了。”

    赵远靠在椅背上微微点头。 他太清楚安卓的历史痛点了——早期安卓之所以碎片化严重、手机越用越卡,根子就在上层系统与底层硬件之间没有一道标准隔离墙。

    系统想用摄像头,得直接找厂商的驱动,按人家私有的规矩来。A厂商一套接口,B厂商一套接口,系统框架里写的代码又只认其中一家的接口,只能对接这一家。

    换个摄像头,接口对不上,系统自己先崩,APP就更别说了换了硬件就得大改,这就导致厂家连系统升级都难。

    因为谷歌出了新版本,得芯片厂商先改驱动,再交给手机厂商改适配,最后才能推给用户。哪一环不配合,这手机就永远停在老版本。

    所以那时候很多手机买来是什么系统

    (本章未完,请点击下一页继续阅读)
上一章 回目录 下一页 存书签