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

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

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

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

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


引子:五十多年过去,到底谁赢了?

前面十一篇。

我们一直在往回看。

从:

1969 年的 Unix。

一路走过:

GNU。

BSD。

Linux。

System V。

Solaris。

macOS。

Android。

iOS。

Windows。

最后又从 Cygwin、MinGW 一路走到:

WSL。

故事讲到这里。

其实已经留下了一个非常大的问题。

几十年来。

这些操作系统:

竞争。

争论。

互相借鉴。

互相兼容。

也有很多已经离开了历史舞台。

那么:

五十多年以后,这场操作系统战争到底谁赢了?

是 Windows 吗?

毕竟今天绝大多数普通 PC,依然运行 Windows。

是 Linux 吗?

毕竟服务器、云、超级计算机,到处都是 Linux。

是 Unix 吗?

毕竟 Linux、macOS、Android,甚至 Windows 里的大量开发工具,都带着浓浓的 Unix 味道。

还是 Apple?

因为它把从芯片、Kernel 到操作系统、应用商店的一整套东西,全都控制在自己手里。

又或者:

Android 才是真正的赢家?

因为全球几十亿人的口袋里,都放着一台运行 Linux Kernel 的设备。

这个问题看起来很简单。

但是当你真正把今天的计算机世界摊开来看:

答案却会变得非常奇怪。

因为最后我们发现:

根本没有任何一个操作系统赢得了全部战争。

更准确地说:

它们分别赢了不同的战场。

而且。

到了 2026 年。

连“操作系统”这个词本身:

都已经和五十年前不太一样了。


第一章:如果只看电脑桌面,Windows 好像赢了

先从我们每天最容易看到的地方开始:

PC。

打开办公室里的电脑。

Windows。

去商场看品牌笔记本。

Windows。

公司里的财务软件。

Windows。

大量工业软件。

Windows。

大量 PC 游戏。

还是:

Windows。

所以如果你只生活在桌面电脑世界:

很容易得出一个结论:

Windows 赢了。

而且从数据看:

这个判断并没有错。

按照 StatCounter 2026 年 7 月的全球桌面 Web 使用统计:

Windows     71.18%

OS X        12.21%
macOS        7.61%

Linux        7.53%

Chrome OS    1.47%

以 StatCounter 2026 年 7 月的全球桌面 Web 使用数据为例,Windows 约占 71.18%,Linux 约占 7.53%,ChromeOS 约占 1.47%。

苹果平台比较特殊:StatCounter 将 Mac 流量拆成了 OS X 12.21%macOS 7.61% 两项。这主要与浏览器 User-Agent 的识别方式有关,并不能理解为大量用户仍在运行十年前的 OS X。两项合计约 19.82%,更接近 Apple Mac 平台整体的桌面 Web 使用份额。

Windows 依然占据明显优势。

当然这里要注意:

StatCounter 统计的并不是“全球到底安装了多少台 Windows”。

它统计的是大量网站产生的页面访问,并根据访问设备的操作系统来计算使用份额。

所以:

它更接近 Web 使用份额,而不是装机量。

StatCounter 自己说明,它的数据来自一百多万个网站、每月超过 30 亿次页面浏览。

但不管怎样。

大方向非常清楚:

传统 PC 桌面,今天依然是 Windows 的天下。

几十年前 Windows 建立起来的软件生态。

Win32。

Office。

游戏。

驱动。

企业管理工具。

工业软件。

各种内部系统。

今天还在继续产生作用。

前面讲 Windows 时,我们说过:

Windows 最厉害的地方之一,也许不是某一个漂亮的 Kernel 设计。

而是:

兼容性。

它像一座已经住了几十年的城市。

老房子不能全拆。

旧道路不能全封。

因为里面真的还有人在生活。

所以 Windows 背着几十年的历史包袱。

却也正是这些历史包袱:

变成了它最深的护城河。

如果只看桌面。

这场战争:

Windows 确实赢了。

可是。

只要我们把镜头稍微转一下:

事情马上就不一样了。


第二章:走进服务器机房以后,赢家突然变了

把办公室门关上。

然后走进:

数据中心。

这里的画风完全不同。

这里没有开始菜单。

没有桌面壁纸。

没有人在乎任务栏图标是不是居中。

你看到的是:

ssh
systemd
docker
containerd
kubelet
nginx
python
gcc
bash

然后:

Linux。

Linux。

还是 Linux。

甚至微软自己的 Azure。

今天也早已经不是一个“Windows 云”。

Azure 官方目前直接写着:

超过 60% 的客户计算核心运行 Linux workload。

可选择的发行版包括 Red Hat、SUSE、Ubuntu、Debian 等。

这个画面如果放到 1990 年代:

其实挺魔幻的。

当年微软最大的对手之一:

Unix/Linux。

今天却成为微软云平台最重要的工作负载之一。

再往另一个极端看:

超级计算机。

2026 年 6 月的 TOP500 中:

Linux family
500 / 500

系统份额:

100%。

而这个过程并不是突然发生的。

2000 年时,TOP500 里 Linux family 只有几十台。

2010 年:

已经四百多台。

2017 年:

498 台。

随后:

500 台。

500 台。

500 台。

一直到今天。

这件事情非常有意思。

因为几十年前很多 Linux 爱好者最大的愿望是:

Linux 什么时候能打败 Windows Desktop?

结果历史最后给出的答案是:

它没有。

但是 Linux 转身去了另一个地方。

服务器。

云计算。

网络设备。

容器。

超级计算机。

然后:

把现代互联网的大量基础设施铺在了自己身上。

所以如果站在普通用户桌前:

你会觉得 Linux 输了。

可如果站在数据中心里:

你可能反而会问:

Windows 去哪了?

这就是操作系统历史最有意思的地方。

胜负:

从来取决于你站在哪个战场。


第三章:可是如果把电脑合上,Windows 甚至不再是第一

还有一个变化更加彻底。

把 PC 合上。

拿起手机。

整个世界又变了。

2026 年 7 月,StatCounter 的全球移动端 Web 使用统计大约是:

Android     68.36%
iOS         31.60%

两家加起来:

几乎就是整个智能手机世界。

我们在前面两篇已经讲过这个故事。

Android:

Linux Kernel
      ↓
Android

iOS:

BSD / Mach
      ↓
Darwin
      ↓
XNU
      ↓
iOS

一边:

Google 建立硬件联盟。

一边:

Apple 控制完整产品。

一个靠:

规模。

一个靠:

整合。

最后它们把 Nokia、BlackBerry、Windows Phone 等一大批曾经存在的移动系统都留在了历史里。

但真正有意思的是:

如果把桌面、手机、平板等设备放到一个大的 Web 使用统计口径里。

2026 年 7 月:

Android 已经是 41.39%。

Windows 则是 27.67%。

注意。

这仍然不是“全球设备装机量”。

只是 Web 使用数据。

但是它揭示了一件非常重要的事情:

PC 已经不再等于整个计算机世界。

过去我们问:

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

潜台词其实是:

电脑上最流行的操作系统是什么?

今天不一样了。

你一天使用最多的计算设备:

可能根本不是电脑。

而是手机。

所以:

Windows 并没有突然衰败。

只是:

世界变大了。


第四章:那么 Unix 赢了吗?

看到这里。

可能有人会说:

懂了。

最后还是:

Unix 赢了。

毕竟:

Linux 是 Unix-like。

macOS 来自 BSD、Mach、NeXT 那条线。

iOS 又来自 Darwin/XNU。

Android 底层是 Linux。

服务器世界充满 Shell、SSH、POSIX 风格工具。

连 Windows 都加入了:

OpenSSH。

WSL。

Linux 环境。

所以:

Unix 才是最终赢家?

这个说法:

对了一半。

真正曾经作为商业产品存在的 Unix 帝国:

其实早已经不像当年那么强大。

曾经的:

Solaris。

AIX。

HP-UX。

以及那些昂贵的 Unix 工作站。

已经不是今天普通程序员每天面对的主角。

但是:

Unix 留下来的东西,却几乎无处不在。

Shell。

管道。

进程。

文件描述符。

层次化文件系统。

C 语言。

命令行工具。

POSIX 风格接口。

stdin
stdout
stderr

还有那种非常典型的思维:

做好一件事。

然后通过组合解决复杂问题。

所以 Unix 最后的胜利非常特别。

它没有:

一统天下。

甚至很多真正叫 Unix 的系统:

已经退出主舞台。

可是:

整个软件世界越来越会说一种“Unix 口音”。

今天你在 Windows 上:

git
ssh
bash
python
gcc

在 macOS 上:

还是这些东西。

登录 Linux Server:

还是这些东西。

进入容器:

依然还是这些东西。

所以 Unix 最强大的遗产:

从来不只是某一份源代码。

而是:

它定义了一种计算机应该怎样工作的想象。

第一篇文章里那棵 Unix 大树。

五十多年以后。

树干可能已经没有那么显眼。

可它的根:

已经伸到了整片森林下面。


第五章:Linux 最奇怪的胜利——你越看不见它,它可能越成功

Linux 的故事更有意思。

如果你问一个普通人:

你用 Linux 吗?

很多人会回答:

不用。

然后他掏出:

Android 手机。

打开家里的:

智能电视。

访问:

某个网站。

把照片上传:

云端。

甚至坐进一辆联网汽车。

结果背后:

很可能到处都有 Linux。

所以 Linux 最大的胜利:

其实并不是让每个人都坐到 GNOME 或 KDE 前面。

而是:

让人根本不需要知道自己正在使用 Linux。

Android 是最典型的例子。

普通用户不会说:

我的手机今天启动 Linux Kernel 了。

他只会说:

我的 Samsung。

我的小米。

我的 Pixel。

ChromeOS 也有一点这种味道。

Chromium OS 官方文档明确说明,它底层使用 Linux Kernel;而今天的 ChromeOS 又可以给开发者提供 Linux 环境,把 Linux 应用放在隔离环境中运行。

用户看到的是:

Chromebook。

而不是:

又一个 Linux 发行版。

还有一个很有意思的新例子:

SteamOS。

Valve 当前的 SteamOS 本身就是基于 Arch Linux 的 Linux 发行版,再通过 Proton 兼容层运行大量原本为 Windows 开发的游戏。

最开始:

SteamOS 最出名的设备当然是:

Steam Deck。

但它已经开始往 Deck 之外扩张。

Valve 现在官方支持的 SteamOS 设备已经包括 Lenovo Legion Go S,同时还在持续改善对更多 AMD 掌机以及 ASUS ROG Xbox Ally、MSI Claw 等设备的兼容。

这件事又像极了 Android。

Linux Desktop 花了几十年思考:

怎么让普通用户安装 Linux?

SteamOS 的答案却可能是:

为什么一定要让用户“安装 Linux”?

用户买一台掌机。

开机。

进 Steam。

玩游戏。

就完了。

至于下面是不是:

Arch Linux
Linux Kernel
Mesa
Wayland
Proton

普通用户根本不在乎。

于是 Linux 又一次:

绕过了传统 Desktop。

这可能才是 Linux 最擅长的扩张方式。

不是要求所有人接受 Linux。

而是:

让 Linux 成为别人产品里面那个看不见的底座。


第六章:那 Windows 输了吗?当然也没有

看到服务器和 Linux。

再看到 Android。

很容易又走到另一个极端:

Windows 是不是已经输了?

其实完全不是。

因为 Windows 赢下来的东西:

Linux 到今天也没有真正复制。

那就是:

几十年连续积累起来的 PC 生态。

软件。

游戏。

驱动。

OEM。

企业部署。

Active Directory。

商业软件。

工业软件。

用户习惯。

还有大量你甚至不知道还有人在运行的:

老程序。

Windows 最强大的能力之一:

依然是让昨天的软件继续生活在今天的电脑上。

而微软后来又做了一件非常聪明的事情。

它慢慢放弃了一个执念:

所有软件最终都必须变成 Windows 软件。

于是:

于是,WSL、Linux VM、Docker、SSH、跨平台 .NET、VS Code、PowerShell 等工具一个接一个地出现。

前一篇讲 WSL 时,我们最后得到的其实就是这个结论:Windows 并没有变成 Unix,它只是逐渐学会了和 Unix 世界一起生活。

和 Unix 世界一起生活。

过去 Windows 更像:

世界
 ↓
Windows

现在它越来越像:

Windows App ───────┐

                   │

Linux App ─────────┤

                   │

Container ─────────┤

                   ↓

              开发者电脑

所以 Windows 今天最大的变化:

不是 NT Kernel 突然变成了 Linux。

而是:

微软对“平台”的理解变了。

你最终的软件跑 Windows?

可以。

跑 Linux?

也可以。

部署容器?

也可以。

进入云端?

也可以。

Windows 依然想让你留在 Windows 桌面。

但它已经不再要求:

整个世界都必须按照 Windows 的方式工作。

这就是一个成熟帝国的变化。

不是把所有邻国都变成自己。

而是:

让所有道路都能经过自己。


第七章:BSD 看起来输了,其实只是越来越隐形

再说 BSD。

如果只看:

桌面份额。

手机品牌。

云服务器数量。

BSD 好像存在感非常低。

可是这一整个系列讲下来:

我们已经不止一次碰到它。

TCP/IP。

网络技术。

OpenSSH。

FreeBSD。

OpenBSD。

NeXT。

Darwin。

macOS。

iOS。

BSD 最有意思的地方就在这里。

它没有像 Linux 那样:

把自己的名字贴到整个世界。

但很多技术:

离不开它留下来的东西。

尤其 Apple 这一条线。

几十年前:

BSD
 ↓
NeXT
 ↓
Darwin
 ↓
XNU
 ├── macOS
 └── iOS

最终变成了今天全球最重要的操作系统家族之一。这个技术血统也是我们前面 Android/iOS 篇里一路串起来的主线。

所以 BSD 的命运也很特别。

它没有成为:

最大的操作系统帝国。

它更像:

一个影响了很多帝国的老工程师。

名字不一定挂在门口。

但楼里很多东西:

是它当年画的图纸。


第八章:真正改变操作系统战争的,可能不是另一个 Kernel

讲到这里。

我们一直在讨论:

Windows NT。

Linux Kernel。

XNU。

BSD。

Zircon。

好像操作系统战争的核心永远是:

谁的 Kernel 更厉害?

但从 1990 年代开始。

另一个变化其实越来越重要。

应用程序:

开始想办法逃离具体操作系统。

最早有:

Java。

那句著名的目标:

Write once, run anywhere.

然后:

浏览器越来越强。

JavaScript 越来越强。

.NET 开始跨平台。

Python。

Node.js。

Electron。

虚拟机。

容器。

一个接一个出现。

以前开发应用:

Application
    ↓
Operating System
    ↓
Hardware

现在越来越像:

Application
    ↓
Browser / JVM / .NET / Python / WASM
    ↓
Container / Runtime
    ↓
Operating System
    ↓
Hardware

应用和操作系统之间:

被塞进了越来越多层。

这件事改变了整个游戏。

因为开发者开始越来越少地直接问:

这是什么 OS?

而是问:

Chrome 能不能跑?

JVM 有没有?

Python 是哪个版本?

Docker image 能不能启动?

Kubernetes 能不能部署?

CUDA 能不能用?

浏览器支持这个 API 吗?

操作系统:

依然在那里。

但它离应用开发者:

越来越远。


第九章:WebAssembly——会不会再往前推一步?

这几年。

又有一个东西正在继续推动这件事情:

WebAssembly。

最开始很多人听到 WebAssembly。

第一反应是:

浏览器里的高性能代码。

但是后来它开始走出浏览器。

然后出现:

WASI。

WebAssembly System Interface。

它想解决的问题很有意思:

不是:

怎么制造另一个 Linux。

而是:

怎么给 WebAssembly 程序提供一套安全、可移植的系统接口。

到了 2026 年。

WASI 仍然在快速发展。

WASI 0.3.0 已经在 2026 年 6 月 11 日发布,并把原生异步能力进一步带进 Component Model。

于是未来有一种可能:

应用程序越来越像:

Application
    ↓
WASM Component
    ↓
WASI
    ↓
Windows / Linux / macOS / Cloud / Edge

看起来有没有一点眼熟?

几十年前:

POSIX 想在不同 Unix 系统之间建立共同接口。

后来:

JVM 想在不同 OS 上建立运行时。

再后来:

浏览器成为跨平台应用环境。

今天:

WASM/WASI 又在尝试类似的事情。

当然。

它并不会因此取代 Linux。

也不会突然让 Windows 消失。

因为:

显卡驱动。

USB。

文件系统。

进程调度。

内存管理。

电源管理。

硬件中断。

总得有人负责。

但是 WASM 说明了一个越来越明显的趋势:

应用程序正在努力减少自己对某一个具体操作系统的依赖。

操作系统没有消失。

它只是:

越来越往下面沉。


第十章:所以操作系统是不是正在“消失”?

这个问题现在经常出现。

既然:

浏览器越来越强。

云越来越强。

Docker 越来越普遍。

Kubernetes 管理一切。

Serverless 连机器都看不到。

那是不是:

操作系统已经不重要了?

恰恰相反。

操作系统可能比以前:

更重要了。

只是你越来越看不见它。

过去:

一台计算机。

一个操作系统。

几个程序。

App
 ↓
OS
 ↓
Hardware

今天一台云服务器里可能是:

Application
      ↓
Container
      ↓
Container Runtime
      ↓
Linux Kernel
      ↓
Virtual Machine
      ↓
Hypervisor
      ↓
Physical Server

甚至:

里面再套一层。

所以问题不是:

OS 消失了吗?

真正发生的是:

原来一个很清楚的边界,被拆成了很多层边界。

虚拟机负责隔离:

OS。

容器负责隔离:

进程和资源。

浏览器负责隔离:

网页。

App Sandbox 隔离:

应用。

WASM 又提供:

另一层安全执行环境。

一台现代计算机:

越来越像一颗洋葱。

一层。

一层。

又一层。

操作系统不再只是:

Kernel + Desktop。

而是整个:

资源管理、隔离、安全、运行时和硬件抽象体系。


第十一章:还有一片巨大的世界,我们以前几乎没有讲

整个系列讲了很多:

Unix。

Linux。

Windows。

macOS。

Android。

iOS。

但其实还有一类操作系统:

普通人可能一辈子都不会主动安装。

它们却可能就在:

耳机里。

手表里。

汽车里。

传感器里。

路由器里。

工业设备里。

甚至卫星里。

它们叫:

RTOS。

Real-Time Operating System。

实时操作系统。

为什么不用 Linux?

因为不是每一台计算机都需要:

16 GB 内存。

浏览器。

GUI。

Python。

Docker。

有些芯片:

可能只有几百 KB RAM。

甚至更少。

它只需要完成一件事情:

在规定时间内,把事情做完。

比如:

读取传感器。

控制电机。

处理刹车信号。

发送蓝牙数据。

于是这个世界里:

FreeRTOS。

Zephyr。

ThreadX。

各种商业 RTOS。

一直非常活跃。

其中一个这几年尤其值得关注的:

Zephyr。

2026 年正好是 Zephyr 项目十周年。

它从 2016 年一个小型开放 RTOS 项目,已经发展到支持超过 1000 块开发板、拥有超过 3000 名贡献者;Linux Foundation 的 2026 调研也显示,它已经大量进入实际商业产品,而不只是一个实验项目。

这件事提醒我们:

整个操作系统历史很容易产生一个错觉。

因为程序员每天面对的是:

PC。

服务器。

手机。

于是我们会觉得:

世界就是 Windows、Linux、Android、iOS。

其实不是。

计算机的数量:

早已经远远超过“电脑”的数量。

未来越来越多计算设备:

甚至不会有屏幕。

它们也不需要:

Windows。

GNOME。

Finder。

它们需要的是:

小。

可靠。

实时。

能跑十年。

这也是操作系统世界的一条巨大支线。


第十二章:更有意思的是,新操作系统仍然在出生

写操作系统历史时。

很容易产生一种错觉:

大局已定。

桌面:

Windows / macOS / Linux。

手机:

Android / iOS。

服务器:

Linux / Windows。

所以:

后来的人是不是已经没有必要再写一个操作系统?

历史显然没有这么听话。

因为直到今天:

仍然有人在重新回答最古老的问题:

操作系统到底应该怎么设计?


Fuchsia:Google 为什么还要再写一个 Kernel?

Google 明明已经拥有 Android。

Android 底层已经有 Linux。

那么为什么还要做:

Fuchsia?

因为 Fuchsia 从根上:

就不是另一套 Linux 发行版。

它的核心平台叫:

Zircon。

Fuchsia 官方把自己定义成一个现代、开源、通用操作系统;Zircon 则提供 Kernel、基础用户空间服务、驱动等底层能力,Fuchsia 再在上面构建完整系统。

而且这个项目并没有消失。

2026 年 8 月更新的官方硬件支持页面,依然列出了 ARM 与 x64 的实际支持配置,包括 VIM3、Astro 和 Intel NUC 等。

Fuchsia 的一些设计也很有意思。

例如:

驱动更多放到用户空间。

Capability/Handle 风格权限。

强调长期稳定接口。

组件化。

稳定 Driver ABI。

这些都在重新思考:

Kernel 到底应该管多少东西?

Fuchsia 会不会有一天取代 Android?

现在没人知道。

至少今天:

它还不是 Android、Windows、Linux 那样的大众主流平台。

但它的重要意义不一定只是:

市场份额。

它说明:

Google 自己都不认为“Linux Kernel 出现以后,操作系统设计就已经结束了”。


HarmonyOS / OpenHarmony:另一条正在成长的路线

中国这边。

还有一条不能忽略的路线:

HarmonyOS。

到了 2026 年。

HarmonyOS 仍在高速迭代。

华为开发者资料已经进入 HarmonyOS 7 / API 26,并且开始把 App 与 Agent、Skill、AI 能力放进同一套开发平台里。

这里还有一个经常混在一起的名字:

OpenHarmony。

两者相关。

但不能简单理解成:

HarmonyOS = OpenHarmony 换了个名字。

OpenHarmony 是由开放原子开源基金会孵化运营的开源项目,它自己的定位是面向多种智能终端的操作系统框架和平台。

而且它并不是只盯着手机。

官方架构甚至区分:

轻量系统
小型系统
标准系统

根据设备资源不同进行裁剪。

底层还采用:

Linux Kernel 或 LiteOS

等多内核设计。官方当前文档列出的社区支持开发板已经覆盖多种 ARM、RISC-V、x86 场景。

这条路线最值得观察的地方:

也许不是:

它最后能抢多少手机份额。

而是:

操作系统能不能真正从“单设备 OS”,变成“多个设备共同组成一个系统”。

手机。

平板。

电视。

手表。

汽车。

家电。

传感器。

它们之间的边界:

可能越来越模糊。

这其实是一个很新的操作系统问题。


seL4:如果我们要求 Kernel 可以被“证明”正确呢?

还有一群人。

研究的问题更加极端。

他们问:

Kernel 能不能不仅仅是“测试过没问题”。

而是:

数学上证明它符合自己的规格?

这就是:

seL4。

seL4 是一个微内核。

它最著名的地方之一:

就是对 Kernel 实现进行了机器检查的形式化验证,并继续把证明扩展到访问控制、信息流等安全属性。

它不会明天拿来替代:

Windows 11。

也不会成为下一台 iPhone 的桌面系统。

但在:

航空航天。

汽车。

国防。

工业控制。

以及其他高可信系统里。

这种思路非常重要。

因为这些地方真正关心的问题不是:

开机快不快两秒?

而是:

这个 Kernel 有没有可能做出规格之外的事情?

所以几十年前的:

微内核。

今天并没有消失。

它只是去了:

对安全要求更高的地方。


Redox:如果重新写一次,连语言也换掉呢?

还有更加实验性的项目。

例如:

Redox OS。

它选择:

Rust。

微内核。

重新设计自己的操作系统。

今天它当然还远远算不上一个 Windows/Linux 竞争者。

大量驱动。

软件生态。

硬件兼容。

日常可用性。

都还需要很多工作。

但项目仍然在发展。

2025 年 Redox 的开发工作里,还在完善 Rust 编写的动态链接器,并继续移植 GCC、LLVM、GNU Make、Bash、cURL、COSMIC Terminal 等软件。

为什么这种项目值得出现在最后一篇?

因为它提醒我们:

1991 年。

Linux 也曾经只是:

一个大学生写着玩的 Kernel。

当然。

这并不意味着 Redox 会变成下一个 Linux。

绝大多数新操作系统:

最终都不会。

但是:

只要硬件、语言、安全和应用模型继续变化,就一定会有人重新问一遍:如果今天重新设计操作系统,我们还会这样设计吗?

只要这个问题还存在:

操作系统的故事就不会结束。


第十三章:AI 来了,会不会出现新的“AI 操作系统”?

然后:

终于轮到今天最火的东西。

AI。

AI PC。

AI Phone。

AI Agent。

AI Server。

Agent OS。

AI OS。

各种名字开始出现。

于是很自然会产生一个问题:

AI 会不会把现有操作系统重新洗牌?

至少到 2026 年:

答案更接近:

还没有。

甚至从基础设施来看:

AI 反而进一步强化了 Linux。

NVIDIA 自己的 DGX OS 7,就是基于 Ubuntu 24.04,并配套 Linux Kernel、NVIDIA GPU Driver、CUDA 等整套 AI 基础设施。

原因很现实。

一个大模型最终还是需要:

CPU。

GPU。

内存。

网络。

存储。

进程。

驱动。

权限。

调度。

所以:

AI 再聪明。

也不能直接绕过:

GPU Driver
Memory
Network
Filesystem
Kernel

于是今天真实的 AI 软件栈,很多时候反而像:

AI Application / Agent
          ↓
Model Runtime
          ↓
CUDA / Accelerator Runtime
          ↓
Container
          ↓
Linux
          ↓
GPU / NPU / CPU

这意味着:

所谓:

AI OS

短期内未必是一个新的 Kernel。

它更可能首先出现在:

操作系统上层。

过去用户操作计算机:

点击。

打开。

拖动。

复制。

输入命令。

未来越来越多操作可能变成:

帮我整理这些文件。

把这几封邮件总结一下。

打开项目,修掉这个 Bug。

查资料,生成报告。

部署这个服务。

于是:

图形界面之上。

Shell 之上。

可能又出现一个新的交互层:

Agent。

过去:

Human
 ↓
GUI / Shell
 ↓
Application
 ↓
OS

未来可能变成:

Human
 ↓
AI Agent
 ↓
Application / Tool / API
 ↓
Operating System
 ↓
Hardware

所以 AI 真正可能改变的:

未必是 Kernel。

而是:

人与操作系统之间的那一层。

鼠标曾经改变过这一层。

GUI 改变过。

触摸屏改变过。

也许:

Agent 会再改变一次。


第十四章:下一场操作系统战争,可能不再是“谁功能更多”

还有一个变化:

越来越重要。

那就是:

安全。

早期操作系统讨论安全。

经常问:

用户 A 能不能读取用户 B 的文件?

今天:

问题复杂多了。

这台机器启动的 Kernel:

是谁签名的?

驱动:

从哪里来的?

Container image:

是谁构建的?

里面有哪些依赖?

这个二进制程序:

是不是来自我审核的源码?

升级失败:

能不能完整回滚?

一台 IoT 设备卖出去十年:

谁给它修漏洞?

于是现代操作系统开始越来越强调:

Verified Boot。

代码签名。

Sandbox。

只读系统。

原子升级。

硬件 Root of Trust。

SBOM。

软件供应链。

比如 ChromeOS。

它把 Verified Boot、Linux sandbox、虚拟机隔离等安全机制放进整个系统设计里。

Ubuntu Core 等系统又开始强调:

Immutable OS。

也就是:

核心系统只读。

升级原子化。

应用和系统隔离。

出问题可以更加容易保持一个已知状态。

而 NIST 的 SSDF 甚至已经把:

软件组件 provenance——来源和生成过程。

纳入安全软件开发框架。

这意味着未来操作系统竞争的问题:

可能越来越少是:

我的窗口动画比你流畅。

而越来越多是:

你能不能证明这台机器从 Firmware、Bootloader、Kernel、Driver 一直到应用,都运行着我允许运行的代码?

五十年前。

操作系统解决:

如何共享 CPU。

今天。

它开始同时负责:

如何建立信任。


第十五章:所以今天的操作系统世界,到底是什么样?

现在。

我们终于可以把整个系列重新摊开来看。

今天并没有出现一个:

世界操作系统。

反而形成了很多不同的大陆。

大概可以画成:

今天的操作系统世界

PC / 桌面
    │
    ├── Windows
    ├── macOS
    ├── GNU/Linux 发行版
    ├── ChromeOS(Linux Kernel)
    └── 小众、新兴系统等(如 BSD 家族等)

移动设备
    │
    ├── Android
    ├── iOS
    └── HarmonyOS 等新生态

Server / Cloud
    │
    ├── Linux
    ├── Windows Server
    └── Containers / VM

HPC
    │
    └── Linux 

游戏掌机
    │
    ├── Windows
    └── SteamOS / Linux

Embedded / IoT
    │
    ├── Embedded Linux
    ├── FreeRTOS
    ├── Zephyr
    └── 各种 RTOS

高可信 / Safety Critical
    │
    ├── RTOS
    └── Microkernel / seL4 等

仍在探索的新路线
    │
    ├── Fuchsia / Zircon
    ├── OpenHarmony
    ├── Redox
    └── 其他实验系统

再往上
    │
    ├── Browser
    ├── JVM
    ├── .NET
    ├── Container
    ├── WASM / WASI
    └── AI Agent

看起来是不是比:

Windows vs Linux

复杂太多了?

因为现实本来就是这样。

操作系统战争:

早已经不是两个系统站在擂台上。

一方倒下。

另一方获胜。

它变成:

每一种计算设备,都在寻找最适合自己的答案。


第十六章:那么,最后到底谁赢了?

绕了一大圈。

终于又回到文章最开始的问题。

到底:

谁赢了?

需要注意的是,时间轴后半段的 Docker、WSL、WASM 和 AI Agent 并不是新的操作系统。它们之所以出现在这里,是因为进入云计算时代以后,改变操作系统世界的关键技术,已经不再只来自新的 Kernel。

现在答案就比较清楚了。

如果一定要总结。

我会这样说。

Unix 赢了思想。

它没有统一整个市场。

但 Shell、管道、C、文件、进程、POSIX 风格接口以及“小工具组合”的思维,影响了半个多世纪的软件世界。

Linux 赢了基础设施。

它没有成为大众 PC 桌面的绝对霸主。

但它进入了:

服务器。

云。

超级计算。

容器。

Android。

嵌入式。

掌机。

网络设备。

然后越来越多时候:

用户甚至不知道它在那里。

Windows 赢了 PC 生态和兼容性。

几十年积累起来的软件、硬件、游戏、企业系统以及用户习惯:

没有任何一个竞争者能够轻易复制。

Apple 赢了垂直整合。

从 Silicon。

到 XNU。

到 Framework。

到 App Store。

再到最终硬件。

Apple 证明了:

软件和硬件一起设计,可以形成完全不同的竞争力。

Android 赢了规模。

Linux Kernel 加上 Google 的平台能力,再加上整个硬件行业:

把同一个移动平台铺到了全世界。

BSD 赢了影响力。

它没有建立最大的帝国。

却把自己的技术基因,留在了很多后来者身体里。

Web、虚拟机和容器赢了“距离”。

它们不断让应用程序离具体 OS 更远。

今天开发者真正面对的:

可能不是 Linux。

不是 Windows。

而是:

Browser。

Kubernetes。

JVM。

Container。

WASM。

Cloud API。

而安全,正在重新定义下一场战争。

未来操作系统不仅要回答:

我能运行什么?

还要回答:

我为什么应该相信它?

所以。

如果非要从五十多年的历史里找出一个唯一赢家。

我反而觉得:

没有哪个操作系统真正赢了。

真正赢下来的:

是那些能够穿越操作系统本身的东西。

稳定的接口。

兼容性。

生态。

抽象。

标准。

以及:

让旧世界能够继续活着,同时又能接上新世界的能力。


写在最后:这不是大一统的结局

1969 年。

Bell Labs。

Ken Thompson 面对的还是一台今天看起来性能可怜的计算机。

他不会想到:

几十年以后。

操作系统会进入:

几十亿台手机。

数百万台服务器。

超级计算机。

汽车。

手表。

电视。

路由器。

耳机。

工业控制器。

云端虚拟机。

甚至一颗小小的传感器。

他大概更不会想到:

有一天:

Windows 里面真的会运行 Linux。

Linux 会成为微软 Azure 最重要的工作负载之一。

手机世界会被 Linux Kernel 和 XNU 分割。

游戏机一样的掌机会跑 Arch Linux。

浏览器会变成一个巨大的运行平台。

一段程序可以通过 WebAssembly 尝试跨越不同 OS。

Google 还会重新写一个 Zircon Kernel。

有人继续研究微内核。

有人用 Rust 重新写操作系统。

还有人尝试:

用数学证明一个 Kernel 是正确的。

然后。

AI 又来了。

它开始站在 GUI 和 Shell 之上。

尝试成为:

人类操作计算机的下一层接口。

所以回头再看第一篇文章。

我们当时说:

如果现代操作系统是一片森林。

Unix 就是那棵最古老的大树。

写到最后一篇。

这片森林已经完全长开了。

旁边有 Windows 那棵独立的巨树。

Linux 的根系已经钻进整个互联网基础设施。

BSD 的枝叶隐藏在很多地方。

Apple 把自己的树修剪成了一座封闭却完整的花园。

Android 则把 Linux 的种子撒进了几十亿人的口袋。

更远的地方:

Fuchsia。

OpenHarmony。

Zephyr。

seL4。

Redox。

WASM。

还有那些今天我们甚至还叫不出名字的东西:

依然在发芽。

所以:

这十二篇文章的最后。

我反而不想说:

操作系统的战争结束了。

因为它从来没有结束。

五十多年前。

操作系统最重要的问题是:

怎样让人更好地使用一台计算机?

后来变成:

怎样让很多程序安全地共享一台计算机?

再后来:

怎样让软件跨越不同的计算机?

而今天。

这个问题又在继续变化:

怎样让几十亿台不同的机器,在云、网络、AI 和现实世界里,安全地组成一个共同的计算世界?

答案还没有写完。

也许:

永远不会写完。

因为每当计算机的形态发生一次变化:

总会有人再次坐下来。

打开编辑器。

然后问出那个已经问了半个多世纪的问题:

如果重新设计一次操作系统,我们还能不能做得更好?

1969 年。

Ken Thompson 给出了一个答案。

1991 年。

Linus Torvalds 又给出了一个答案。

后来:

Microsoft。

Apple。

Google。

以及无数程序员。

继续给出自己的答案。

到了 2026 年:

新的答案。

依然正在被写出来。

所以:

《操作系统那些事儿》到这里,可以大结局了。

但操作系统那些事儿,还远远没有大结局。

Logo

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

更多推荐