在上世纪八十年代中期,随着计算机元件的价格降低,台式计算机之外的领域掀起了一场革命。以Unix为基础的业务系统凭借经济实惠的优势开始涌现。在远离专有操作系统,以及向廉价元件转变的推波助澜下,Unix的产品出现了爆炸式的增长。
作者
RayElenteny
译者
弯月,责编
刘静
以下为译文:
我很喜欢Unix。请注意,我说的不是Linux。在我刚参加工作的时候,许多中小型公司都在小型机上运行自家的系统,这些小型机来自IBM、DigitalEquipmentCorporation(DEC)、PR1MEComputer等公司。他们的粉丝看到这里可能都笑出声了。
在上世纪八十年代中期,随着计算机元件的价格降低,台式计算机之外的领域掀起了一场革命。以Unix为基础的业务系统凭借经济实惠的优势开始涌现。在远离专有操作系统,以及向廉价元件转变的推波助澜下,Unix的产品出现了爆炸式的增长。
似乎也不能说是从专有操作系统转变到Unix,因为几乎每家公司提供的Unix系统都对Unix进行了定制,结果导致大家都面临着支持各种供应商的难题。九十年代初期,我在一家小型软件公司工作。我们的产品移植到了22种不同版本的Unix上。当时的形势非常严峻。
就像之前的专有微型计算机一样,与这些新型的基于Unix的系统进行交互主要是依赖默认的终端或CRT完成。
然而,为了赶窗口系统的潮流,Unix供应商纷纷开始提供窗口界面。很快X-Windows系统就成为了Unix的标准窗口系统。
虽然Unix终端的发展很受欢迎,但运行X-Windows的终端(X终端)却非常昂贵。
在同一时期,台式计算机开始在各个职场得到了普及。随着Unix系统成为商业圈的主流,微软的Windows诞生了。许多人认为Windows2.0是真正能够提高企业生产力的第一版Windows。Windows2.0迅速成为了提高办公效率的主流操作系统。
人气大涨的Windows是专注于提高员工工作效率的操作系统,而Unix专注的是幕后工作的效率,由此产生了冲突。人们需要使用针对微软Windows而开发的产品,同时还需要访问Unix的服务器,因此最终他们不得不在桌子上同时摆上Windows桌面系统和X终端(或CRT显示器)。除了昂贵的价格之外,桌面空间也是一个难题,因为二者都要占用不小的空间。
业界很快就做出了回应。X-Windows是协调终端的客户端/服务器协议,如果采用X-Windows作为服务器,那么进程通常在Unix系统上执行,因此无需赘述。
鉴于X-Windows是客户端/服务器协议,各个公司纷纷开始为微软Windows提供X-Windows软件。如此一来,Windows桌面系统就可以达成双重目的:既可以提高办公效率,又可以通过窗口访问Unix系统。如果你是WindowsOffice功能标准化企业的Unix开发人员或管理员,那么这是一个不错的选择。对于企业而言,这意味着开发人员或管理员不再需要昂贵的X终端。
十年之后,对于Unix开发人员而言,情况没有太大变化。X-Windows发展得越来越好。尽管Unix界依然存在多种风格,但Unix的格局也在日益稳定。到九十年代末期,有一个作为一项业余爱好开始的项目得到了许多大公司的青睐,他们抛弃了Unix,改为使用这个名为Linux的系统。尽管当时Linux仍然不是企业界的主流,但其可以在各种硬件上运行的Unix通用版本的概念仍然很有吸引力。
由于Linux是一个开源项目,所以它背后拥有强大的动力。其中包括几个非常好的图形用户界面选择。更重要的是,Linux可以在桌面系统上运行。不是说其他Unix不行,而是人们会觉得它们是为了挫败Linux的势头事后才添加的。开发人员和管理员可以在桌面系统上运行Linux,并且还可以访问其他Linux和Unix系统。
对于Unix极客而言,这个重大的进步影响到了他们的日常生活。突然之间,他们可以在台式机上运行Unix,而且还是免费的!
虽然Unix取得了这些进步,但挑战仍然存在。大多数企业通过微软的Windows软件使用生产力应用程序,甚至是身份验证和授权等主干应用程序。一场争夺地盘的战斗就此打响;实际上,这样的战斗接连不断。有些Unix供应商希望与Linux划清界限。微软当然也不想和Linux扯上关系。
自很多年前的IBMOS/2以来,Linux是第一个真正向Windows的统治地位发起挑战的人。当然,OSX早已广为人知,但它也面临着Windows以外的其他操作系统同样的挑战。撇开其他CPU体系结构不谈,微软的应用程序无法在OSX上运行,而且将来也不太可能。
对于大多数科技界的来说,微软开始扮演黑脸的角色。商业界的许多基础架构都是基于微软的,而且微软与任何其他操作系统之间几乎都没有可操作性。Unix用户最终能合法地使用Unix桌面系统了,但是他们仍然需要使用Windows。这是一个双启动的时代。对于许多人来说(包括我自己),都只能采用Linux和Windows双启动。如果公司允许通过电子邮件客户端(例如Thunderbird或Evolution)访问Exchange,则无需过于频繁地启动Windows。
然而,技术人员永远不会真正满意,不是吗?即便不需要过于频繁地启动Windows,但依然无法摆脱Windows也足以让人感到沮丧。台式机和笔记本电脑发展得越来越强大。很快我们就可以在一个操作系统上运行虚拟软件,并在另一个操作系统上运行虚拟机。这种方式感觉很好,我们可以自由选择。我的选择是在Windows上,通过虚拟机来运行Linux,并以Linux为主要操作系统。
然而,历史又一次地重复上演,最终由于这种配置的局限性,人们再一次感到失望。因为你不能让虚拟机一直运行。即使在最低配置下,虚拟机也会占用大量系统资源。虽然我不玩游戏,但是我需要一定图形性能以及响应能力。在大多数情况下,该系统运行良好,但是当我需要执行一些“真正的”Windows任务时,它就会非常呆滞。我愿意冒险尝试,因为我觉得这种配置不是特别糟糕,而且在大多数情况下,我也可以容忍性能的问题。
时间来到了合规时代。Linux社区中的任何人都知道操作系统的安全性。没错,Linux有漏洞,但是与Windows或OSX相比,Linux的漏洞要少得多;但是,许多组织都被要求安装管理软件,该软件允许从中央位置监视和控制计算资产——包括台式机、笔记本电脑、手机、平板电脑等。在各种配置下将Linux作为主要桌面系统运行了将近十年后,公司的合规负责人找到了我。
我俩之间的关系很好,我明白他的苦衷,我一点都不羡慕他所处的境地。我有一种不祥的预感。他跟我说,并不是说将Linux作为桌面系统运行不安全,只不过在这家拥有多名员工的公司中,只有2-3个人在运行Linux桌面系统,他无法承担购买和维护管理Linux桌面系统所需软件的成本。
我哑口无言,我当然不想给他找麻烦。在我说我理解之后,他从桌子下面拿出了全新的MacbookPro。我从来没有认真使用过Mac。只有我们的用户体验和营销团队才会使用Mac。我当时想:“试试又何妨?”我知道这个笔记本中也有类似Unix之类的东西。
在之后不到十年的时间里,我一直在使用Mac。经过一段时间的学习之后,我开始喜欢上了这台机器。我很喜欢命令行,而且Mac是Unix系统,但那只是曾经的我。尽管微软把Mac当二等公民,但Mac甚至拥有微软Office。这个系统坚如磐石。性能非常不错。尽管Mac只是当初的一种妥协,但最终我还是对这台新机器感到很满意。
当然,故事到此并没有结束。几年前,在SatyaNadella执掌微软之后不久,我看到了变革之风。很多人都选择避开微软的大漩涡,我也是其中一员,我对一切都持怀疑的态度。同时,很明显,Nadella带领着微软走向了另一个方向。
让我们来看一看微软的一些新动向,比如微软的Office产品在其他平台上的运行效果几乎与Windows相同;包括我的三星手机和平板电脑,我们看到微软深入参与Docker和Linux社区,并获得了这些社区中非微软成员的称赞,这些都表明微软内部确实发生了变化。尽管还有很长的路要走,但是几年来,微软一直在努力向其他大型公司学习,与其他人打成一片。
最近,我发现自己需要购买新的个人系统。首先,我选择了自己最熟悉的MacbookPro;但是,有些问题一直困扰着我。我知道这些系统比Windows/Linux昂贵,但这是由于它们的坚固程度。但是,在我思考的过程中,我意识到OSX不再是坚如磐石的操作系统。虽然这个系统依然不错,但已大不如前。
虽然OSX为开发人员和工程师提供了大力支持,但据我估计,我日常工作中使用的软件大多来自操作系统无关的第三方。随着Docker成为开发人员工具集的一部分,特定操作系统的需求已降至最低。
我决定仔细研究能够运行Windows和/或Linux的系统。最终我认为,我可以购买Windows机器并用Linux改造它。我想要一台强大的机器。我经常使用Docker和Kubernetes。虽然我可以将它们放到AWS或其他云提供商上,但相关的费用势必会迅速增加。只需一个8核i9系统,外加32GBRAM和1TBNVMeSSD,就足以让我破产。同款的戴尔(包括OLED显示屏)价格为美元,而MacbookPro则为美元。这个价格差异还是相当大。
于是,我有了结论。在20年后,我决定换回Windows的机器。在做出该决定后,我想到的第一件事就是我要重新格式化这台机器,然后在上面运行Linux。但是,考虑到硬件、GPU和OLED显示器的更新换代,以及其他一些问题,我觉得我会尝试使用Windows。我已经阅读了很多有关Linux的Windows子系统(WSL)的知识,而且WSL2应该会更好。我就知道我们还有很多办法来运行Docker和Kubernetes。
我所有的开发工具都支持Windows。VisualStudioCode具有与WSL文件系统和Shell集成的强大功能。但是,为什么我还要在本机运行Linux呢?这个问题本身就不太准确。WSL不是完整的Linux,但是比OSX命令行更接近Linux。它与Windows的集成非常顺利。虽然还有一些缺点,但我并不是太在意。
所以,现在的我选择利用WSL、Minikube以及所有我喜欢的工具,在Windows上完成所有的Unix工作。到目前为止,我感觉很满意。
虽然有些过于大胆,但我在4年前就说过:“我相信,Windows会像OSX一样,成为基于Unix内核的系统。”但与OSX不同,我相信Windows将基于Linux内核。这怎么看都是一笔划算的买卖。如今我们的钱都花在了操作系统上运行的应用程序中。从应用程序的角度来看,随着Docker和Kubernetes像野火一样扩散,操作系统的重要性会越来越低。
如果微软将其应用程序移植到Linux内核,那么它的范围也会得到极大的扩展。然后,在Linux上运行的应用程序都可以在基于Linux的Windows上运行。皆大欢喜。虽然这听起来有点盲目乐观,但科技的精神就在于勇气挑战奇怪的事情。
原文:
转载请注明地址:http://www.1xbbk.net/jwbrc/4945.html