`
ldb19890624
  • 浏览: 243645 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

纯技术分析阿里云OS和Android之间的关系

 
阅读更多

注:转载一篇比较客观的文章。


前一篇《[多图论证]阿里云OS不太可能是Android以外的东西》用的ROM是错的,是Android的刷机包,不是官方原生的云OS的ROM,所以论据是错的。这里用官方原生云OS的ROM分析一下,到底阿里云OS和Android之间是什么关系。

首先找到官方的原生云OS的下载地址:http://bbs.aliyun.com/read.php?tid=22809原帖里有W700的卡刷包:AliyunOS-1.6.1.6-RT-20120329.7z各位可以自行下载验证。解开看大目录的结构:


根目录下是一个boot.img,这就是Android系统的bootloader,也就是启动分区。另外有个system目录,这就是Android系统的system分区。进入system目录往下看:


这里和Android ROM的目录结构是一模一样的,各位可以自己找个Android ROM对比以下。核心的几个目录:app: 存放ROM预装的appbin: 系统进程的目录framwork: Android Framework目录,就是Android应用程序运行所需要的库文件的目录lib: so库文件目录,相当于Windows的system32目录咱们再进到app目录看一下:


好,看出区别来了,Android下所有的app都是以apk结尾的,前一篇帖子《[多图论证]阿里云OS不太可能是Android以外的东西》用的ROM就是Android的ROM,里面对应这张图里的文件就都是apk的。这里怎么都是lar呢?这就是阿里云OS和Android不同的地方了,因为apk是Dalvik虚拟机管理应用程序的文件格式,阿里云自己搞了个虚拟机,用lar文件来管理。lar文件和apk文件有什么不同?我们知道apk文件其实就是一个zip文件,用WinRAR可以直接打开看,那lar文件呢?用WinRAR果然也可以直接打开:


做过Android开发的人一看到这个目录结构就发现,它和apk的目录结构基本上是一模一样的,除了Android应用的classes.dex文件变成了classes.lex。那所谓的lex文件是不是就是把dex文件换了个名字呢?我们用二进制比较一下:


左边的是Android应用的dex文件,右边的是阿里云应用的lex文件。可见,文件格式已经完全不一样了。好,app的不同已经看出来了,我们再来看系统核心进程有什么不同。进入到/system/bin目录:


熟悉Android系统的人一眼就能看出来,am, app_process之类的名字都是Android核心进程的名字。多出来了几个:cloudserver, chpasswd.cgi之类,看来这就是阿里云所谓的“云服务”的核心进程了。好,文件的比较就到这里,那现在基本上可以下结论了,一个完整的Android系统,包括以下几个部分:
1. bootloader:用来启动操作系统
2. kernel: 系统内核
3. 核心进程,就是 /system/bin 下面那堆东西
4. so库: 系统运行基础,就是 /system/lib 下面那堆东西
5. Android虚拟机,所有的上层应用都是靠虚拟机来运行的
6. Android Framework: 所有的上层应用都是通过调用Framework来实现功能的,就是 /system/framework下面那堆东西
7. 上层应用,比如说桌面Launcher, 拨号,短信,通讯录之类,就是/system/app下面那堆东西那么,阿里云OS,在上面7个部分中,虚拟机用的是自己的,上层应用是自己定制的,另外额外加了一个“云服务”,其余部分都是用的Android的。它和Android是什么关系已经很清楚了。


那顺便八卦一下,为什么阿里云要搞成这个样子呢?说来就话长了,话说当年阿里云刚成立的时候,还是很有追求滴,当时收购了一家国内做Java虚拟机的公司(叫“猛犸科技”),同时还找了一帮MOTO做Linux内核的人,想搞个自己的操作系统出来。阿里云的CEO叫王坚,和李开复一样都是从微软研究院出身,但是颇看不起李开复搞的“点心OS”,认为“拿个Android来改一改,多土啊!我们要搞自己的操作系统!”于是呢,阿里云的一帮人就吭哧吭哧搞“自己的操作系统”了。结果呢,大家脚趾头都能想到,从头搞一个操作系统哪有那么容易,做了半年没做出来,咋给马云交差呢?于是也顾不上土不土了,拿Android改吧。虚拟机是现成的,那就换掉Android的虚拟机吧,好歹能算是自己的工作成果。但光换个虚拟机意义也不大啊,HTML5和WebOS的概念比较新潮,那就再加个“云服务”的概念吧,也算是国内HTML5的倡导者了。HTML5通过浏览器引擎跑,性能肯定比不上原生应用,那怎么保证操作流畅呢(特别是桌面Launcher,天天用,要是太卡,用户就疯了),那还是用原生应用来实现吧……于是,最后阿里云OS就长成现在这样了。
好吧,说到这里,大家也能看出,阿里云OS一开始就没有从用户角度,商业角度来考虑,完全是公司高层的个人喜好折腾出来的东西。最后靠着阿里巴巴集团的背景,想拉上天语,海尔和宏基来买单,结果这几家也是各怀异心。可惜了阿里云的苦逼员工们,折腾了好几圈,前些天还看到有阿里云OS的员工在微博上说“每周7天加班”,悲催啊,最后做出来的东西还被市场所抛弃。






分享到:
评论

相关推荐

    开放互联,阿里智能万物互联解决方案.pdf

    海量数据处理能力使得阿里云能够实时分析并处理来自各种智能设备的大量数据,为用户提供个性化服务和智能化决策支持。大规模集群管理能力则保证了系统的稳定性和扩展性,能够应对不断增长的设备连接需求。 在安全...

    谷歌若重返中国 谁最害怕?.docx

    例如,阿里巴巴的阿里云OS曾因涉嫌改动Android源代码而引起谷歌不满。谷歌重返中国后,这类问题可能会更加敏感,对依赖Android的厂商带来不确定性。 3. **语音助手领域:** - **科大讯飞的挑战**:国内多数智能...

    万物互联时代的操作系统研究报告.pdf

    例如,阿里云、谷歌云、AWS、Azure等云计算巨头,以及华为、ARM、苹果等硬件厂商,都在利用自身的技术积累和资源进行布局。 物联网操作系统目前的趋势是轻量级系统和通用级系统并存。轻量级操作系统适合资源有限的...

    大气质量监测系统:树莓派开gpio读取传感器并上传云端,同时有触屏显示界面;跨平台客户端从云端读取数据,并作3d显示.zip

    通常,会选择云服务提供商,如AWS、阿里云或Google Cloud,创建存储和分析数据的服务器。树莓派通过网络连接,定时或实时地将收集到的环境数据发送到云服务器,确保数据的安全存储和远程访问。 触屏显示界面一般会...

    appium手机自动化测试-黄延胜

    它不仅提供了一系列的技术来实现Android和iOS等移动操作系统的自动化测试,还因为它开放的源代码和与SauceLabs等企业的合作关系,能够提供企业级的测试解决方案。在使用Appium时,充分的前期准备和学习是必要的,...

    中国石油大学(北京)2024年春计算机应用基础第二阶段在线作业

    9. **云计算与大数据**:随着科技发展,云计算服务如AWS、阿里云的基本概念,以及大数据分析的简介可能也会成为作业的一部分。 10. **移动应用开发**:基础的移动平台应用开发,如Android或iOS,理解应用程序的生命...

    青岛理工大学.zip

    9. 云计算与物联网:理解云计算的基本架构,如AWS、Azure、阿里云等服务,以及物联网(IoT)的概念和应用,如传感器网络、嵌入式系统等。 10. 项目管理:学习PMP、Prince2等项目管理知识,提升团队协作和项目实施能力...

    tushuguanli-xitong-fuzhou-ligong

    8. **云服务**:考虑到大型图书馆可能需要处理大量数据,系统可能采用云计算服务,如阿里云或AWS,以提供弹性扩展能力和高可用性。 9. **数据分析**:系统可能集成了数据分析功能,通过对借阅数据的分析,为图书馆...

    《电脑报》2015年第48期

    6. **云计算与大数据**:随着云计算的发展,可能探讨了相关服务如AWS、Azure、阿里云的使用方法,以及大数据分析的应用案例。 7. **物联网(IoT)**:可能涉及到智能家居、智能穿戴设备的新兴趋势,以及它们如何改变...

    通信行业周报:华为年度业绩小幅增长,设备商多元发展打破增速天花板.zip

    同时,华为还积极布局云计算服务,与阿里云、腾讯云等竞争,为企业提供数据存储、计算能力和智能化解决方案。 再者,华为在物联网领域的探索也是其多元化发展的一部分。随着物联网设备数量的快速增长,华为通过提供...

    万物互联时代的-作系统研究报告精品报告2020.pdf

    像谷歌的Android Things和Fuchsia、阿里的AliOS和AliOSThings、华为的LiteOS和鸿蒙OS、ARM的MbedOS等,这些系统不仅在技术上有着各自的侧重点,而且在市场定位和应用场景上也存在差异。随着这些科技巨头的加入,...

    鸿蒙环境安装出错及其解决方案(1).docx

    Gradle是Android Studio等IDE中广泛使用的构建工具,用于管理项目依赖关系和构建过程。 - **原因分析**: - Gradle版本过低或过高都可能导致与IDE或其他工具不兼容。 - 某些特定版本的Gradle可能存在已知问题,...

Global site tag (gtag.js) - Google Analytics