操作系统那些事儿⑨:Android 与 iOS:两个移动帝国的不同道路
如果把操作系统的发展史比作《三国演义》,那么本文更像《三国演义》,而不是《三国志》。
本系列尝试用故事化的方式,讲述 Unix、Linux、BSD、GNU、Windows、macOS、Android 等操作系统背后的发展历程。
文中的人物、事件和技术演进都尽量参考公开资料,但为了让故事更容易理解,会适当简化一些历史细节,也会加入作者自己的理解。
它不是一篇学术论文,而是一段程序员视角的技术故事。
如果读完之后,你产生兴趣,愿意继续查阅官方资料,那这篇文章的目的就达到了。
引子:今天的手机世界,其实只剩两个帝国
今天买一台智能手机。
你会发现:
看起来品牌很多。
Samsung。
小米。
OPPO。
vivo。
Google Pixel。
荣耀。
Nothing。
还有各种各样的 Android 手机。
另一边:
则是 iPhone。
如果只看品牌数量:
Android 世界似乎极其复杂。
iPhone 却只有 Apple 一家。
但是如果再往下看一层:
整个智能手机世界,其实早就变成了两个巨大的操作系统帝国:
Android。
iOS。

更有意思的是:
它们的起点,竟然来自两条我们前面已经讲过的技术路线。
一条来自:
Unix↓BSD↓NeXT↓Darwin / XNU↓iOS
另一条来自:
Unix 思想↓GNU↓Linux Kernel↓Android
于是:
几十年前 Unix 世界分出的两条道路,
最终竟然在每个人口袋里的手机上,再次相遇。
但这一次:
它们走成了两个完全不同的帝国。
第一章:iOS,其实是 macOS 的亲兄弟
上一篇讲 macOS 时,我们已经讲过:
苹果今天操作系统世界的核心,是:
Darwin + XNU。
简单画出来:
Darwin / XNU / \ macOS iOS
所以严格来说:
iOS 并不是苹果突然为了手机,从零重新写出来的一个操作系统。
它更像是:
苹果把自己已经非常成熟的 Unix 技术底座,带到了手机上。
这一点非常重要。
因为 2007 年第一代 iPhone 发布时,
苹果并不是第一次做操作系统。
在那之前:
Mac OS X 已经存在多年。
苹果手里已经有:
- XNU 内核;
- BSD 网络栈和 Unix 基础设施;
- Mach;
- Objective-C;
- Cocoa;
- 完整的图形系统;
- 成熟的开发工具链。
于是苹果做 iPhone 时:
并不需要从 Kernel 开始重新造轮子。
它真正需要解决的是:
怎么把一套桌面操作系统技术,重新设计成一个适合手指、触摸屏、电池和移动设备的系统。
所以早期苹果甚至把 iPhone 的系统叫:
iPhone OS。
后来才改名:
iOS。
从技术血统上看:
iPhone 和 Mac 其实是一家人。
只是一个生活在桌面。
一个生活在口袋。
第二章:Android 却走了完全不同的一条路
Android 的故事不一样。
Android 最早并不是 Google 内部诞生的项目。
2003 年:
Android Inc. 成立。
最初它研究的方向甚至和今天的智能手机并不完全一样。
后来:
Google 看中了这个团队。
2005 年:
Google 收购 Android。
接下来真正决定 Android 命运的事情发生了。
Google 没有选择像 Apple 那样:
自己设计一台手机,然后让操作系统只服务自己的硬件。
Google 选择的是:
做一个可以交给整个手机行业使用的操作系统平台。
于是 Android 底层选择:
Linux Kernel。
为什么是 Linux?
原因并不神秘。
Linux 当时已经非常成熟。
它已经具备:
- 进程调度;
- 内存管理;
- 网络协议栈;
- 驱动模型;
- 文件系统;
- 权限机制;
- 大量硬件支持。
Google 根本没有必要重新写一个 Kernel。
于是:
Linux Kernel ↓Android
但这里必须强调一点:
Android 并不等于传统 Linux 发行版。
Android 虽然用了 Linux Kernel。
但它并没有直接采用我们熟悉的:
GNU+Linux+GNOME / KDE
这套桌面 Linux 组合。
它有自己的一整套用户空间。
自己的 Runtime。
自己的 Framework。
自己的应用模型。
自己的权限机制。
自己的 UI。
所以:
Ubuntu 和 Android 都使用 Linux Kernel。
但它们其实是两个完全不同的操作系统世界。

第三章:2007 年,两条路线正式碰撞
2007 年。
Apple 发布第一代 iPhone。
Jobs 站在舞台上说:
今天苹果要发布三个革命性产品。
一个宽屏 iPod。
一台手机。
一个互联网通信设备。
然后他说:
它们不是三个设备。
而是:
一个设备。
iPhone 出现了。
它几乎重新定义了智能手机。
但同一年:
Google 也在准备自己的答案。
Google 联合多家厂商成立:
Open Handset Alliance。
其中包括:
手机厂商。
芯片公司。
运营商。
软件公司。
然后:
Android 被推向整个产业。
2008 年。
第一台商业 Android 手机出现。

于是两条路线正式形成:
Apple ↓iOS ↓iPhone
以及:
Google ↓Android ↓SamsungXiaomiOPPOvivoMotorolaGoogle…… ↓无数手机
表面看:
这只是两个操作系统在竞争。
实际上:
从一开始,
它们玩的就根本不是同一个游戏。
第四章:Apple 想卖的是“完整产品”
先看 Apple。
苹果的思路一直非常明确:
我不只做操作系统。
我要控制整个产品。
所以一台 iPhone 背后:
苹果控制:
- 芯片;
- 硬件设计;
- 操作系统;
- 驱动;
- 图形系统;
- Framework;
- App Store;
- 开发工具;
- 云服务;
- 系统升级。
甚至今天:
连 CPU 都是 Apple 自己设计的。
这意味着:
iOS 并不是一个准备卖给 Samsung、Xiaomi、OPPO 使用的操作系统。
它存在的意义就是:
让 iPhone 成为一个完整产品。
苹果真正卖给你的:
并不是一个操作系统许可证。
而是:
Hardware+OS+App+Service+Ecosystem
全部绑在一起的一整套体验。
换句话说:
苹果不是:
操作系统公司。
也不仅仅是:
手机公司。
苹果想控制的是:
从硅片到用户界面的整条产品链。

第五章:Google 想建立的是“硬件联盟”
Android 则完全不同。
Google 面临一个天然问题:
它不是传统手机硬件厂商。
Google 擅长的是:
搜索。
互联网服务。
广告。
云。
软件平台。
所以 Google 没必要自己制造世界上所有手机。
它需要的是:
让尽可能多的手机运行自己的平台。
于是 Android 最重要的能力并不是:
“Google 能不能做出一台最漂亮的手机。”
而是:
“能不能让 Samsung、Motorola、小米、OPPO、vivo、Sony、HTC……全部愿意加入。”
这就出现了一种和 Apple 完全不同的商业模式:
Google ↓Android ↓硬件厂商 ↓不同价位不同尺寸不同芯片不同设计 ↓全球消费者
Android 本质上做了一件非常厉害的事情:
用操作系统建立了一个巨大的硬件联盟。
Google 不需要自己生产几亿台手机。
无数手机厂商:
会帮 Google 把 Android 带到世界各地。

第六章:所以 Android 必须“开放”
很多人喜欢把 Android 与 iOS 的区别总结成:
Android 开放。
iOS 封闭。
这个说法不能算错。
但还不够深。
真正的问题应该是:
为什么 Android 必须开放?
答案其实就在它的商业模式里。
如果 Google 告诉 Samsung:
手机只能按照我的样子设计。
Samsung 为什么要用 Android?
如果告诉 Xiaomi:
UI 不准改。
小米为什么要加入?
如果告诉 OPPO:
功能不准加。
OPPO 为什么不自己寻找其他系统?
所以:
为了让整个硬件产业加入,
Android 天生就必须允许厂商:
在一定范围内做自己的东西。
于是我们看到了:
Samsung One UI。
小米 HyperOS。
OPPO ColorOS。
vivo OriginOS。
不同手机:
不同外观。
不同功能。
不同相机。
不同硬件。
不同价位。
Android 提供的是:
一个共同的平台底座。
厂商则在上面:
继续建设自己的产品。
第七章:而 iOS 为什么必须“封闭”
反过来看 Apple。
iOS 为什么不开放给 Samsung?
不是因为 Apple 技术上做不到。
而是:
一旦开放,Apple 自己的商业模式就被破坏了。
假设今天出现:
Samsung iOS PhoneXiaomi iOS PhoneOPPO iOS Phone
会发生什么?
消费者可能开始问:
既然大家都运行 iOS,
为什么我要买昂贵的 iPhone?
于是 Apple 自己最重要的竞争优势:
就被稀释了。
所以:
Android 需要扩张。
iOS 需要控制。
Android 的成功标准是:
有多少硬件厂商使用 Android。
而 iOS 的成功标准是:
有多少用户愿意购买 Apple 的完整产品。
这就是两条路线最根本的区别。
第八章:开放的代价:碎片化
Android 的模式带来了一个巨大优势:
规模。
你可以买:
几百元的 Android 手机。
也可以买:
旗舰 Android 手机。
可以:
折叠屏。
游戏手机。
三防手机。
超长焦手机。
甚至各种奇怪形态的设备。
Android 很快覆盖了:
几乎所有价位。
所有国家。
所有手机厂商。
但这种模式也有一个经典问题:
Fragmentation。
碎片化。
因为 Android 世界里存在:
不同芯片。
不同屏幕。
不同厂商。
不同驱动。
不同 Android 版本。
不同 UI。
不同升级策略。
于是开发者有时会发现:
我的程序在 Pixel 上没问题。
到了某品牌:
出问题了。
某个 API:
这台手机支持。
另一台:
行为又不一样。
某个 Android 新版本:
Google 已经发布。
但很多手机:
几个月甚至更久之后才升级。
为什么?
因为:
Android 的升级链路并不只有 Google。
很多情况下更像:
Google ↓Android ↓芯片平台 ↓手机厂商 ↓运营商 ↓用户
中间每多一层:
就多一层适配和测试。
第九章:控制的优势:Apple 可以“一刀切”
iOS 就简单很多。
因为:
Apple ↓Hardware ↓iOS ↓iPhone
全是 Apple 自己的。
所以苹果可以说:
下个月开始,这个 API 不用了。
然后:
整个生态一起升级。
苹果也可以推出一种新的硬件能力。
然后同时修改:
芯片。
驱动。
Kernel。
Framework。
SDK。
Xcode。
应用接口。
全部一起配合。
这是垂直整合最大的力量。
比如:
Apple 设计自己的芯片后,
硬件与操作系统之间可以非常紧密。
操作系统团队知道:
未来 CPU 有什么能力。
CPU 团队也知道:
未来操作系统需要什么。
这种协同效率:
是 Android 阵营很难完全复制的。
因为 Android 面对的是:
几十家厂商。
大量芯片平台。
无数设备。

第十章:但控制也有代价
当然:
Apple 的路线也不是没有问题。
当一个公司同时控制:
操作系统。
应用商店。
硬件。
支付。
分发。
开发工具。
审核规则。
那么:
开发者几乎无法绕开它。
Android 世界至少理论上存在:
多个应用商店。
侧载。
不同厂商。
不同硬件选择。
而 iOS 世界:
Apple 拥有非常强的控制权。
所以围绕:
App Store。
应用分发。
抽成。
浏览器引擎。
支付规则。
一直都有争议。
从某种角度看:
苹果的优势和它的问题:
其实来自同一个地方。
控制。
控制带来一致体验。
也带来强大的平台权力。
第十一章:Android 其实也没有想象中那么“开放”
这里还有一个很容易被忽略的问题。
很多人会说:
Android 是开源操作系统。
大体没错。
Android 有:
AOSP:Android Open Source Project。
理论上:
厂商可以基于 AOSP 做自己的系统。
但今天普通消费者熟悉的 Android 手机:
通常不仅仅是 AOSP。
里面还会存在大量 Google 服务。
例如:
Google Play。
Google Maps。
YouTube。
Google Play Services。
以及一整套 Google Mobile Services。
所以:
Android 的真实世界其实分成两层:
AOSP↓开放的 Android 基础平台
上面还有:
Google Services↓Google 的商业生态
这也是 Google 商业模式非常聪明的地方。
底层足够开放:
让厂商愿意加入。
而真正连接:
应用。
账号。
地图。
搜索。
云服务。
广告。
应用商店。
的那一层:
Google 仍然拥有极强影响力。
所以 Android 并不是简单的:
“完全开放”。
它更像是:
开放底座 + 商业生态。
第十二章:两家公司真正争夺的,其实不是操作系统
如果把视角再拉远一点:
你会发现:
Android 和 iOS 的竞争,
早就不是:
Kernel 谁更好。
也不是:
哪个 UI 更漂亮。
甚至不只是:
哪台手机参数更高。
真正竞争的是:
生态入口。
手机已经成为现代人最重要的计算设备之一。
你每天在手机上:
搜索。
聊天。
购物。
支付。
导航。
拍照。
看视频。
玩游戏。
办公。
订阅服务。
使用 AI。
谁控制手机操作系统:
谁就站在整个数字世界非常重要的入口。
于是:
Apple 建立:
iPhone+iOS+App Store+iCloud+Apple Services
Google 建立:
Android+Google Play+Search+Maps+YouTube+Google Services
表面上:
它们卖的是操作系统和手机。
实际上:
它们建立的是:
数字生态帝国。
第十三章:两种路线,没有绝对赢家
很容易有人问:
那么:
Android 和 iOS。
到底谁的路线更好?
其实这个问题:
没有标准答案。
Android 的路线擅长:
规模。
它可以联合整个硬件产业。
覆盖:
不同国家。
不同价格。
不同硬件。
不同用户。
iOS 的路线擅长:
控制。
它可以让:
硬件。
系统。
软件。
服务。
协同工作。
所以最后形成了一个非常有意思的局面:
Android 世界:
像一个巨大的联邦。
里面有:
Samsung。
Xiaomi。
OPPO。
vivo。
Google。
Motorola。
……
大家共享一个基础制度。
但各自拥有自己的城市和军队。
而 iOS 世界:
更像一个高度统一的帝国。
只有:
Apple。
一套规则。
一套硬件。
一套系统。
一套生态。
第十四章:再回头看 Unix,会发现历史非常有意思
现在回头看看整个系列。
我们会发现一个非常奇妙的历史循环。
Unix 出现。
然后:
Unix├── BSD│ ↓│ NeXT│ ↓│ Darwin / XNU│ ├── macOS│ └── iOS│└── Unix 思想 ↓ GNU ↓ Linux Kernel ↓ Android
最终:
两个今天最重要的移动操作系统,
居然都能追溯到:
几十年前 Unix 世界留下的技术和思想。
Apple 这条线:
BSD↓NeXT↓Darwin↓XNU↓iOS
Google 这条线:
Linux Kernel↓Android
一条强调:
垂直整合。
另一条强调:
平台扩张。
一个:
控制完整产品。
一个:
联合整个硬件行业。
最后:
共同统治了智能手机世界。
写在最后:真正不同的不是“开放与封闭”
很多人讨论 Android 和 iOS 时:
最后都会落到一句话:
Android 开放。
iOS 封闭。
但如果沿着操作系统历史一路走下来,
会发现:
这只是表面。
更深层的区别其实是:
它们代表了两种完全不同的操作系统商业模式。
Android 的逻辑是:
Google↓Android↓Samsung / Xiaomi / OPPO / vivo / ...↓无数硬件
也就是:
用操作系统建立硬件联盟。
iOS 的逻辑是:
Apple↓iOS↓iPhone
也就是:
用操作系统控制完整产品。
一个希望:
更多公司加入。
一个希望:
所有东西掌握在自己手里。
一个依靠:
规模。
一个依靠:
整合。
这两条道路:
从 2007 年开始激烈碰撞。
直到今天:
仍然没有结束。
而更有意思的是:
无论你今天从口袋里掏出的是:
一台 Android 手机,
还是:
一台 iPhone。
它们背后:
其实都还能看到五十多年前那个老操作系统的影子。
Unix 从来没有统治过智能手机。
但它留下的后代和思想,却最终统治了整个移动世界。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)