简单了解一下国产操作系统

7 月 11 日,微软声称监测到「中国黑客入侵美国多个组织和机构,并获得其中 25 个组织的多个邮件账号的权限」,这篇文章中并没有列出切实的证据,且仅仅是用一篇博客文章的形式发布在微软网站上,但是还是被美国各大媒体大肆渲染。这已经不是微软第一次做这种事了,近两三年微软在操作这类题目上颇为积极,而作为最早参与美国「棱镜门」的公司之一,微软这些操作多少有点「贼喊捉贼」的味道。另外,关注 Linux 的人应该都知道,Red Hat、SUSE、Ubuntu 开发商 Canonical 这 3 家主要的 Linux 发行版公司,先后都停止对俄罗斯企业的业务支持。

上述两件事,涉及微软公司、Linux 发行版公司,使得「操作系统自主性」也成为国内经常讨论的题目。而官方媒体在 2023 年 7 月 5 日,也透过新闻联播宣传「我国首个开源计算机桌面操作系统」openKylin 1.0 的发布,因此我想简单梳理一下市面上的操作系统的前世今生,以及我国操作系统的现状,内容比较多,如有纰漏,还请多多包涵,hope you find it informative!


术语表、缩写表
GNU(读音 /gə-nu:/): 「GNU's Not Unix」的缩写,是 Richard Stallman 在 1983 年发起的项目,目标是开发一个类 Unix 操作系统,但是完全由自由软件组成。
GNOME(读音 /gə-noʊm/ 或 /noʊm/): GNU 项目中开发的图形界面,GNOME 是许多 Linux 发行版的默认图形界面 (如 Ubuntu),类似的图形界面还有 KDE Plasma 等。
GPL: GNU General Public License,是一种软件授权许可,使用此许可的软件,允许用户自由使用、修改、发行,但该软件及其修改后的衍生品,需要维持使用 GPL 授权许可,开放源码,即所谓的「GPL 传染性」。
Linux Kernel: Linux 操作系统内核,注意 Linux 内核不是操作系统,而只是操作系统的一部分,可以认为是操作系统的底层。
Linux Distro/Distribution: Linux 发行版,即「Linux 内核 + 软件集合」组成的一个功能完备可用的操作系统。
POSIX(读音 /pɑːzɪks/): 「Portable Operating System Interface of UNIX」的缩写,即「可移植操作系统接口」,这是一个规范,对不同操作系统的各种接口的名称、参数进行约定。
BSD: 「Berkeley Software Distribution」的缩写,是源于加州大学伯克利分校的一类 Unix 操作系统的分支。


名人堂
Ken Thompson: Unix 操作系统开发的「带头人」。
Dennis Ritchie: C 语言之父,也参与了 Unix 操作系统的开发。
Richard Stallman: GNU 项目的发起人。
Linus Torvalds: Linux 内核开发者。


DOS|Windows 极简史
个人电脑发展的早期,主流的操作系统是 DRI 公司在 1974 年发布的 CP/M,在 1980 年,IBM 和 DRI 讨论为 Intel 8086 处理器开发 16 位版的 CP/M,但两个公司未能达成一致。而微软这时通过收购 SCP 公司,获得了一个基于 Intel 8086 的 16 位操作系统,叫做 QDOS(Quick and Dirty Operating System)。

1981 年左右,基于 QDOS,微软为 IBM 开发了 PC-DOS 操作系统,为非 IBM 的公司开发了 MS-DOS,并最终使得 MS-DOS 成为了个人电脑的标准操作系统,原来的 CP/M 则逐渐消亡。MS-DOS 持续演进了多个版本,直至 Windows 出现。

Windows 最开始是微软为 MS-DOS 构建一个图形界面,1995 年,随着 Windows 95 的发布,MS-DOS 作为操作系统的时代结束了,个人电脑的操作系统进入了 Windows 时代。在这之后,Windows 也演进了多个版本,直到现在的 Windows 11。


Unix 极简史
与上述的个人电脑不同,聚焦于多用户、多任务的大型机和服务器,则发展出了另外一套操作系统。1970 年,AT&T 贝尔实验室的 Ken Thompson、Dennis Ritchie 等人,开发了 Unix 操作系统,并随后使用 C 语言对其进行了重写,这使得 Unix 在不同硬件之间的可迁移性大大提高(C 语言比汇编语言有更好的迁移性,因为汇编语言需要直接操纵硬件,因此与底层硬件直接相关,迁移性不太好),逐渐成为主流的服务器操作系统。

商业方面,不同公司的定制开发导致 Unix 出现了数个分支,如 HP-UX, IBM's AIX, Sun's Solaris 等。学术方面,随着加州大学伯克利分校的参与,出现了著名的 BSD(Berkeley Software Distribution)分支,并随后出现了数个开源的变种,包括 FreeBSD、OpenBSD、NetBSD、DragonFly BSD。苹果公司的 MacOS 就是基于 FreeBSD 和另外一个 Unix 分支 NextStep。


GNU/Linux 极简史
(为了便于理解,大家可以将后续提到的操作系统「内核」简单理解为操作系统的底层部分)

在 Unix 流行的岁月里,有一个颇具理想主义色彩的代码人 Richard Stallman,在 1983 年开始了 GNU 项目 (「GNU's Not Unix」的缩写),目标是开发一个完全由自由软件组成类 Unix 操作系统。项目包括一个操作系统内核(GNU Hurd) 和应用程序。Hurd 内核的开发进展缓慢,不过,由于系统调用接口是预定义好的,GNU 项目的许多应用程序倒是进展颇快,许多著名的应用程序都是出自 GNU 项目,如 GCC, Bash, make, tar, GNOME 等,还有像 ls, cp, mv, cat, grep 等常见命令,也出自 GNU Core Utilities。

GNU 项目在后面的几年时间里,处于无核可用的尴尬状况,不过,随着 Linus Torvalds 在 1991 年发布了 Linux 内核,由于 Linux 内核的设计充分考虑了对 Unix 的兼容,而 GNU 项目中的应用程序大部分也都兼容 Unix(基于 POSIX 标准),这就使得二者可以很好的兼容,于是人们开始使用「Linux 内核 +GNU 应用程序」的组合。

为了帮助普通用户获得一个到手就可用的操作系统,而无需去编译数十个不同的应用程序,于是,有一些社区或者公司将「Linux 内核 + 应用程序」作为一个整体提供给用户,这就是所谓的「Linux 发行版」,不同的社区或者公司可能会对内核做不同程度的修改,或者提供不同的应用程序的组合,因此,也就有了不同的发行版(据说已经出现超过 600 个发行版)。

常见的社区发行版有:Ubuntu、Fedora、CentOS、Debian。常见的商业发行版有:RHEL、SUSE,这些公司主要是通过提供支持服务,来获得用户的付费订阅。

目前,Linux 内核的开发由「Linux 内核社区」来维护。这个社区并包括了成千上万的开发者和贡献者。近几年,华为公司在 Linux 内核上的贡献相当显著。这个我们可遇通过Linux Weekly News网站查看贡献排名。另外,华为等中国公司也是Linux 基金会成员。

 


GPL 许可
GNU 项目下的应用程序,以及 Linux 内核都采用了 GPL(GNU General Public License) 的授权许可。GPL 许可的初衷是鼓励大家开源,根据 GPL,任何人 / 公司都有权使用、修改、分发 Linux 内核的源代码,如果你分发了基于 GPL 许可的软件,那么你的软件也必须使用 GPL 许可并开放源码,这就是所谓「GPL 传染性」。GPL 这种许可,也在一定程度上契合 Richard Stallman 或者说 GNU 的理想主义色彩——希望建立一个自由开源软件的世界。

需要补充的是,在「Linux 内核 + 应用程序」这种模式中,虽然 Linux 内核本身是基于 GPL 许可的,但是并不意味着这些应用程序也会被「传染」而必须使用 GPL,这一点我们看 Android 系统就知道了,Android 内核是基于 Linux 内核进行修改的,因此 Android 内核也必须使用 GPL 许可,这没有疑问,但是 Android 系统中的许多应用程序并不使用 GPL,而多是使用 Apache 许可,这是因为,这些应用程序和内核之间是一个松散的组合,它们与操作系统之间只是一种接口调用关系,而不构成一个整体或衍生品,因此不受内核 GPL 的约束。


完全自研,还是基于 Linux 内核?
基于 Linux 内核开发操作系统,并没有什么不好,更谈不上「污点」,很多公司比如谷歌和苹果都是这么做的。在目前的状况下,我个人偏向这个路线的,理由一:相比完全自研,难度要低、周期要短、生态要好;理由二:基于 Linux 内核进行开发,只要不违反 GPL,在许可和法律层面并没有风险。

肯定很多人会说虽然没有法律风险,但美国有出口管制 EAR 啊。首先,目前的 EAR 对使用这些公开发布的开源软件基本上没有影响 (除了某些特殊的加密算法程序)。其次,就目前的态势,漂亮国要制裁国内操作系统产商的话,直接祭出万能的「国家安全」就行了,哪用得着「你使用了有美国人参与研发的 Linux 内核」这样的蹩脚理由。所以,美国的管制 / 制裁不需要考虑,或者说考虑了也没用。

虽然我支持基于 Linux 内核开发操作系统,但是我不建议基于商业公司维护的发行版做开发,而是要创建自己的根社区 (即直接基于 Linux Vanilla 内核构建,不依赖上游发行版)。俄乌冲突后,SUSE、RedHat、Ubuntu 开发商 Canonical,这三家公司先后宣布对俄罗斯企业停止支持,这就是前车之鉴。

其次,我觉得「国产操作系统」这种说法不太准确,会导致不必要的争议,尤其是现在的网络舆论环境。说「国产 Linux 操作系统」、「国产 Linux 发行版」好一点。

最后,我也要纠正很多常见的喷子言论,并不是所有基于 Linux 内核的操作系统都是「套壳」,Android 系统就是基于 Linux 内核,你会说它是套壳吗?实际上,基于 Linux 内核,仍然可以进行各种深度定制(比如增强安全性和稳定性、优化对国产 CPU 等硬件的适配等等)。对所有国内 Linux 操作系统统一扣「套壳」的帽子,只会暴露你的无知。


国产操作系统
麒麟系列:
1. 银河麒麟:2004 年,由国防科技大学主导推出,早期基于 FreeBSD,后来转向 Linux 内核,不过由于宣传上的一些说法,银河麒麟当时也存在不少争议,这个就不细说了。
2. 中标麒麟:2010 年,银河麒麟和中标 Linux 合并,开发中标麒麟操作系统。
3. 天津麒麟:2014 年,天津麒麟成立,国防科技大学将「麒麟」、「银河麒麟」、「KYLIN」等商标及相关知识产权授予了天津麒麟。
4. 麒麟软件:2019 年,天津麒麟和中标麒麟合并,成立麒麟软件(KylinSoft)有限公司,共同维护开发银河麒麟、中标麒麟两个操作系统。
5. 优麒麟 (Ubuntu Kylin):2013 年创立,是工信部、国防科技大学和 Ubuntu 系统开发商 Canonical 合作的产物,可以看做是 Ubuntu 系统的中文定制发行版。
6. 开放麒麟 (openKylin):麒麟操作系统的社区开源版,在 2023 年 7 月份发布 openKylin 1.0 的时候,官方的说法是「我国首个开源计算机桌面操作系统」,这个宣传我持保留意见,由于它带的是有 Ubuntu 标记的 GCC 9.3,有一些人认为它是基于 Ubuntu,因此不能被称为根社区。

Deepin 系列:
1. Deepin:武汉深之度开发,如果从最早的 Hiwix 版本算起,已经有接近 20 年的历史了。Deepin 是国内 Linux 爱好者们最喜欢的中国发行版。最早基于 Ubuntu,后来转向基于 Debian,2022 年宣布脱离 Debian,构建自己的根社区。根据 Deepini 官方的说法,Deepin 操作系统持续更新超过 200 次,全球下载超过 8000 万,海外用户超过 300 万,并基于 Deepin 衍生出 UbuntuDDE、Manjaro deepin 等多个发行版本。
2. 统信 UOS:是 2019 年由中国电子集团、武汉深之度等共同打造的 Linux 的操作系统,可以认为是 Deepin 的下游发行版。

OpenAnolis(龙蜥)
OpenAnolis 是由阿里公司赞助的开源 Linux 发行版,是以云端场景为主的服务器操作系统,100% 兼容 CentOS 8 软件生态。具有广泛的 CPU 支持,包括中国自制芯片。同时提供 CentOS 系统到 Anolis OS 迁移工具。自 CentOS 8 在 2021 年底停止服务之后,包括阿里在内的多家企业,转向使用 OpenAnolis,据称,到 2022 年 5 月 24 日,整体装机量已达 130 多万

openEuler(欧拉)
华为最早在 2010 年开始推出 EulerOS 操作系统,到了 2019 年,华为创建 openEuler 开源社区,并将 EulerOS 相关的能力贡献到 openEuler 社区,2021 年,推出 openEuler 操作系统,这是一个面向服务器的 Linux 发行版。openEuler 同样支持包括国产芯片在内的多种 CPU。作为服务器操作系统,根据赛迪《中国服务器操作系统市场研究报告》,2021 年在政府行业,以及民生相关的运营商行业、金融、能源等行业,openEuler 的装机量都位居前两名,例如政府行业装机量中,openEuler 占比 35.2%,位居第一。


最后
整体来说,目前国产 Linux 操作系统目前处于「可用」状态(非「好用」),这些操作系统有别于国外发行版的核心特点是对国产 CPU(海思、飞腾、兆芯、龙芯、海光及申威等)的支持和优化、安全性增强 (毕竟信创的背景之一就是「棱镜门」事件)、对国内常用软件的优化支持等。虽然在个人用户中普及率还很低,但在党政机关和 8 大民生行业(金融、电信、石油、电力、交通、航空航天、医院、教育)中,已经有比较高的普及率,尤其在党政核心部门,基本上已经 100% 换装国产 Linux 操作系统;在服务器操作系统市场,国产 Linux 操作系统市场份额上升显著,尤其在党政机关和重点民生行业,预计市占率超过 20%。

最后,文章侧重在桌面操作系统,移动端例如 Android、iOS、以及国内的鸿蒙等,有机会再单独将。

(欢迎扫描上图二维码关注公众号,可自动获得 ChatGPT 访问地址 (本人自己搭建的跳板,可免费使用))