安卓将死于鸿蒙?(上篇)
2019-08-15 13:31:01
  • 0
  • 2
  • 6

来源:产业地图   原创: 张学军

Google积极响应美国政府的号召,打算终止华为公司使用安卓系统。华为在无奈之下只好启用备胎计划,准备推出自己的手机操作系统“鸿蒙”。

Google的这一举动很可能为安卓系统敲响丧钟,开始在作死的道路上跑步前进。

安卓的前世与今生

安卓系统是开源的,但不是免费的。其版权属于Google,使用安卓系统必须获得Google的授权并缴纳授权费。Google要卡华为的脖子,就是在授权上做文章。

然而,安卓最初并不是Google开发的,而是Google买来的,安卓的发明人Andy Rubin原来是苹果公司和微软的员工。

Andy Rubin天生有两大爱好,一是喜欢机器人,二是喜欢开曼群岛的阳光和沙滩。他曾经在著名的卡尔·蔡司公司担任机器人工程师,1989年他在开曼群岛度假时偶遇了一位在沙滩上过夜的哥们儿,这哥们儿头一天晚上跟女朋友吵架被赶出来了。Andy是个热心肠儿,于是帮他找了个住的地方。俩人一聊才知道,这哥们儿是个苹果公司的工程师,在他的引荐下,Andy来到硅谷,加入了苹果。

1990年,在首席执行官John Sculley的主持下将苹果公司的手持设备部门独立出来,成立了General Magic公司(魔法公司,取自格言“最好的新技术与魔法无异”),准备研发智能手持设备及其操作系统。而乔布斯早在5年前就被赶出了苹果公司,正在外面“游荡”。

General Magic公司虽然规模不大,却是精英荟萃,几乎囊括了苹果电脑操作系统所有开发人员。带头人Andy Hertzfeld 正是著名的苹果电脑Macintosh(麦金塔电脑)的主要开发者,团队中另一名骨干Pierre Omidyar后来创办了eBay。

Andy Hertzfeld是个狂妄自大的人,他既看不上当时的苹果首席执行官John Sculley(原百事可乐的总裁),也对乔布斯一肚子意见,所以Andy Hertzfeld和他的这帮兄弟实际上是被苹果扫地出门的(名义是分拆)。

General Magic这帮人虽然脾气大,但干活儿活绝不含糊,几乎每天吃住都在公司的破烂办公室里,累了就躺在地板上睡觉。他们的目标是设计、开发世界上首款智能手持设备。两年之后,他们开发成功了世界上第一部智能手持设备Pocket Crystal,比后来的iPhone早了13年。

但是Pocket Crystal太超前了,当时世界上还找不到合适的硬件来匹配Pocket Crystal的设计,况且当时互联网还没有兴起,而移动通信还是那种模拟制式的“大哥大”,根本没有数据通信功能。所以Pocket Crystal几乎就没人买。公司几经挣扎,虽然勉强上市最终还是倒闭了。

魔法公司倒闭以后,Andy Rubin又加入了由原苹果员工创办的Artemis Research公司,参与开发的最早的互联网交互电视WebTV。这家公司后来被微软收购,Andy Rubin也随之进了微软公司,从事互联网超级机器人项目——类似于现在的互联网爬虫软件。他编写的“机器人”整天在微软公司的内部网络上闲逛,窥探和收集各种信息。

然而有一天,他的机器人程序被黑客入侵并劫持了,这相当于黑客可以通过他的机器人程序过去微软所有电脑上的信息,在微软上下造成了恐慌。

不久之后,Andy Rubin就离开了微软公司,自己创办了一家名叫Danger(危险?)公司,开始了互联网手机的设计与开发工作,期间他到斯坦福大学作了一次技术讲座,主要是介绍互联网智能手机的应用和盈利模式,而听他讲座的就有Google的两位创始人Larry Page和Sergey Brin,其中互联网手机的概念深深打动了Larry Page,于是他们互留了联系方式。

由于Andy Rubin并不擅长经营管理,公司的经营也没有起色,在董事会的逼迫下只好辞职离开了公司,Danger公司后来被微软收购。

为了“疗伤”,Andy Rubin跑到了开曼群岛隐居起来,本来打算开发一种数码相机,折腾了一阵感觉没戏。于是又转回到互联网手机的概念上,打算开发一种开放式的移动平台,并将其命名为安卓(Andoird)。

需要说明的是,Android并不是由Andy的名字演化而来,而是一个机器人的名字。在一本1886年出版的法国科幻小说《未来夏娃》中,有一个人形机器人名字叫Android。

Andy Rubin艰难完成了安卓系统的最初开发就没钱了,于是只能去找风投公司,在被风投公司百般刁难之时,他猛然想起了Larry Page,于是他给Page写了一封邮件,几周之后Google就完成了对Android的收购。

安卓一生下来就是个残疾儿

安卓系统的优点在于开放,它不仅是开源的,而且是跨平台的。除苹果以外,几乎任何厂家的手机都可以使用安卓系统,华为、三星、小米可以用安卓,Vivo、OPPO也可以用安卓,就连那些小厂家生产的山寨智能手机也可以使用安卓系统。并且安卓系统还不限制手机处理器厂家与型号,高通和海思、联发科的处理器都可以支持安卓系统,这正是Andy Rubin的设计初衷。

但安卓的开放性是有代价的,主要问题就是安卓存在着许多致命的缺陷,甚至可以说它先天就是个残疾儿。至于他究竟残疾到什么程度,后文再细细道来。

现在,我们先说说为什么要有操作系统?现行的操作系统都是怎么来的。

Linux与IOS、安卓的爱恨情仇

我们都知道,今天的手机就相当于一台电脑,而电脑就必须要有操作系统,还要有程序。无论是写操作系统还是写应用程序,要用到程序语言。道理很简单,电脑和手机最终都是使用二进制的0和1组成的指令来运行的,最初的电脑程序的确就是使用这样的0和1来编写的。可是这实在是太难了,这根本就不是“人话”呀,要编写一个复杂的程序时,那就是一个不可能完成的任务。

于是人们开始想要设计一种更接近于人类语言的程序设计语言,比如:

if x=100 then goto end

会简单英文的人都能够理解。

第1种接近人类语言的程序设计语言,被称为ALGOL60,于1960年前后发布。

用ALGOL60设计的将程序设计完成后,再通过一种叫做编译器的转换程序将其转换成电脑能识别的0和1指令,电脑就能运行我们所编写的程序了。当然,最早的编译程序只能实用0和1这样的笨办法写出来的(实际上是实用接近机器指令的汇编语言写的),编译程序只需要写一次,所以笨一点、麻烦一点也没关系。

ALGOL60优点是更接近于人类的自然语言(英语),但它的缺点是效率不高,用他写的程序编译之后比较大而且运行速度慢。当时的电脑内存都比较小,速度也慢。

1967年,剑桥大学的Martin Richards对ALGOL60进行了简化,设计了一种效率更高的程序设计语言BCPL(Basic Combined Programming Language,基本组合程序设计语言)语言,后来被称为B语言,而B语言后来帮助一位“游戏发烧友”改变了世界。

60年代末,贝尔实验室的一位研究员Ken Thompson实在是闲的蛋疼,想给自己找点事儿干。当时正值阿波罗登月,于是他突发奇想,打算在电脑上编一个模拟太阳系旅行的游戏,名字都想好了,就叫做“太空旅行”——Space Travel。

他瞒着老板,找了台闲置的计算机——PDP-7。但这台机器没有操作系统,也没有软件。这并没有难倒他,这哥们儿虽然闲,可并不懒,而且他实在太想玩这个游戏了。于是他本着“自己动手,丰衣足食”的原则,为PDP-7设计一个操作系统,就叫做Unix。

用什么语言来设计Unix系统呢?他看中了BCPL,但是由于PDP-7的性能实在太弱了(只有24KB内存,500KB磁盘),用BCPL编写的Unix系统速度肯定不够快,游戏玩起来一定不够爽。

于是,一不做二不休。他决定一边利用BCPL设计Unix系统,一边着手对BCPL进行简化和改进。为了加快进度,他找来了同是游戏发烧友的同事Dennis M.Ritchie,让其主要负责对BCPL进行简化,并将其简化后的语言命名为C语言,而将原来的BCPL命名为B语言——只使用一个字母来命名语言,充分显示了他是一个极简主义者。

这哥俩儿辛苦工作了两年多,终于完成了Unix系统C语言的设计。直到今天,C语言仍是效率最高、最接近机器语言(实际上是汇编语言)的高级程序设计语言。

“不幸”的是,他们俩不仅是极简主义者,还是完美主义者。看到C语言的效率是如此之高,他们立马又用C语言将Unix系统重写了一遍,并且不断对Unix系统和C语言进行完善和改进,并着手把Unix系统移植到其他计算机上,使其成为不依赖任何硬件体系结构的通用操作系统。

这时,他们早已把那个叫做“太空探索”的游戏忘到了一边。

1977年,Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

1982年,美国国家标准协会(ANSI)为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。直到1989年,ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“ANSI C”。

(待续)

 
最新文章
相关阅读