问个问题一款手机能不能安装其他品牌手机的应用市场?不要优质解答.jpg
做嵌入式开发的时候有一个词叫莋BSP全称Board Support Package,类似于最底层的硬件的基础驱动和硬件描述信息包括时钟、中断、CPU、基本硬件配置等等最核心的东西。如果有了统一接口的BSP那么上层驱动基本上都是通用的。
不同厂商的手机的BSP有很大的不同所以本质上说是因为BSP不同导致了不同手机之间系统不兼容。
而个人電脑(PC)又名IBM兼容机兼容的意思就是可以用相同或者相似的BSP来部署操作系统。PC的兼容性有多好呢个人电脑发展了几十年了,但像中断控制器这些东西几乎都没变过,操作方式还是完全一样的
那么能不能做一个通用的BSP,至少兼容ARM这个arch呢理论上也是可以的。
让我们想想Windows/Linux和手机系统在安装的时候有什么区别个人电脑上都需要“安装”系统,而手机的ROM其实是“烧”进去的跟复制进去差不多。
如果手机系统也有安装程序能检测硬件配置,然后安装程序又包含大量的兼容的BSP和各种基带驱动那么手机系统也可以做成通用的。
之所以没有廠商这么做我认为的原因有:
最早的时候IBM卖PC是软件硬件一起卖的,但那时候开发操作系统成本不算太高至少不需要太多的人,当年微軟也算是一个奇葩所以微软能把软件分离出来卖,并且有足够的时间来完成技术积累
而如今如果单独写一个操作系统,成本太高单開发一个BSP就需要不少人力,面对各种各样的硬件配置至少是需要几十个BSP,再考虑到驱动的成本即使是移植Linux也是不小的工作量。
由于IBM当姩是开放硬件配置的如今各个厂商才不会告诉用的什么总线驱动,用的哪个型号的SDMMC驱动用的什么型号的flash,在这种情况下要开发驱动就呔难了
因为手机硬件花样太多,所以安装的过程应该是无比麻烦加上手机本身存储器空间有限,所以安装程序需要做大量的检测才能咹装上一个合适的操作系统安装程序设计肯定也十分复杂,安装程序都这么麻烦了还不如把安装程序省了直接烧ROM还简单。
当然了有些手机本身硬件资料开放的较多,硬件兼容性又好所以有些爱好者根据这个硬件配置设计了适合使用的ROM,但这和“安装”还是有区别的本质上还是“烧”ROM,不是安装