在我的整个职业生涯中,我一直在编写和管理 Java 和 ASP.Net 应用程序及服务器。现在我正致力于参与大型机,即 z/OS 和 JCL,并且我发现很难理解它(他们仍然谈论打孔卡!)。在完全被现代奢侈品宠坏之后,学习这一切的最好方法是什么?

有帮助吗?

解决方案

现代大型机中没有打孔卡,它们只是让您使用。

你会遇到困难,因为仍然有很多事情是以“旧”方式完成的。

  • 数据集仍然分配有固定块80、可变块255等属性。规划您的文件内容。
  • 没有目录。有层次结构,每个层次最多只能有 8 个字符。
  • 用户界面是ISPF,这是一个来自第七层地狱的绿屏文本模式用户界面,适合那些不习惯它的人。
  • 大多数作业仍将作为批处理作业提交,您必须使用 SDSF(某种任务管理器)监控它们的进度。

这是一些坏消息,这是好消息:

它有一个 USS 子系统 (UNIX),因此您可以使用这些工具。它与 z/OS 集成得非常好。它运行Java,它运行Websphere,它运行DB2(真正的DB2,而不是那个小小的Linux/UNIX/Windows),它运行MQ,等等。许多商店还将运行 z/VM(一种虚拟机管理程序),在该管理程序下,他们将运行许多 LPAR(逻辑分区),包括 z/OS 本身(有时是多个副本)和 zLinux (SLES/RHEL)。

大型机短期内不会有消失的危险。世界各地的各个 IBM 实验室仍在进行大量工作,64 位操作系统(z/OS、MVS、OS/390,...)已经取得了长足的进步。事实上,这里有一些职业机会,因为所有知道这一点的老员工都在 55 岁或以上,所以如果你正确定位自己,预计在公司阶梯上会有巨大的吸力。

它仍然在大公司中使用,因为它是他们的交易中唯一可以信任的东西 - System z 中的 z 意味着零停机时间,这不仅仅是营销炒作。大型机的强大之处不在于它的 CPU 性能(单个处理器不是那么强大,但它们是具有热备份的 54 个 CPU 的书籍,您可以在单个 System z 机器中运行许多书籍),但事实上CPU 所做的只是处理指令。

一切 else 被卸载到专用处理器、用于 DB2 的 zIIP、用于 Java 工作负载的 zAAP、用于 I/O 的其他设备(I/O 是大型机使用光纤和 非常 大型磁盘阵列)。我不会将它用于蛋白质折叠或基因组测序,但它非常适合目标交易处理的疯狂水平。

正如我所说,z/OS 有一个 UNIX 子系统,z/VM 可以运行 z/OS 和其他操作系统的多个副本 - 我见过一个 z800 机器同时运行数万个 RHEL 实例。这让所有 PC 制造商的“绿色”声明感到羞愧,并且使用 HyperSocket(TCP/IP,但使用共享内存而不是通过慢速网络电缆,实例之间的通信速度快得令人眼花缭乱(是的,与 HyperSocket 相比,甚至是千兆位以太网也会爬行(抱歉,嵌套括号:-)))。

它在 Unix 空间中很好地运行 Websphere Application Server 和 Java,同时仍然允许所有遗留(遗产?)的东西运行。事实上,大型机商店根本不需要购买基于 PC 的服务器,他们只需投入一些 zLinux VM 并在一台机器上运行所有内容即可。

最近,有传言称 IBM 可能也会为其大型机提供 xSeries(即 PC)插件设备。虽然大多数大型机用户会认为他们漂亮的盒子侧面有一个疣,但它确实打开了一个 很多 第三方供应商的可能性。我不确定他们是否能够运行 50,000 个 Windows 实例,但这似乎正是他们的目标(一环统治所有实例?)。

如果您有兴趣,有一个名为 Hercules 的 System z 模拟器,我见过它在 Windows 机器上以 23 MIPS 的速度运行,并且它运行最后一个合法可用的 MVS 3.8j 的速度足够快,足以感受一下。请记住,MVS 3.8j 之于 z/OS 1.10 就像 CP/M 之于 Windows XP。

要为我工作中的一个朋友写的一本书提供一个无耻的插件,请查看 大型机到底是什么? 作者:大卫·斯蒂芬斯 (ISBN-13 = 978-1409225355)。我发现这非常宝贵,因为我有 PC/UNIX 背景,而且这是一个相当大的范式转变。我认为这本书非常适合解决您的特定问题。我认为其中的大部分内容都可以在 Google 图书上找到,因此您可以在购买前尝试。

关于 JCL,有一种思想认为只编写了一个 JCL 文件,所有其他文件都是在该文件上剪切和粘贴的。看了他们的内容,我就明白了。像 IEBGENER 和 IEFBR14 这样的程序使 Unix 看起来即使不冗长,至少也是可以理解的。

其他提示

您的第一个误解是相信 JCL 中的“L”。JCL 不是一种编程语言,它实际上是程序应如何运行以及哪些文件等的静态声明。它应该使用。

通过这种方式,它很像(尽管优于)用于控制 spring、hebernate 和 ant 等“现代”软件的 xml 配置 spahetti。

如果你用这些术语来思考,一切都会变得清晰。

大型机文化是由两种看似不相容的痴迷驱动的。

  1. 向后兼容性。您仍然可以运行 1970 年编写和编译的可执行文件。四十年前的 JCL 和脚本仍然可以运行和工作!
  2. 一流的性能。您可以在两个数据中心的四台机器上使用 128 个 CPU 来处理单个 DB2 查询。它将比任何其他机器更快地运行最新的 J2EE (Websphere) 应用程序。

如果你有机会参与 CICS (大型机事务服务器)我会推荐这本书“设计和编程CICS应用” 。结果 这是非常有用的。结果 替代文字http://img18.imageshack.us/img18/7031/designingandprogramming.gif

如果你要与传统的遗留应用程序的开发参与,阅读史蒂夫Eckols书籍。他们都还不错。你需要的条款从开放系统到大型,这将减少你的学习时间进行比较。实例情侣 文件被称为大型机数据集 JCL更像是一个shell脚本 子程序/例程或类似的常用功能等...好运...

在更手拿着开头越好。我已经做了一个大型的实习工作,它不是,即使我有一个相当强劲的UNIX背景容易。我建议问别人谁在大型机部门工作要花费一两天教你的基础知识。 IBM的训练可能会有帮助,以及,但我没有任何经验,但这样也不能保证它会的。我已经把我的故事学习如何使用下面的主机的一些背景。会议决定,所有的实习生要学习如何使用大型机,将采取的有20%的时间夏季项目。这是一个完整的灾难,因为所有的实习生接受我在非大型机领域进行工作,也没有一个他们可以喊过立方体墙求助。该ISPF和JCL环境是外星人为他们获得精通迅速。他们唯一的成功是基本编程USS下,因为它基本上是UNIX和大学生熟悉他们与此有关。我有更好的运气有两个原因。我一组中工作的约20大型机程序员所以能有人和我一起坐下定期帮我找出JCL,提交作业等。其次,我使用的针对System z Rational Developer中,当它被命名为WebSphere开发者针对System z。这给了我一个大多使用图形用户界面,让我执行大多数任务,如提交作业,编辑数据集,分配数据集,程序调试等。虽然它不是抛光这已经足够使用,并意味着我没有学ISPF。我有一个基于黯然失色IDE执行基本的大型机任务的事实显著降低学习曲线,意味着我只需要新的技术,学习如JCL并非是一个全新的环境。作为进一步的说明我现在用ISPF因为允许合理大型机上运行我用这样ISPF是唯一的选择,生产系统的一个未安装所需的软件。我现在发现ISPF更快Rational Developer然后,我用它更加高效。这仅仅是因为我能够学习的基础技术,如JCL与理性,并在日后的ISPF接口。如果我有一次它会一直更难学习和双方需要更多的一对一授课。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top