如果把操作系统的发展史比作《三国演义》,那么本文更像《三国演义》,而不是《三国志》。

本系列尝试用故事化的方式,讲述 Unix、Linux、BSD、GNU、Windows、macOS、Android 等操作系统背后的发展历程。

文中的人物、事件和技术演进都尽量参考公开资料,但为了让故事更容易理解,会适当简化一些历史细节,也会加入作者自己的理解。

它不是一篇学术论文,而是一段程序员视角的技术故事。

如果读完之后,你产生兴趣,愿意继续查阅官方资料,那这篇文章的目的就达到了。


引子:Linux 曾经有一个梦想

如果问:

世界上最流行的操作系统是什么?

很多人的第一反应可能是:

  • Windows
  • Android
  • iOS
  • macOS
  • Linux

但是,如果换一个问题:

哪个操作系统运行的设备数量最多?

答案可能会让很多人意外:

Android。

今天,全世界数十亿台手机运行着 Android。

而 Android 的底层:

正是 Linux。

但是,有趣的是:

Linux 曾经最大的梦想:

打败 Windows,统治个人电脑桌面。

这个目标,它并没有做到。

Linux 桌面始终没有成为普通消费者的主流选择。

但是:

它换了一条路。

它进入了手机。

然后:

统治了移动世界。

这一次,Linux 没有成为桌面之王。

却成为了手机时代最大的赢家。


第一章:手机革命之前,移动世界属于谁?

故事要从 2000 年前后开始。

那个时候:

智能手机还没有今天这么智能。

手机市场主要由几个巨头掌控:

  • Nokia
  • Motorola
  • BlackBerry
  • Palm

每家公司都有自己的操作系统。

例如:

Nokia 使用:

Symbian(塞班)

BlackBerry 使用:

BlackBerry OS

Palm 使用:

Palm OS

微软也推出了:

Windows Mobile

当时的手机:

已经可以:

  • 发邮件
  • 上网
  • 安装应用

但是:

它们和今天的智能手机完全不同。

最大的区别:

手机不是一个开放的平台。

手机厂商决定:

你能安装什么。

你能访问什么。

开发者能做什么。

那个时代:

手机更像一个封闭的电子产品。

而不是今天这样:

一个装在口袋里的计算平台。


第二章:Google 为什么要做手机操作系统?

2005 年。

Google 做了一件当时很多人看不懂的事情。

它收购了一家小公司:

Android Inc.

这家公司成立于 2003 年。

最初的目标:

并不是做手机。

而是希望打造:

面向数字相机的智能系统。

但是很快,他们发现:

手机才是真正的大市场。

Google 看到了一个机会:

未来的互联网入口,不一定是电脑。

可能是:

手机。

如果手机操作系统掌握在别人手里:

那么 Google 的未来会非常被动。

想象一下:

如果未来所有手机都由某家公司控制。

默认搜索引擎。

默认应用商店。

默认服务。

那么互联网入口就会被别人掌握。

于是:

Google 决定:

自己参与这场战争。


第三章:为什么选择 Linux?

Google 面临一个选择:

自己从零写一个操作系统?

还是站在已有技术之上?

最终:

他们选择了 Linux。

原因很简单:

Linux 已经拥有:

成熟的内核。

优秀的硬件支持。

大量开发者。

开放的许可证。

但是:

Android 并不是简单地把 Linux 装进手机。

它做了一次巨大的改造。

因为:

手机和服务器完全不同。

服务器:

有大量内存。

有稳定电源。

可以运行复杂服务。

手机:

电池有限。

内存有限。

需要快速响应。

于是:

Android 在 Linux Kernel 之上:

增加了一整套自己的系统。

包括:

  • Android Runtime
  • 系统服务
  • Framework
  • 应用生态

最终形成:

一个基于 Linux Kernel,但完全不同于传统 Linux 的移动操作系统。


第四章:2007 年,一个苹果改变了世界

2007 年。

发生了一件改变手机历史的事情。

苹果发布:

iPhone。

这一天:

智能手机时代真正开始。

乔布斯展示了一台设备:

电话。

音乐播放器。

互联网终端。

三者合一。

整个行业震动。

Nokia 当时依然是手机霸主。

很多人认为:

iPhone 只是一个漂亮的玩具。

但是历史证明:

手机行业的游戏规则变了。

过去:

手机厂商竞争的是硬件。

以后:

竞争的是:

操作系统 + 应用生态。

Google 也意识到了:

必须加快 Android 的发展。


第五章:2008 年,Android 登场

2008 年。

第一台 Android 手机:

HTC Dream(T-Mobile G1)

正式发布。

它并没有像 iPhone 那样惊艳。

甚至有很多不足:

界面粗糙。

性能有限。

应用很少。

但是:

它有一个巨大优势:

开放。

Google 选择了一条和 Apple 完全不同的道路。

Apple:

控制硬件。

控制系统。

控制应用商店。

打造一个完整生态。

Google:

把 Android 开放给手机厂商。

让:

Samsung。

HTC。

Motorola。

Sony。

华为。

小米。

都可以使用 Android。

这是一场完全不同的战争。


第六章:Android 赢在哪里?

很多人会问:

为什么 Android 最终成功?

答案:

不是因为它技术最先进。

而是因为:

它适应了产业规律。

第一,开放降低了进入门槛

对于手机厂商来说:

重新开发一个操作系统:

成本巨大。

Android 提供了一条捷径。

厂商可以:

拿来修改。

加入自己的界面。

适配自己的硬件。

快速推出产品。


第二,Android 建立了应用生态

一个操作系统成功:

靠的不只是代码。

更重要的是:

生态。

开发者愿意开发应用。

用户愿意购买设备。

设备厂商愿意支持。

形成循环。

Android 借助:

Google Play。

开发者工具。

庞大的用户数量。

逐渐形成自己的生态。


第三,Linux 内核提供了强大基础

虽然普通用户看不到:

但是 Android 背后:

Linux Kernel 一直默默工作。

负责:

  • 进程管理
  • 内存管理
  • 网络
  • 驱动
  • 安全机制

Linux 在服务器领域积累几十年的技术:

最终被带到了手机。


第七章:但是 Android 不是传统 Linux

很多人第一次接触 Android 时会疑惑:

Android 是 Linux,为什么不像 Ubuntu?

因为:

Android 和传统 Linux:

只是共享 Kernel。

上层完全不同。

传统 Linux:

Linux Kernel      |GNU 工具链      |Shell      |桌面环境      |应用程序

Android:

Linux Kernel      |Android Runtime      |Framework      |System Services      |Android Apps

Android 没有采用完整 GNU 用户空间。

也没有使用传统 Linux 桌面环境。

所以:

Android 是:

一个使用 Linux 内核的移动操作系统。

而不是:

一个安装在手机上的 Ubuntu。


第八章:Linux 没有赢得桌面,却赢得了未来

回头看:

Linux 的历史非常有意思。

它曾经挑战:

Windows 桌面。

但是失败了。

普通用户依然大量使用:

Windows。

macOS。

但是:

Linux 最终找到了自己的位置。

服务器:

Linux 成为绝对主流。

云计算:

Linux 几乎无处不在。

超级计算机:

Linux 长期占据统治地位。

手机:

Android 让 Linux 进入几十亿人的生活。

甚至:

智能电视。

汽车系统。

物联网设备。

大量设备:

都运行着 Linux。

Linux 没有按照最初的剧本成功。

但它走出了另一条道路。


写在最后:一场没有按照计划发生的胜利

如果回到 1991 年。

Linus Torvalds 发布 Linux 时。

可能没人想到:

这个大学生写的小系统。

几十年后:

会运行在:

服务器。

手机。

汽车。

超级计算机。

各种智能设备。

但是:

Linux 最有趣的地方就在这里。

它没有成为 Windows。

也没有复制 Unix 的道路。

它通过开放:

形成了一个巨大的生态。

Android 也是如此。

它没有成为另一个 iPhone。

而是选择:

让更多厂商参与。

让更多设备运行。

最终:

Linux 没有统治我们的桌面。

但是:

它进入了我们的口袋。

今天,当你拿起手机:

打开应用。

连接网络。

浏览世界。

背后可能都有一个 Linux Kernel:

默默运行。

如果把现代操作系统看成一片森林:

Unix 是那棵最古老的大树。

Linux 是其中成长最快的一支。

而 Android:

则是它伸向移动世界的一根巨大枝条。

下一篇:

Android 与 iOS:两条完全不同的移动帝国之路。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐