一、概述
操作系统是计算机系统的核心软件,它管理和控制着计算机的硬件和软件资源,为用户和应用程序提供了一个统一、高效、安全的运行环境。操作系统的发展历史也是计算机技术的发展历史的重要组成部分,它见证了计算机从单机到网络,从桌面到移动,从云端到边缘的演进过程。
在操作系统领域,Linux 是一个开源的、跨平台的、多用户的、多任务的操作系统,它具有高度的可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网、嵌入式设备等领域。Linux 的发展也得益于其庞大而活跃的社区,各种 Linux 发行版为不同的用户和场景提供了丰富而多样的选择。
通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux)和openSUSE等。
二、Linux的前生今世
添加图片注释,不超过 140 字(可选)
Linux 的前世可以追溯到 1969 年,当时由肯·汤普森和丹尼斯·里奇在贝尔实验室开发的第一个 UNIX 操作系统问世。UNIX 成为了早期计算机科学界和学术界的重要操作系统。
然而,UNIX 是一种闭源的商业操作系统,使得它无法被广泛传播和修改。在 1980 年代,理查德·斯托曼(Richard Stallman)创立了 GNU 项目,旨在开发一个完全自由和开源的操作系统。GNU 项目开发了许多组件,但缺少一个内核。
1991 年,芬兰大学生林纳斯·托瓦兹(Linus Torvalds)开始开发一个名为 Linux 的内核,他将其发布为自由软件,并在互联网上共享。Linux 内核吸引了许多开发者的关注和贡献,逐渐发展成为一个稳定、高性能的操作系统核心。
Linux 内核与 GNU 项目的软件组件相结合,形成了现代的 Linux 操作系统。Linux 操作系统基于开源和自由软件的原则,允许用户自由地使用、修改和分发。
随着时间的推移,Linux 的发展得到了广泛的支持和采用。它在服务器领域得到了广泛应用,成为互联网基础设施的关键组成部分。同时,Linux 也在个人计算机和移动设备领域得到了应用,如个人电脑、笔记本电脑、智能手机和平板电脑等。
此外,Linux 的开放性和灵活性促进了各种发行版的兴起,如 Ubuntu、Debian、CentOS、Fedora、openSUSE 等。这些发行版提供了不同的用户界面、软件包管理工具和配置选项,以满足不同用户的需求。
今天,Linux 是全球最受欢迎和广泛使用的开源操作系统之一。它在各个领域展示了强大的稳定性、安全性和可定制性,成为技术和创新的驱动力。同时,Linux 社区的开发者和用户继续努力改进和推动 Linux 的发展,使其保持在不断演化和前进的状态。
数种"类UNIX操作系统"的相互关系图
类Unix操作系统的历史
Linux操作系统的发展历史可以分为以下几个阶段:
-
1984年,理查德·斯托曼 (Richard Stallman) 发起了GNU计划,旨在创建一个完全自由和开源的类Unix操作系统。
-
1991年,林纳斯·托瓦兹为了学习Minix操作系统而编写了一个简单的内核,并在网上发布了第一个版本,称为Linux 0.01。
-
1992年,Linux内核采用了GNU通用公共许可证 (GPL),从而与GNU项目合作,并使用了许多GNU软件,如编译器、编辑器和shell等。
-
1994年,Linux内核发布了1.0版,支持了TCP/IP协议栈、X Window系统和多种硬件平台。
-
1996年,Linux内核发布了2.0版,支持了多处理器、多线程和负载均衡等特性。同时,Linux也开始被商业公司和组织使用和支持。
-
2001年,Linux内核发布了2.4版,支持了大容量存储、USB设备和嵌入式系统等特性。
-
2003年,Linux内核发布了2.6版,支持了更多的硬件平台、文件系统和安全机制等特性。
-
2008年,Google推出了基于Linux内核的Android操作系统,为智能手机和平板电脑提供了一个开放的平台。
-
2011年,Linux内核发布了3.0版,并开始使用时间戳作为版本号的一部分。
-
2015年,Linux内核发布了4.0版,并引入了实时补丁 (live patching) 的功能,可以在不重启系统的情况下更新内核。
-
2017年,微软宣布在Windows 10上支持Linux子系统 (WSL),允许用户在Windows环境下运行Linux命令和程序。
-
2019年,Linux内核发布了5.0版,并增加了对加密文件系统、人工智能和虚拟化等领域的支持。
-
2021年,Linux内核发布了5.15版,并增加了对NTFS文件系统、苹果M1芯片和反作弊引擎等特性的支持。
-
2022 年,Linux内核发布了6.0版,这是 2022 年 12 月发布的一个重大版本更新,它将内核版本号从 5.x 升级到了 6.x,以反映内核代码的重构和优化。
三、CentOS
1、CentOS是什么?
添加图片注释,不超过 140 字(可选)
CentOS 是一个社区支持的发行版本,使用了 RHEL(红帽企业 Linux) 做为上游开发的项目。RHEL 是红帽公司推出的企业版 Linux ,向以稳定、可靠和高性能著称。但是,RHEL 是红帽公司的商业产品,用户需订阅红帽公司的商业支持服务才可以使用。
而 CentOS 是基于红帽按照开源许可证发布的 RHEL 源代码,并去除了商标等商业信息后重构的版本。从产品特性和使用上来说,CentOS 和 RHEL 几无二致,当然,CentOS 的用户得不到红帽公司的商业支持。除此以外,CentOS 的发行也比 RHEL 的发行晚得多。
由于 CentOS 的免费和兼容性,它在服务器领域赢得了广泛的用户和市场份额。尤其是在中国有大量的 CentOS 用户和装机量,在国内也是众多企业和互联网公司的"标配"。根据 IDC 的数据显示,在中国服务器操作系统市场中,CentOS 占据了近四分之一的份额。
在全球Linux细分市场由于多样化的产品优势而占据了最大的市场份额,按操作系统市场分为Windows,Linux,UNIX和其他。这种高需求是由于该产品的优势,包括开源、低成本、强大的性能、兼容性和安全性。
以下数据由AI统计,仅供参考:
添加图片注释,不超过 140 字(可选)
2、CentOS大事记
以下是一些值得注意的里程碑和关键事件:
-
2004年:CentOS项目的起源。CentOS(Community Enterprise Operating System)项目由Rocky McGaugh发起,他致力于创建一个与Red Hat Enterprise Linux(RHEL)兼容的自由开源操作系统。
-
2004年:CentOS 2发布。CentOS发布了其首个版本,基于RHEL 2.1源代码重新编译而成。
-
2005年:CentOS 3发布。CentOS发布了基于RHEL 3源代码的新版本,并开始在服务器领域得到更多关注和广泛使用。
-
2006年:CentOS 4发布。CentOS发布了基于RHEL 4源代码的新版本,引入了许多新功能和改进。
-
2007年:CentOS 5发布。CentOS发布了基于RHEL 5源代码的新版本,这个版本得到了广泛的用户接受,并在企业和组织中得到了更广泛的应用。
-
2010年:CentOS 6发布。CentOS发布了基于RHEL 6源代码的新版本,该版本引入了许多性能和功能上的改进。
-
2014年:CentOS 7发布。CentOS发布了基于RHEL 7源代码的新版本,这个版本带来了全新的特性、增强的性能和改进的安全性。
-
2019年:CentOS Stream的引入。CentOS Stream是CentOS项目推出的一种新的发行版,它提供了一个介于Fedora和RHEL之间的连续更新的平台。
-
2020年:CentOS 8 EOL宣布。CentOS宣布将停止开发CentOS 8,并将其转变为CentOS Stream,这引发了一些讨论和反应。
-
2021年:Rocky Linux的发布。由CentOS原始创始人之一Gregory Kurtzer发起的Rocky Linux项目发布了首个稳定版本,旨在提供一个替代CentOS 8的企业级操作系统。
3、为什么 CentOS 要停更?
添加图片注释,不超过 140 字(可选)
然而,在 2020 年 12 月 8 日,一个令 Linux 社区震惊的消息传来:CentOS 项目宣布,CentOS Linux 8 将于 2021 年底结束支持,而 CentOS 7 将在其生命周期结束后(2024 年 6 月 30 日)停止维护。接下来一年,会把重心放到 CentOS Stream 上。这意味着"免费"的 RHEL 以后没有了。
为什么它的停更会引起如此大的反响?它对操作系统的格局有什么影响?CentOS 项目本来是一个社区项目,但是后来红帽公司收购了 CentOS,并将其作为 RHEL 的下游分支。这样一来,CentOS 就失去了原有的定位和优势,成为了 RHEL 的一个"免费"版本发布,似乎在红帽公司内部的定位也一直模糊。
而在去年,CentOS 团队宣布和红帽合作推出了一个新的滚动版 Linux:CentOS Stream。是的,你没看错,是滚动版。按照红帽的说法,这是一个"中游"的发行版,位于 Fedora 和 RHEL 之间。主要的目标是为了形成一个可循环的"彭罗斯三角",以使社群对 CentOS 的改进可以流回到 RHEL 当中。
或许,从那一刻开始,就注定了 CentOS Linux 终将落幕吧。在本次公告中,CentOS 项目宣布,"在接下来的一年里,我们将把重点从 CentOS Linux 转移到 CentOS Stream 上。CentOS Linux 8 作为 RHEL 8 的重构版,将在 2021 年底结束。"而尚在计划维护期的 CentOS 7 系列,也将在 2024 年维护期限到达之后停止维护。
那么,红帽公司为什么要这样做呢?有人认为,这是红帽公司的一个商业决策,目的是为了逼迫用户购买 RHEL 的商业订阅,增加其收入和利润。也有人认为,这是红帽公司的一个战略调整,目的是为了推动 Linux 的创新和发展,让 CentOS Stream 成为 RHEL 的上游分支,更好地反馈社区的需求和贡献。
不管红帽公司的真实动机是什么,这一决定无疑给 CentOS 的用户和社区带来了巨大的冲击和挑战。CentOS Linux 的终止意味着用户将面临安全风险、兼容性问题、迁移成本等问题。而 CentOS Stream 的推出也意味着用户将面临不稳定性、不可预测性、不兼容性等问题。对于那些依赖于 CentOS Linux 的企业和互联网公司而言,这无疑是一个灾难性的打击。
四、RHEL限制访问源代码
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
在Centos停更之后,红帽再次引发了一场轰动。2023年6月初,Red Hat宣布了一个令人震惊的决定:限制公众访问RHEL的源代码。
1、事件经过
在2023年6月初,Red Hat再次宣布了一个令人震惊的决定:限制公众访问RHEL的源代码。根据这一决定,Red Hat将不再将RHEL的源代码推送到http://git.centos.org上,而只将CentOS Stream作为公开的RHEL相关源代码发布的唯一仓库。Red Hat称这样做是为了提高效率和优化资源。
Red Hat同时指出,这一决定不会影响其付费客户和合作伙伴,他们仍然可以通过Red Hat客户门户访问RHEL的源代码。但是,他们必须遵守Red Hat服务协议和商标指南,其中包括不得再分发源代码或者创建自己的重建版本等条款。
这个决定引起了很多人的不满和质疑,认为红帽公司背叛了开源精神,违反了 GPL 协议,剥夺了下游发行版(如 AlmaLinux、Rocky Linux、Oracle Linux 等)的重构和兼容性能力。 有些人甚至怀疑这是 IBM(红帽公司的母公司)的阴谋,旨在消灭开源竞争对手。
红帽公司则回应称,他们并没有闭源 RHEL,也没有违反 GPL 协议,只是调整了源代码的分发方式。他们认为 CentOS Stream 是一个更好的开放平台,可以让社区参与到 RHEL 的开发和测试中,而不是仅仅复制 RHEL 的二进制文件。他们还表示,他们没有看到重构 RHEL 的价值,因为这样做只会增加维护成本和安全风险。
2、事件影响
添加图片注释,不超过 140 字(可选)
Red Hat限制公众访问RHEL源代码的决定对其他基于RHEL的发行版产生了巨大的影响。这些发行版包括AlmaLinux, Rocky Linux, Oracle Linux等,它们都以与RHEL 1:1二进制兼容为目标或特色。由于无法直接获取RHEL源代码,这些发行版将面临以下几种挑战:
-
依赖于上游源代码:由于只能从CentOS Stream获取公开的RHEL相关源代码,这些发行版将不得不依赖于一个不稳定且可能与RHEL有差异的上游版本。这可能会影响它们与RHEL保持同步和兼容。
-
开发新的重建过程:由于无法直接获取RHEL源代码,这些发行版将不得不开发新的重建过程,例如手动重建或者自动化重建。这可能会增加它们的工作量和成本,并降低它们的效率和质量。
-
选择替代发行版:由于无法直接获取RHEL源代码,这些发行版可能会考虑选择其他非基于RHEL的发行版作为替代方案。例如Debian及其衍生版等,它们遵循GPL协议并提供开放的源代码访问。这可能会导致它们与RHEL的兼容性和用户群的流失。
-
放弃工作:由于无法直接获取RHEL源代码,这些发行版可能会选择放弃继续工作,认为Red Hat违背了Linux的开源精神。这可能会导致它们的停止更新和维护,以及开源社区的分裂和损失。
五、Linux与Windows
添加图片注释,不超过 140 字(可选)
服务器市场各操作系统占比
Linux和Microsoft Windows的一个主要区别就是Linux是自由软件,而Windows是封闭软件。Linux的源代码级别的可定制性:可满足用户对高性能、高效率或界面等涉及用户体验的方面高度的需求。 Windows的封闭特性导致了架构的不透明,普遍被认为是一种混合核心型的操作系统,部分图形界面的代码处在核心状态运行,因此Windows图形界面的反应速度上要高于GNU/Linux,但也因此使图形界面的错误有可能导致整个系统故障。除此以外,还有下列诸多区别。
添加图片注释,不超过 140 字(可选)
六、操作系统的格局会如何变化?
CentOS Linux 的终止也昭示着操作系统的格局必然面临格局洗牌。对于操作系统的厂商和研发人员而言,机会与挑战并存。
首先,对于 RHEL 而言,这一决定可能会带来正反两方面的影响。正面的影响是,RHEL 可能会吸引一部分原本使用 CentOS Linux 的用户转向其商业订阅服务,从而增加其收入和利润。同时,RHEL 也可能会通过 CentOS Stream 更好地与社区沟通和合作,推动 Linux 的创新和发展。反面的影响是,RHEL 可能会失去一部分原本使用 CentOS Linux 的用户和市场份额,因为他们可能会选择其他的免费或开源的 Linux 发行版,或者自行构建基于 RHEL 源代码的版本。同时,RHEL 也可能会遭到社区的不满和抵制,因为他们可能会认为红帽公司背叛了开源精神和社区利益。
其次,对于其他的 Linux 发行版而言,这一决定可能会带来机遇和竞争。机遇是,其他的 Linux 发行版可能会借此机会吸引原本使用 CentOS Linux 的用户和市场份额,提升自己在操作系统领域的影响力和地位。竞争是,其他的 Linux 发行版可能会面临更激烈的市场竞争和技术创新的压力,因为他们需要与其他发行版竞争,吸引用户和开发者的注意力。这可能导致更多的创新和改进,以满足用户的需求。
添加图片注释,不超过 140 字(可选)
此外,云计算和容器化技术的兴起也对操作系统格局产生了影响。云服务提供商通常会自行选择和定制操作系统,以满足其特定的需求和要求。这可能导致一些自定义的操作系统在云环境中获得更大的市场份额和影响力。
添加图片注释,不超过 140 字(可选)
另外,容器化技术(如Docker和Kubernetes)的普及也改变了操作系统的使用方式。容器化技术提供了更轻量级、可移植和可扩展的应用程序部署方式,减少了对操作系统的依赖。因此,操作系统供应商可能会加强对容器化技术的支持,提供针对容器化环境的优化和功能。
1、Docker的发展前景
Docker在过去几年里得到了广泛的应用和推广,并且持续地在软件开发和部署领域发展壮大。未来,Docker的发展前景依然十分看好:
-
云原生技术的推动: 云原生技术以容器为核心,包括Kubernetes等容器编排工具的发展,使得Docker在云计算和微服务架构中的应用越来越广泛。
-
持续集成与持续交付的普及: Docker的容器化技术为持续集成和持续交付提供了更便捷的解决方案,随着这些流程在软件开发中的普及,Docker的重要性将进一步增加。
-
IoT和边缘计算的发展: 随着物联网和边缘计算技术的普及,Docker的轻量级、灵活性和快速部署特性将在这些领域发挥重要作用。
-
大数据和人工智能领域的融合: 在大数据和人工智能领域,Docker的容器化技术有助于更好地管理和部署复杂的应用和算法,提高数据处理和分析效率。
Docker容器化技术的兴起确实对操作系统产生了重要影响,助力了操作系统新格局的形成。传统上,操作系统主要是以物理服务器为基础的,而Docker的容器化技术使得操作系统在虚拟化和云计算时代有了新的应用场景和发展方向。
Docker助力操作系统的发展
-
提高资源利用率: Docker容器共享宿主机的操作系统内核,相比传统虚拟化技术,容器更加轻量级,可以在相同硬件资源下运行更多的容器,从而提高了服务器资源的利用率。
-
跨平台支持: Docker容器可以在任何支持Docker的系统中运行,无论是Linux、Windows还是macOS等操作系统,实现了跨平台的应用部署和运行,使得开发者可以在不同操作系统上保持一致的开发环境和运行环境。
-
简化环境配置和部署: 传统软件的部署需要在每台服务器上进行独立的环境配置,而Docker容器可以将应用程序及其依赖项打包成一个独立的容器,实现了应用程序的一次构建,多处部署,简化了环境配置和部署的复杂性。
-
弹性扩展: Docker容器的快速启动和停止特性使得应用程序的弹性扩展变得更加容易。通过动态增加或减少容器数量,可以根据实际负载来调整资源的使用,实现更加灵活和高效的资源管理。
-
云原生和微服务架构: Docker容器是云原生和微服务架构的基础,它支持容器编排工具(如Kubernetes)的使用,使得在云计算环境中构建和管理复杂的分布式应用变得更加简单和高效。
-
安全性和隔离性: Docker容器提供了隔离的运行环境,确保容器之间互不干扰,同时提供了精细化的权限控制,增强了应用程序的安全性和稳定性。
Docker容器化技术的兴起改变了传统操作系统在应用部署和运行中的角色,使其成为容器化应用的支撑平台。传统的物理服务器和虚拟化技术在某种程度上受到了挑战,操作系统的新格局在更加注重轻量化、跨平台、弹性扩展、云原生和微服务架构的趋势下逐渐形成。操作系统的发展趋势也将更加紧密地与容器化技术的演进相结合,共同推动整个技术生态系统的发展。