【CSDN 编者按】当下用户常常接触到的计算机大多是微型计算机,对于大型机,除了用在一些特定的领域和场景,普通用户很少能触及,正如本文作者所表示:“行业无视它们,而它们也无视行业”。

原文链接:https://liam-on-linux.dreamwidth.org/86995.html

声明:本文为 CSDN 翻译,未经允许,禁止转载。

作者 | Liam on Linux

译者 | 弯月     责编 | 张红月

出品 | CSDN(ID:CSDNnews)

我认为,21世纪大型机操作系统的有趣之处在于:

一方面,科技发展史上曾出现过很多伟大的操作系统、语言、接口和想法,但大多数都被遗忘了。大型机很昂贵,无论是过去还是现在都非常非常昂贵;小型计算机(minicomputer)相对比较便宜,所以它们在完全灭绝之前曾经历过短暂的辉煌;而微型计算机(microcomputer)的价格最低。

所有现代计算机都是微型计算机。虽然经过长年的发展,如今的微型计算机看似很像小型机和大型机,但事实并非如此。就像鸵鸟进化后看起来有点像兽脚亚目恐龙,但实际上它们依然是鸟,没有牙齿,手臂和翅膀上没有爪子,依然是卵生。

微型计算机的一个突出的特征是价格便宜,成本低廉,而且研发费用很低。

但大型机很昂贵,造价很高,租赁和许可成本很高,运行费用也很高,一切费用都很高。如果你很在意成本,那么根本就不会使用大型机。但有人依然出于某种理由而必须使用大型机。

这就意味着即便大型机所服务的市场只有几百个客户,厂商也依然有利可图,而且有足够的资金开发产品并提供支持。

这就导致在如今高度同质化的现代计算环境中,一切都受到了Unix C这个主流技术及其文化的影响。Unix C是DEC小型机的遗留技术,但它深深地影响了DOS、Windows、OS/2甚至WinNT和Unix,它们都有共同的DNA。但是,大型机却是个异类。

过去,我们曾有各种截然不同的系统。比如,经典的Mac和Amiga、搭载了RISC OS的Acorn ARM机器、Lisp机器、Apollo DomainOS机器等等,它们都与DEC/*nix不同,并且以此为特色。按照现代的标准来看,这些系统都很奇怪,而且很异类。

但这些系统都消失了。只有少数系统存活在模拟器和个人兴趣中,但它们不可能再次在行业中占据一席之地。一些以嵌入式系统的形式存在于某些设备的保护壳里。Lisp就只有Emacs在用。还有Smalltalk这种在各种不同的计算机里运行的虚拟机语言。

与此同时,大型机一直活得好好的,纵然被整个行业忽视,却依然存在,而且基本上不受各种技术发展趋势的影响。

大型机有着自己独特的存储架构、网络系统、 I/O 控制器,还有编程语言和内存模型等等,因为它们不得不采用这些独特的技术,它们极少会向主流技术靠拢。它们可以利用主流技术建立网络,如果需要彼此沟通,还可以把自己的协议打包到TCP/IP等。

但是,大型机有自己的客户,有自己的资金来源,对于客户的收入情况了如指掌,还掌握了大量的用户数据,而且一些关键性的任务非它们莫属,因此它们前进的路上没有任何阻力。偶尔也会有不自量力的挑战者,但这对于能够轻易运行几千个Linux虚拟机的大型机来说简直是无关痛痒。

结果就变成了:行业无视它们,而它们也无视行业。

但是,我们本可以在20世纪90年代后期拥有多处理器 BeOS 机器,或者在80年代后期拥有可以轻松支持多任务的基于386架构的OS/2个人电脑,或者能够支持多任务的680x0的机器(而不是Mac),或者其他数百种没有成功的技术中的任何一种。它们都是基于微型计算机的,因此没有足够的研发资金。

相反,如今我们只有很小一部分系统,而且并不是最好的,而是最便宜、最简单、勉强够用的系统,因为人们崇尚“最低限度可行产品”。

当然,还有少数幸存者仍在坚持。

有趣的是,历史的发展总是周而复始。人类所有的文化都是如此,软件亦是如此。想当初,20世纪末期流行的软件只不过是当时最廉价、勉强能用的解决方案。后来它们被更廉价的方案取代了。

我们经历了漫长的算盘和结绳计数的时代,如今已无法回头,而眼前这些由一群自以为是的“软件工程”人员制作出来的垃圾将会变成下一代昂贵的嵌入式或虚拟式垃圾,就像前面提到的那些消失的系统和技术一样。

它们会嵌入到哪些设备中?现如今的“低级语言”就是可以“编译”成“原生二进制文件”的语言。你可以使用这些语言来构建操作系统,并使用虚拟化层次结构来扩展不太可靠、不太方便扩展的技术。

然后在此之上的二级系统的核心是Web技术,以及使用了“JIT”的“动态语言”来解决“跨平台”等问题,这样它们就可以在任何平台上运行,并分割成多个微服务,用“标准协议”连接,从而在“Web规模”的“云”中运行。

技术高手都知道,选择正确的语言和正确的工具,就可以构建出与一级系统相同类型的产品,来代替二级系统,而且不需要花哨的扩展基础设施,因为一台现代机器就可以支持一百万个并发用户,且没有任何问题,几台这样的机器就可以支持数千万个并发用户,而所有这些机器都可以放在一个房间的角落里,正常运行时间长达数十年,不需要任何云。

但是这个方案很难实现,而利用解释语言和庞大的框架拼凑一个“现代系统”要容易得多。

— 推荐阅读 —

大型机操作系统与残留到现代的古老技术相关推荐

  1. 大型机操作系统-TSO的操作方法

    最近项目接触了大型主机下程序设计,修改银行系统里最核心的部分.在与大型主机进行交互的时候,经常用到的就是TSO,下面是一些基本操作. 〇.基本按键 Ctrl:确认键.注意不是回车键Enter,回车键E ...

  2. 客户机操作系统已禁用cpu_CPU硬件辅助虚拟化技术

    目前主要有Intel的VT-x和AMD的AMD-V这两种技术.其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest O ...

  3. 凝思linux操作系统4.2内核版本_打破技术垄断!国产操作系统的逆袭之路

    电脑现在已经走进了千家万户,工作中电脑也是标配,有的更是一个笔记本,一个台式机的组合.大部分电脑上安装的都是Windows操作系统(仅Windows10就拥有10亿用户),还有一部分安装的是苹果的Ma ...

  4. JAVA基础(三)——服务器操作系统、Java开发环境、Java技术架构、定义Java类及其命名规范、Java注释方式

    1. 服务器操作系统 当前主流的服务器操作系统则主要分为:Windowsserver.UNIX.Linux.NetWare这四大阵容. (1)Windowsserver作为推广的最好,用户群体最大的服 ...

  5. android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)

    在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有K ...

  6. 操作系统,看这一篇足够了!

    [注]多谢原著作者 文章主要结构图如下 操作系统 现代计算机系统由一个或多个处理器.主存.打印机.键盘.鼠标.显示器.网络接口以及各种输入/输出设备构成. 然而,程序员不会直接和这些硬件打交道,而且每 ...

  7. 超干货!当初我要是这么学习操作系统就好了(附带思维导图)

    点击蓝色"小詹学Python"关注我哟 加个"星标",一起走向人生巅峰! 1 下面是本文的思维导图 我们平常说的进程和线程更多的是基于编程语言的角度来说的,那么 ...

  8. “操作系统不以 C 开头和结尾,C 不等于整个世界”

    整理 | 张仕影 出品 | CSDN(ID:CSDNnews) 众所周知,C 是一种被广泛使用的语言,从操作系统内核到加密算法的编写,到处都在使用 C,它在多个领域发挥着重要作用.不久前,国外一位 S ...

  9. 分享--操作系统学习

    分享--操作系统学习 链接: https://mp.weixin.qq.com/s?__biz=MzI1OTY2MzMxOQ==&mid=2247487662&idx=1&sn ...

最新文章

  1. 文件操作01 - 零基础入门学习C语言60
  2. java指定位置写入_java指定路径写、读文件
  3. Java高并发编程:Copy-On-Write容器
  4. 原生JS实现移动端模块的左右滑动切换效果,基于vue、stylus
  5. SAP CRM和Cloud for Customer的Account merge
  6. (二十)TCPIP面试宝典-进入大厂必备总结(中)
  7. 数据结构之外部排序:归并排序法
  8. ExtJs2.0学习系列(13)--Ext.TreePanel之第二式
  9. java 异常 return_Java异常处理中同时有finally和return语句的执行问题
  10. BZOJ 1295: [SCOI2009]最长距离 spfa
  11. 解析几何 —— 椭圆
  12. python中plot不能显示标签_python 2: 解决python中的plot函数的图例legend不能显示中文问题...
  13. HTTP头部POST表单详解
  14. matlab 函数整理(资料备份儿)
  15. Julia: using Gadfly using Cairo的一个郁闷的问题!
  16. 集成电路设计-读书笔记(一)
  17. linux tty core code,linux tty core 源码分析(6)
  18. 2021亚太数学建模竞赛A题简要思路
  19. 九天·毕昇 试玩体验
  20. 考试/答题系统的设计思路

热门文章

  1. 编写程序描述兔子和青蛙
  2. Arm-Trusted-Firmware代码分析
  3. MAC(苹果)修改Mac地址,添加路由
  4. GeoGebra画傅里叶级数(三角函数积分 or 复变函数积分)
  5. html大赛ppt,HTML表与表单.ppt
  6. 电脑报2013年第8期
  7. DPI 英寸 厘米 毫米
  8. win10截图快捷键无法使用 | 无法打开窗口 | 鼠标无法点击
  9. 用友t3服务器怎么修改,用友t3修改服务器地址
  10. Cisco Client - Reason 412: The remote peer is no longer responding