我搜索了很多次(谷歌搜索),但都没有找到明确的答案。从我得到的信息来看,拥有“许多”CPU 的“巨型”计算机运行着用“遗留”语言编写的“遗留”软件,它们是大型机,程序员负责“维护”它们。
我很困惑。首先,云可以被视为大型机吗?或者如果我构建了一个拥有 23 个 CPU 和大量 RAM 和磁盘空间的系统,它会是大型机吗?那么程序员的工作呢?
所以我来到了这个以提供快速和相关回复而闻名的地方。请解释一下。:)
答案1
主机: 名词。数以千计的过时公司仍在使用这种过时的设备,为数十亿过时的客户服务,为过时的股东赚取巨额过时的利润。今年的运行速度是去年的两倍。(来自魔鬼的IT词典)
下面分为两部分。一部分介绍什么是大型机,另一部分介绍大型机程序员。
关于大型机,您首先需要知道的是,它们的设计目的与许多现代计算机不同。
如今的计算机都以处理器的速度和性能为重心。有时 PC 会卡在等待周期,有时甚至会崩溃。
另一方面,大型机涉及可靠性、可用性和可服务性 (RAS)。
可靠性。这个词既可用于硬件方面(它们持续运行),也可用于数据方面(数据损坏的概率极低)。请参阅下面我的注释,了解为什么这是正确的。
可用性。大型机具有所谓的“五个九”可用性,这意味着大型机的“正常运行时间”系数为 0.99999,或者用简单的英语来说,大型机可以全年 24x7x365 不间断运行,支持数千名同时使用的用户,并且可以可靠地指望全年“停机”时间总计不会超过 5 分钟。
可维护性。主机由许多定制设计的电路构成,每个电路都专注于一项特殊任务。如果某个部件开始出现故障,系统会自动检测出问题,另一个电路将接管,并通知系统操作员。如果需要更换问题电路,通常可以在计算机继续运行的同时进行更换。
现代计算机从通用中央处理器(如 x86 系列)开始,操作系统软件使用现有的 CPU 代码编写。但大型机如此坚固的原因在于硬件和软件是共同设计的。
如果操作系统需要在 PC 中持续执行一项复杂任务,那么 CPU 就会编写并调用一个例程来完成所有工作。但在大型机中——如果需求足够高——有时会设计和安装专门用于该任务的专用电路。例如,在某些现代大型机中,有专门用于加密和解密数据的电路,还有专门用于执行 Java 代码的电路。还有用于与磁盘驱动器和打印机通信的专用电路,这样 CPU 就不会被琐碎的事情所困扰。当然,还有大量专门设计用于防止数据损坏的电路。在现代 PC 中,所有这些都由 CPU 完成。
在 PC 中,最接近这种东西的是 (1) 数学协处理器和 (2) 图形协处理器,这两者都是 PC 中相对现代的发明,但大型机在 50 多年前就开始做这种事情了。
最后一点:大型机在使用方式上最大的优势在于大规模并行事务处理。这是一台主机同时与数万名用户和/或其他系统通信的能力。想想您购物时几乎每家商店/加油站/餐厅的所有借记卡销售点系统。每次有人刷卡时,它们都会与主机对话,通常在搜索数十亿条记录后不到一秒钟就会返回答案。
底线是:除非出现非常非常严重的错误(即使出现,通常也是人为错误造成的),大型机不会挂起也不会崩溃。它们处理的数据可以快速准确地访问。它们被称为“大型机”是有充分理由的。
看http://www.mainframes360.com/2009/06/what-is-mainframe-computer.html并且http://www.wired.com/2015/01/z13-mainframe/了解更多信息。
您还询问了程序员“维护”计算机的情况……
大型机有两种不同的程序员。第一种是你习惯的,应用程序员这些人使用 COBOL、C++ 和 JAVA 编写程序来处理数据库和报告等。另一种人被称为系统程序员他们的工作是维护操作系统和监控硬件。
遗产代码只是从前几代程序员那里“继承”的代码。它是可靠的、可运行的代码,正因为它可运行,所以使用它的公司宁愿不将其替换为可能有错误的“新”代码。就像所有软件一样,有时需要修改代码,这时就需要专门研究遗留代码的程序员。他们了解这些旧语言和系统,这些知识对于使用大型机和其他类型的旧计算机的公司来说很有价值。
每个 PC 用户都有独特的应用程序和硬件组合。然而,微软会定期向 Windows 发送一刀切的“更新”,你要么接受,要么拒绝。一些不同的 Linux 发行版也是如此。有时这些更新会导致问题,因为它们无法与你的硬件和软件完美兼容。
大型机就像飞机,工作时赚钱,不工作时亏钱。大型机闲置或因更新不当而崩溃的成本极高,而运营大型机的公司无法承受“问题”。因此,他们聘请系统程序员来防止这些问题。
系统程序员的工作是分析 IBM 提供的操作系统更新(补丁),并在安装之前对其进行测试,以确保它们不会对特定机器造成问题。他们实际上会检查更新的部分源代码,并将其与公司的硬件和软件配置进行比较。如果需要,他们会与 IBM 合作定制更新,使其能够安全地与其独特的系统配合使用。
系统程序员必须了解安装的每个应用程序和连接的每个硬件。他或她负责系统上发生的所有变化。
这只是系统程序员工作的一小部分,专家系统程序员的典型培训期为 10 到 20 年。
看https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysprogrole.htm了解更多信息。
答案2
我曾经使用过的大型机将 CPU 优先级和 RAM 分配给哑终端,实际上哑终端本身就像计算机一样运行。这样,许多用户可以在同一台计算机上运行程序而不会互相干扰。大型机硬件由多个 PCB 组成,每个 PCB 都有自己的功能。中央处理器可以由多个电路板组成,例如寄存器、算术逻辑单元、浮点处理器等。
答案3
维基百科的官方定义可以在大型计算机。
几十年前,大型机只是一台非便携式计算机,放在自己的柜子里,周围有各种外围设备,还有空调。但这些物理尺寸很大的计算机甚至没有当今笔记本电脑的计算能力。
从那时起,这些大型主机 CPU 就被多 CPU 框架所取代,并(再次)放在空调柜中。
最后(别笑),我自己对大型机的定义是:“需要空调的非便携式计算机”。在我看来,空调是大型机唯一可靠的标识。
至于“遗留”语言,其中许多语言至今仍比“现代”语言使用得更广泛。COBOL 仍在推动世界发展,而 C++ 则不然。您应该简单地将它们定义为“几十年前发明的语言”。其中许多语言在此期间进行了多次改版,因此今天它们并不那么过时。
答案4
大型机这一术语通常是指 IBM 在商业计算机制造之初设计的大型系统。它是第一个专为企业构建的系统,用于托管其应用程序,其价值主张是今天编写的程序将在未来不加改变地运行。表面上保留了编程投资的价值。
有不同的观点,但大多数人提到大型机时都会想到 IBM Z 硬件(称为 zSeries)和 z/OS 操作系统。
自 20 世纪 60 年代首次构思和交付以来,zSeries 经历了一些根本性的变化。当时它被称为 360 架构,后来演变为 370 架构,现在又演变为 390 硬件架构。它还承载了许多操作系统,包括 VSE、TPF、z/VM(最初的虚拟机管理程序,用于在同一硬件上同时承载多个操作系统)。其中最受瞩目的是 z/OS,它从 MVT -> MVS -> MVS/SP -> MVS/XA -> z/OS 演变而来。该操作系统具有高度的弹性,在某些商店中,该操作系统可能在被关闭和启动(IPL)之前运行数年。
多年来,z/OS 已开始支持除 CICS 或 IMS 之外的运行 COBOL 程序的语言和运行时。如今,z/OS 可运行 Java、Node 以及其他平台上常见的一系列工具和服务,例如 Python、Perl 等。
简而言之,大型机是一项已经在用户手中使用了 50 多年的技术,它不断创新并融入了对业务至关重要的技术。如果您使用旧的终端仿真器,它可能会很笨重,但当使用 REST API 进行交互时,它也会很顺畅。
你能做什么?更确切地说,你不能做什么?