5

简单了解一下国产操作系统 - 后厂村思维导图馆 - 博客园

 1 year ago
source link: https://www.cnblogs.com/morvenhuang/p/17592832.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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基金会成员。
10907-20230731102725061-628340721.png
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、以及国内的鸿蒙等,有机会再单独将。
10907-20230731103551280-1307830510.png

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK