从Windows 11、macOS 15到Ubuntu 24,当今流行的每种操作系统都是“上古时代”操作系统的迭代产品。然而,软件工程不同于生物学,没有任何铁律规定,古老操作系统的“基因”就应该一直留存在未来的操作系统中。面对日趋臃肿的操作系统,我们不禁思考,是不是又到了重新发明轮子的时候了?
人们在不停尝试开发全新操作系统显然,当今流行的计算机操作系统基本是20世纪操作系统的“后代”,从Windows(1983年)、macOS(1984年)到Linux(1991年),无论架构和内核如何改变,一些古老的代码和特性总是有意无意被继承了下来(近年来蓬勃发展的Android、Harmony、银河麒麟(Kylin OS)仍是基于Linux,商业推广不能罔顾事实)。在20世纪八九十年代计算机大爆发时期,硬件发展的日新月异促使人们不得不发明全新的操作系统。如今,在主流操作系统已像喜马拉雅山一样在屹立不倒的时代,仍然有一些勇敢的人在尝试做出一些不同的东西。
谷歌的Fuchsia操作系统就是一个有趣的例子。它的源代码库有一天突然出现在网络上,几年后在谷歌Nest Hub智能设备上首次亮相。Fuchsia使用一个名为Zircon的新内核,它与 Linux和Android都无关,虽然受到Unix的启发,但它的工作方式并不像Unix,也不是一个类Unix操作系统。有人猜测Fuchsia将来会在谷歌设备上会取代Android和 ChromeOS,但到目前为止,还没有真正实现。
另一个值得一提的(失败)例子是微软的Midori。Midori是微软的一个秘密项目,是彻底取代Windows的计划的一部分。人们对Midori知之甚少,但其设计理念似乎与Windows完全不同,并且其设计中融入了云技术和跨多个硬件节点运行程序的能力。
还有ReactOS,它实际上并不是通常意义上的全新操作系统,而是对Windows进行逆向工程的尝试。换句话说,ReactOS中没有Windows源代码,但它旨在与为Windows编写的软件和驱动程序兼容,同时完全开源。
到目前为止,这些尝试都未能成功取代Windows、macOS、Linux、Android或iOS及其变体的主流地位,但创新总是值得肯定的。
当今操作系统承载着太多的“包袱”与其说是“包袱”,不如说是积年累月迭代而产生的冗余代码。我们今天使用的操作系统是建立在几十年来开发的代码库上的复杂系统。尽管有了绚丽多彩的新UI和新功能,但其核心却包含了几十年前的代码。当然,这不仅仅是因为程序员的懒惰。如果一些代码仍然有用,为什么要改变它?更不用说出于兼容性的考虑,用户总是希望新版本的操作系统能够运行适用于旧版本的软件。
也就是说,所有这些包袱都会导致软件臃肿、资源消耗过大,进而降低操作系统的运行效率。Windows 11就是一个典型的例子,它有很多新功能和用户界面元素,其实一些元素只不过是重复了旧版操作系统中的内容。自Windows1.0版以来,备受推崇的控制面板一直是Windows的一部分,即使微软曾表示将从Windows中删除它,用户的抗议声最终迫使微软改变了想法。如果再深入探索Windows 11的每一级菜单,您会发现一些元素早在Windows 95或98时代就已经存在了。我不想在这里特别挑剔Windows,因为所有成熟的操作系统一般都是这样的。
如果你能彻底改变现状,设计出一款能够“轻装上阵”的全新操作系统,在某种程度上讲,失去几十年积累的“遗产”是痛苦的,但为了给未来打下更好的基础,重新开始也是有好处的。
全新操作系统可能更加安全在电子邮件等网络服务刚刚出现的时候,网络安全的概念还很单薄,老一代操作系统甚至没有考虑过这方面的问题。毕竟,谁会想到有一天每个人都会拥有自己的电脑?谁能预测到人们会把所有这些电脑联网在一起?那些为操作系统奠定技术基础的程序员们肯定不会想到。
如今,网络安全的很大一部分工作是修补老操作系统中无意产生的安全漏洞,添加额外的安全措施,例如HTTPS和电子邮件加密,因为这些协议并不是几十年前操作系统“基因”的一部分。近三十年来,操作系统的网络漏洞也一直被发现。
例如,早在1996年,微软就对Windows NT 4.0进行了重大更改,将窗口管理器、图形设备接口和图形驱动程序移至名为win32k.sys的内核模式驱动程序。在WindowsME之后,微软放弃了基于DOS的Win 9.x系列,并将所有Windows内核都切换到了Windows NT。NT 4.0是Windows XP的前身,如今,直到Windows11,历代Windows系统仍然基于Windows NT。微软在1996年做出这一改变是为了从当时有限的硬件中获得更好的性能,到了今天,老旧的win32k.sys正在被各种可能带来严重影响的漏洞所利用。
“重新发明轮子”可能不会发生虽然我认为,总会有人试图彻底摆脱现有操作系统的谱系,但照顾到用户几十年的使用习惯和软件兼容性,我们不太可能看到一个彻底变革的全新操作系统。
也许有一天,当我们的宇宙探测器到达外星文明时,舰载计算机的Linux内核源代码将成为外星人所看到的第一件人类事物,希望这些代码注释不要太苛刻,引得外星人嘲笑我们。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。