-->

还记得OS/2吗?它至今还活跃在纽约地铁系统中

2019-06-17 23:06发布

1984年,苹果计算机利用Macintosh系统在计算机产业丢下震撼弹,其具备的全图形化操作界面设计,以及使用鼠标操作的方式,为操作系统产业界带来革命性的概念。



而与此同时,微软仍还停留在DOS文字界面,基于图形界面的Windows操作系统还未现身,此时微软仍在努力学习Macintosh的设计理念。

而与此同时,IBM则是在进行其全新一代的计算机架构计划PS/2,同时也在开发新的操作系统,而此时,IBM找上了微软合作。



在初代Macintosh现身之后的3年后,也就是1987年,OS/2(Operating System/2)操作系统1.0版正式推出,虽然仍维持文字模式,但其核心已经支持多工能力,并且定义了相当多的API以供程序开发者使用。而次年,IBM终于在OS/2 1.1版套上的图形界面,并成为在Intel CPU上的首个多工操作系统。

而后来,微软利用了与IBM合作得来的系统开发经验和技术用来开发自己的Windows 3.0操作系统,荒废了与IBM的合作。IBM得知微软的盘算之后,便和微软分道扬镳,从此完全自主进行OS/2的后续版本更新。

由IBM自主的第一个OS/2版本为1.3版,随后在1992年发表了2.0版,这是全世界第一个真正的全32位操作系统,稳定性远优于当时的所有竞争操作系统,且不只具备当时最先进的图形操作界面,更完全兼容微软的Windows应用程序。



OS/2 Warp 4.0操作界面

后续的3.0与4.0版也同样维持其高稳定性的传统。然而微软的Window 95操作系统在效率和稳定上进行了妥协,使用了32/16位混合设计,用以兼容过去的老应用。相较之下,OS/2的全32位设计造成老旧软件的兼容性不佳,也因此,消费者纷纷投向Windows平台。而虽然后续的Windows 98/98SE与ME就只是个金玉其外的垃圾,尤其是后二者,在正常使用下一段时间后就会自我崩溃,使用者往往不得不隔一段时间就重新安装,稳定性极差。

不过微软的Windows 2000成功扳回一城,Windows 2000是微软使用原本仅在服务器上的Windows NT内核开发出来的纯32位操作系统,也是微软第一个纯32位消费端操作系统。NT意指New Technology,也就是新科技的意思,其第一个版本约和IBM的OS/2 3.0同时。

当Windows 2000操作系统推出之后, OS/2的稳定性优点也逐渐被追上,虽然业界仍认为其稳定性要优于Windows,但市场份额仍不断被Windows蚕食鲸吞,而到了2002年,拥有漂亮外在,且内核维持Windows 2000稳定性的Windows XP现身,并成功掳获了绝大多数计算机使用者的心,最后IBM也放弃了OS/2,并宣布在2005年停售,隔年停止所有支持。



Windows XP

其实OS/2为何会死亡,其内核设计理念是最大原因。由于IBM一直想要推广其微内核的概念,但这会产生两个问题,一个是微内核的整合非常复杂,其次,微内核对系统效能有致命的负面影响,而当时不论是微软的Windows,或者是开放操作系统Linux,基本上都是基于单内核设计,虽然牺牲了稳定性,但是在系统效率要远远优于微内核操作系统。另一方面,微软最初采用32/16位混合设计,底层实际为DOS,但是在其上面堆了32位 API,虽然稳定性不佳,但拥有更好的老旧软件兼容性与执行效率表现。而OS/2采用微内核,稳定性至上的诉求,却牺牲了兼容性,最终落得失败的下场。



微内核与单内核的比较

在效率上而言,单内核是要超过微内核的。可以想象一下,在windows桌面移动一下鼠标就要发送几十条消息,就要陷入到内核之中多次。作业系统的管态使用者态转变是代价很高的,这个对作业系统有一点点常识的人都能知道。而Linux则不需要,因为大部分内核代码都在内核态执行,不需要通过消息传递的方式通讯,也不需要大量的使用者态内核态转化开销,因此效率要高很多。

至于在代码错误影响方面,微内核的错误容忍度一般是要好于单内核的。微内核可以将大部分的设备驱动包括档案系统都放入到用户空间中,内核中只运行很小一部分代码,例如Minix只有3200行的C代码和800行的底层代码在内核中。使用者空间中的模块出现的错误会导致模块崩溃,但不会导致内核故障。而单内核架构内核代码庞大,一旦其中出现任何故障,可能会直接导致内核崩溃。

而从OS/2停售后,其实有不少爱用者呼吁IBM应该释出源码,延续这个高质量操作系统的生命,但当初IBM拒绝了这些要求。除了IBM当时仍未体认到开放源码操作系统的潜力(如现今的Linux、Android),部分观点也认为IBM仍持续在某些关键平台上使用OS/2,开放源码可能会造成安全隐忧。

而这个秘密也终于在最近被揭开。

Tedium有篇新闻追踪了OS/2系统的最终去处。该文章作者挖掘出,维系纽约地铁运作的重要关键,就是这个已经在消费市场消失已久的OS/2。

纽约地铁是全世界最繁忙的地铁系统之一,根据2016年统计的数据,平均每天有570万人在工作日搭乘地铁。

由于搭乘的人数极为庞大,系统必须要有极强的稳定性及可靠性,而纽约交通管理局MTA(Metropolitan Transit Authority)在当初要把纽约地铁全面电子化时,也面临了艰困的选择。由于使用人数众多,且线路管理极为复杂,如果稍有不慎,可能损失动辄数十亿美金,以及数百条人命。

当初MTA也在不同操作系统之间犹疑不定,但IBM基于微核心技术的OS/2由于极为强大的稳定性,成功说服了MTA。

MTA进行了不少工作,除了后端管理全面电子化以外,地铁票务系统进行了大幅更新,传统的代币也被磁卡所取代。而OS/2系统虽然被大量应用,但并非直接面对消费者,取而代之的是,它是作为连接各种不同系统的一种管道,让所有的地铁前端后端系统可以互相连结并发挥作用。比如说连接地铁和公交车系统与背后庞大数据中心的中介系统就是OS/2,虽然使用者看不到,也感觉不到OS/2,但实际上它无处不在。

OS/2虽然在消费市场惨遭滑铁卢,但其高可靠性却在部分嵌入系统市场获得了成功。除了纽约地铁系统以外,过去比较著名的案例还有ATM,也就是自动提款机。



使用OS/2系统的ATM机器

作为一个时代的见证,OS/2有其地位与技术代表性,即便IBM早已放弃,且不再继续维护,也不愿开放源码,另这个系统失去了走入未来数字世界的机会,但它并没有真正死去。

IBM失去的开源机会,后来也通过收购Redhat来弥补。而当年OS/2所散发的能量,以及其满满的极客坚持,至今仍存在不少技术人的心中。

文章来源: https://www.toutiao.com/group/6703456690789941767/