| ILOVEMAINFRAME 的个人资料I love mainframe日志列表 | 帮助 |
|
|
6月11日 典型 MAINFRAME 工作流程Original URL: http://bluemainframe.net/2007/06/11/typical-workloads/ 绝大部分的 MAINFRAME 的工作流都可以被划分为以下两类:批处理(Batch processing)和联机处理(Online transactional processing,包括基于网络的应用)。下面给这两种工作流做一个纵览。 批处理 - Batch processing MAINFRAME 的最大的一个优势就是能够从高速存储设备中处理千兆海量数据,然后产生出有价值的结果。比方说,MAINFRAME 系统为银行和其他金融机构实现了季度报表功能,能够为客户产生必要的报表(季度资产报表和养老金报表),或者向政府提交财务成果报表。零售店也可以为其区域销售经理复查生成和整合夜间销售报表。 生成这些报表的应用程序就是批处理。他们在 MAINFRAME 中处理,并且不需要用户的干预。它们在计算机上提交,成批的读入和处理,然后产生结果输出。UNIX 的脚本文件和 WINDOWS 中的后缀名为 .cmd 文件也大都是这个概念,只不过一些 z/OS 的批处理作业能够持续非常长的一段时间。 虽然批处理能够在分布式计算机系统中运行,但是它却远没有在 MAINFRAME 中那么简单易行。因为分布式计算机系统相对于 MAINFRAME 而言缺乏一下这些东西:
MAINFRAME 的操作系统一般都配备有非常尖端的作业时序安排软件。通过它数据操作员能够提交、管理和追踪这些批处理作业的执行和输出。 批处理流程有以下几个特点:
在批处理的过程中,会产生很多种样式的结果。最为典型的例如投资收益性报表信息整理,定制数据库备份。每日订单处理和库存更新。 下面我们来说明一下图例中的几个步骤
联机事务处理 - Online transactional processing MAINFRAME 中提供了大量的联机书屋处理系统。大多情况下,他们的核心功能都是为商业运作提供任务性的应用程序。一些行业所使用的就是联机系统。
在这些行业中工作的人员是如何与 MAINFRAME 系统相联合的呢?许多因素影响着公司中事务流程的成型,这些因素包括:
在个人电脑和智能工作站流行起来之前,最普遍的和联机 MAINFRAME 应用程序通信的方法就是使用 3270 终端。虽然它被认为是“哑”终端,但是相对于响应键盘操作的电脑它在搜集和整屏显示数据上要更加智能化,而且非常节省处理器的资源。字符的显示是黑底绿字,所以 MAINFRAME 的应用程序又被昵称为“绿屏”程序。 基于这些因素,用户在不同的暗转设置过程中就会有很多种不同的交互作用。由于现在应用程序都可以自主设计,所以在安装设置中重写了现在既有的一些 MAINFRAME 应用程序,为方便用户加上了基于网络浏览的接口。这种改变往往需要开发一些新的应用程序,最常见的就是从第三方购买一些软件来加一个门面。这样用户就根本不会意识到在屏幕背后和他交流的是 MAINFRAME。 连接事务处理被大多数人所熟知,比方说:
联机事务处理一般来说有以下几个特点:
上图所示的就是一些使用 MAINFRAME 的联机事务处理
6月10日 Mainframe 的操作系统Original URL: http://bluemainframe.net/2007/06/10/operation-systems/ 随着 MAINFRAME 硬件的不断发展,其操作系统也不断发生变化。从最初的 MVS 到后来的 OS390 以及目前的 z/OS,IBM MAINFRAME 的操作系统不断在原有基础上融合当前的先进技术,也逐渐由封闭走向开放。虽然MAINFRAME 也可以支持其他操作系统,甚至是开放的LINUX,但目前主要的应用系统仍运行在z/OS上。除了z/OS外,其他四种 MAINFRAME 的操作系统是:z/VM,VSE,Linux for zSeries和z/TPF。由于 z/OS 会单独拿出来介绍,所以我们这里只介绍一下其它四种。 z/VM z/VM有两个基本组件:控制程序CP和一个单用户的操作系统CMS。 z/VM是一个系统管理程序(Hypervisor),它支持在物理硬件资源的基础上创建多个虚拟机器,用来运行其他操作系统。对用户来说,就好像独占那些实际上是共享的物理资源——包括打印机、存储设备和CPU等。z/VM的控制程序负责确保虚拟机器上的数据和应用程序的安全。物理的硬件可以被多个虚拟机器共享,或者出于性能要求被独占。系统程序编辑人员负责给虚拟机器分配物理设备。对于大多数客户而言,虚拟系统的使用免除了他们必须配备高性能硬件的麻烦。 z/VM 的另一组件是对话管理系统 CMS(Conversational Monitor System)。该组件运行在虚拟机器上,为终端用户提供交互接口和一般的应用程序接口。 VM 操作系统在 IBM MAINFRAME 上有很长的历史,目前的最新版本是z/VM 5.2。其在中国并不多见,目前最主要的功能就是为其它操作系统提供一个平台。 VSE VSE(Virtual Storage Extended)无论在小型机还是大型机用户中都相当流行。只有当客户的性能要求超过 VSE 负荷时才会转而使用 z/OS。相对 z/OS,VSE 操作系统为批处理和交易处理提供相对较小的、更简易的基础支撑。VSE 的设计和管理结构非常适合运行常规产品工作负荷,包括大量并行运行的批次作业和大范围、传统的交易处理。在实际操作中,大多数 VSE 用户同样使用 z/VM 操作系统,把它作为 VSE 应用发展和系统管理的一般终端接口。 该操作系统以早期硬盘操作系统(DOS)而闻名,是第一个引入360大型机系统的基于硬盘的操作系统。直到OS/360诞生,DOS 才被取代。但由于 DOS 操作简单且占用空间小,许多大型机用户在 OS/360 产生后仍然坚持使用它。DOS 曾经被叫做 DOS/VS(当时DOS开始启用虚拟存储),VSE/SP 和后来的 VSE/ESA。在谈到最新的版本时才被称之为VSE。 Linux for zSeries Linux 的很多版本都可用于大型机。这些版本不是由 IBM 开发的,但是其使用得到 IBM 的支持。这些 Linux 的版本一般分为两类:
Linux 在 zSeries 主机上有三种实施方式:Native 自举方式;LPAR 逻辑分区方式;借助 VM 操作系统或 IBM 模拟映象工具 VIF 的方式。它们各有利弊,但后者提供了较大的灵活性,并且能够支持更多的 Linux 系统并存。
Linux 在 IBM 大机上主要有以下两种使用方式:
综上所述,Linux for zSeries 是把 Linux 的灵活性、开放性与 zSeries 主机的服务质量结合起来,它能满足当代电子商务的需求,适应于企业级 IT 的系统架构,克服了分布式服务器群的各项弊病。 z/TPF z/TPF(Transaction Processing Facility)系统是一种在实时环境中运行交易处理应用程序的操作系统,主要用于面向交易量较大的业务,譬如信用卡公司和航空预定系统。 z/TPF 系统是为具有庞大的在线交易量和巨大网络覆盖面的业务模式而设计。由于其强大的处理能力和高度的可用性,比之其它操作系统,它能够更好地适应交易量瞬间峰值的冲击,以及业务范围可预见的或突发的快速扩充。它尤其能够满足那些需要强大处理能力和低廉的平均交易成本的应用领域。 6月8日 IKJEFT01Original URL: http://bluemainframe.net/2007/06/08/ikjeft01/ IKJEFT01是一个TMP程序. (terminal monitor program). 可以执行clist,rexx,tso.e command命令等. 例1 SB01 EXEC PGM=IKJEFT01,DYNAMNBR=50 STEPLIB DD DISP=SHR,DSN=DSN.DSNLOAD SYSTSPRT DD SYSOUT=* SYSPRINT DD DSN=XXXX.XX.XXXX,DISP=(,CATLG), DCB=(RECFM=FBA,LRECL=133,BLKSIZE=133), SPACE=(CYL,(5,5)),UNIT=SPLD SYSIN DD DSN=&&CTL,DISP=(OLD,DELETE) SYSTSIN DD DSN=XXXX.IOCS.SQLLIB(DSNTEP2),DISP=SHR XXXX.IOCS.SQLLIB ********************************* Top of Data ********************************** DSN SYSTEM(DSN) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) LIB(’DSN.RUNLIB.LOAD’) ******************************** Bottom of Data ******************************** SYSTSIN sysin控制参数 这里是一段CLIST程序 例2 在DB2使用中,DSN用来获取DB2在OS/390的Subsystem identifier,用来对DBRM进行BIND PLAN或者 BIND PACKAGE的,也能PLAN和PACKGAE进行RUN。 在IKJEFT01中输入执行语句应该写在 SYSTSIN里 BIND的时候: //DBRMLIB DD DSN=XXX.XXX.XXX,DISP=SHR //SYSTSIN DD* DSN SYSTEM(Subsystem identifier) BIND PLAN(PLAN-name) MEMBER(DBRM-name) ACT(REP) ISO(CS) END /* RUN的时候 : //SYSTSIN DD * DSN SYSTEM(Subsystem identifier) RUN PROGRAM(DB2PGM-name) PLAN(PLAN-name) - LIBRARY(’DATASET-name of DB2PGM’) END /* 对于abend情况的处理,可以用IKJEFT1A,IKJEFT1B 6月6日 Mainframe 就在我们间Original URL: http://bluemainframe.net/2007/06/06/midest/ 尽管 MAINFRAME 在商业发展中占尽优势,但是这种机器对于大众、学术界甚至一些有经验的 IT 专家们来说仍旧不过是一个隐形物。与此相反,其他一些类型的电脑却能够吸引更多人的眼球。事实如此也不用显得吃惊。毕竟,我们之中有谁需要访问 MAINFRAME 呢?如果我们想去访问,应该从哪里下手呢?事实上,我们都是 MAINFRAME 的用户,只不过我们可以自己都没有意识到这一点罢了。 我们绝大部分人都能够熟练使用个人电脑,都会买一台电脑,装上方便快捷的软件,浏览网页,或者给大学教授写毕业论文。如果拥有更高的技术知识,我们能够更详细的钻研那些带有Intel?标记的有着各种设备的工作站(个人电脑)。通过直接的或者间接的,有辅导的或者没有辅导的的方法从书本或者网页上找到相应的资料去研究其性能。 然而对于 MAINFRAME 我们并没有什么机会去研究它,因为它似乎在逃避大众的目光。它们仍旧非常可靠的完成的所有人物。并且几乎能够抵抗 所有那些令PC机备受折磨的攻击,例如邮件炸弹,邮件病毒,木马程序等等。正因为它运行的可靠性,几乎可以忽略不计的宕机时间, MAINFRAME 可以说是所有计算机的典范。 今天 MAINFRAME 在世界上绝大多数的公司的日常运作中扮演着中枢的角色。当其他的电脑在外部处理着各种各样的业务的时候,MAINFRAME 在当今的电子商务的大环境中早已占领了令人觊觎的位置。银行、金融、卫生保健、保险、事业单位、政府,还有各种国营和私营的企业,MAINFRAME 不无例外的在为它们的现代商务发挥着基础的作用。当你走到银行的 ATM 取款的时候,其实你已经在享受 MAINFRAME 为你提供的服务了,他正在你无法看到的地方发挥着巨大的作用,但是你身边的每一点小事也许都会受它的影响。MAINFRAME 就在我们中间。 6月5日 IEBUPDTEOriginal URL: http://bluemainframe.net/2007/06/05/iebupdte/ IEBUPDATE 这个 UTILITY 最常见的用法是用来在分区数据集中创建多个 member,或者更新这些 member 中的数据。虽然 IEBUPDATE 能够用来处理给中类型的数据,但是主要用途还是创建或者维护JCL的过程库或者汇编语言的宏程序库。今天,这个 UTILITY 大多用来做程序产品的发布和维护了。很少被普通 TSO 用户使用。 这里有一个很基本的例子用来往 MY.PROCLIB 中添加两个 JCL 的过程的 MEMBER。运用 ISPF 也许能够很方便的完成这些事情,但是如果我们假设这个 JOB 已经在磁带上了,那么很显然就会比 ISPF 操作更加有效。 //OGDEN10 JOB 1,BILL,MSGCLASS=X对这个例子进行一下说明:
另外,IEBUPDATE 这个 UTILITY 还能够根据控制语句中的序列号来添加或者替换相应的 MEMBER。这也是针对 JCL 语句或者源语句中那些数字序列的所剩不多的用法。 最后我们需要再次重申 IEBUPDATE 最有代表性的用法是用作程序的发布和维护。比方说,如果需要给客户的程序库中添加25个 JCL 过程,我们只需要将这25个过程作为一个程序包用 IEBUPDATE 导入。这样做的一个好处是由于所有的产品都使用一种源程序格式,客户就可以很方便的在使用之前进行审核。 6月4日 z/OS中使用OSFP路由协议的简单介绍Original URL: http://bluemainframe.net/2007/06/04/ospf-in-zos/ 在Z/OS环境中,OMPROUTE是一个静态路由的守护进程,对于IPv4,OMPROUTE遵守了RFC 1583(OSPF version2)、RFC 1850(OSPF version2 Management Information Base)、RFC 1058 (Routing Information Protocol) 和RFC1723 (RIP version 2 - Carrying Additional Information);对于IPv6,OMPROUTE遵守了RFC 2080 (RIPng for IPv6) 和RFC 2740 (OSPF for IPv6)。 OMPROUTE管理TCP/IP堆栈的路由表。在OMPROUTE的初始化阶段,会删除所有的在TCP/IP堆栈的路由表中的动态路由信息,之后,OMPROUTE重新生成TCP/IP堆栈的路由表,根据通过OSPF路由协议学习到的路由信息。OMPROUTE不使用BSDROUTINGPARMS语句,代替的是,OMPROUTE使用的是配置文件,这个配置文件同时被OSPF和RIP协议使用。OSPF和RIP协议通过在配置文件中定义的OSPF_INTERFACE和RIP_INTERFACE参数进行连接通信。 以上是一个OMPROUTE的启动procedure的例子。 定义OMPROUTE的环境变量: 以上的例子就是一个OMPROUTE的环境变量的文件的内容,在OMPROUTE的启动的PROCEDURE中通过STDENV DD语句标明环境变量文件的位置。环境变量的文件在ZOS中是data set ,这个data set 必须定义为RECFM=V。这是由于RECFM=F的data set 会在环境变量的尾部填充空格。 在ZOS中,对OMPROUTE的管理可以通过以下的命令进行: 启动OMPROUTE:使用start命令即可。 停止OMPROUTE:STOP <procname> 或者 MODIFY <procname>,KILL命令。 更改OMPROUTE的配置:F procname,RECONFIG、F procname,ROUTESA=ENABLE/DISABLE、F procname,OSPF,WEIGHT,NAME=<if_name>,COST=<cost> 启动、停止和更改OMPROUTE的trace和debug的level:F procname,TRACE=n:、F procname,DEBUG=n:和F procname,SADEBUG=n: 显示OMPROUTE的数据信息:F procname,RTTABLE和F procname,OSPF,LIST ALL 显示OMPROUTE的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,ALL 显示OSPF area的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,AREAS 显示OFPS interfaces的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LIST,IFS 显示一个LSA的内容的数据信息:D TCPIP,TCPIPA,OMP,OSPF,LSA,LSTYPE=1, LSID=10.10.2.1,ORIG=10.10.2.1,AREAID=0.0.0.2 显示连接到某个路由器的所有OSPF的area的信息:D TCPIP,TCPIPA,OMP,OSPF,AREASUM 显示AS external advertisements的列表:D TCPIP,TCPIPA,OMP,OSPF,EXTERNAL 显示OSPF的邻近的lyq的信息:D TCPIP,TCPIPA,OMP,OSPF,NBR 显示OSPF路由器之间的数据信息:D TCPIP,TCPIPA,OMP,OSPF,ROUTERS 显示OMPROUTE的路由表中的所有路由信息:D TCPIP,TCPIPA,OMP,RTTABLE 6月3日 IDCAMSOriginal URL: http://bluemainframe.net/2007/06/03/idcams/ IDCAMS 其实算不上是一个记录在 z/OS UTILITY 手册中的常规组件。IDCAMS 更主要的用途是用来创建和使用 VSAM 数据集。它还有一些其他功能,比如更新 CATALOG。但是和它联系最紧密的还是 VSAM。IDCAMS 的复杂的功能还是留给大家自己看手册,我们还是讲些最基本的用法。 下面是一个很有代表性的 IDCAMS 的例子: //OGDEN12 JOB 1,BILL,MSGCLASS=X这个程序里面有两个 JOB STEP。第一步,删除在第二步将会创建的 DATASET。这是一个清除的功能。如果这个 DATASET 并不存在的话,这一步将会被忽略掉。 第二步中进行了执行了两个功能。用 DEFINE CLUSTER 命令创建一个VSAM 数据集;然后用 REPRO 命令将一个顺序数据集的内容导入。VSAM 数据集被创建在 WORK02 卷上,主空间为一个 CYLINDER,第二分配空间也是一个 CYLINDER。由于 VSAM 数据集大多使用变长的数据,所以该数据集被定义为平均 72 个字节,最大为 100字节。每个记录的 9 个自己的偏移量的首 8 个字节被设置为主键。ELIMIT 参数定义了 REPRO 操作中在终止运行之前允许忽略的错误次数。 很多 IDCAMS 的函数中中能够使用 TSO 命令,比方说 DEFINE CLUSTER 就是 TSO 命令。但是一般情况下我们不建议在 IDCMAS 中使用很复杂的命令,那样的话遇到的错误也会是很复杂的。一般我们查看和或者检查 IDCAMS 的命令和产生的消息都需要到 SDSF 中检查该 JOB 的输出结果。 6月2日 IEBDGOriginal URL: http://bluemainframe.net/2007/06/02/iebdg/ IEBDG 这个 UTILLITY 可以在指定的 DATASET 中在不同的区域生成不同样式的数据。IEBDG 是一个很具有代表性的生成测试数据的 UTILITY。能够生成各式各样的区块数据,并且还能够对其进行进行形状上的改动,比方说做成波浪形。另外,IEBDG 还支持输入式数据并覆盖制定区域的操作。 下面我们举一个最简单的例子: //OGDEN7 JOB 1,BILL,MSGCLASS=X这个JOB生成了一个叫做 OGDEN.TEST.DATA 的有90000条数据的DATASET。在 第一个 DD 里面的 DCB 参数中制定了每一条数据占80字节,控制声明段制定了一共有3个区域的数据占据了前50个字节的空间。剩下的空余位置,IEBDG 会默认将其设置为二进制的0,在 DATASET 中显示“.”。 我们指定的3个区域分别是: 字母字段,30个字节长,承叠进的波纹显示; 第二个区域放入的是固定的文字“TEST DATA ”,10个字节长; 第三个区域时随机产生10个字节长的的二进制数据。 这个例子是最简单的对 IEBDG 的用法的描述,IEBDG 还可以生成更加复杂的样式,这里就不再举例说明了。 6月1日 编辑数据集Original URL: http://bluemainframe.net/2007/06/01/edit-dataset/ 本人才疏学浅 只能来点简单东西 凑个热闹 写点数据集编辑命令 主命令:CANCLE:取消所做的编辑并退出编辑环境 CAPS ON/OFF:退出编辑环境后系统自动将所有字母转换为大写/小写 CHANGE(RCHANGE):替换字符,RCHANGE表示重复上次的替换。格式:CHANGE ** ** [ALL] FIND(RFIND):查找字符串 RECOVERY ON/OFF:设置编辑方式,ON表示用户可以通过UNDO命令取消上一次编辑操作 RESET:重置编辑器,清除不需要的信息 SAVE:保存当前修改,并继续编辑 SORT:对文档行按字典顺序排序 SUBMIT:提交作业;若作业是一段JCL程序,则通过该命令可以提交作业程序 UNDO:取消上一次编辑(仅当在RECOVERY ON编辑方式下) s(setup)+member:创建新成员(PDS) CUT:复制当前内容(配合CC和MM来使用) PASTE:粘贴当前内容(配合CUT来用 很常用) COPY+member-name:复制同一DATASET下MEMBER内容(配合AB使用) HI+XXX:高亮显示某种语言(JCL COBOL REXX等等) MEMBER+member-name:查询当前所有DATASET下该member是否存在(非常实用) PROFILE:列出当前编辑环境的所有的editor profile HEX ON/OFF:打开关闭十六进制编码形式 AUTOSAVE ON/OFF:打开关闭自动保存 AUTONUM ON/OFF:自动重新编号行号(SAVE后生效) PROFILE UNLOCK/LOCK:可以修改ISPF的editor profile PACK ON/OFF:是否将该MEMBER保存成PACK格式(一种主机上标准的压缩格式) TABS ON/OFF:编辑的时候是否允许用TAB键跳格 行命令:C、CC、Cxx:拷贝命令。与其他行命令(A、B)或主命令 结合使用 C 拷贝当前行,CC拷贝多行,用两个CC来定位,Cxx拷贝多行,XX表示行数 I、IXX:插入命令。执行一次插入命令后,可直接按回车(ctrl)换行 D、DD、Dxx:删除 R、RR、Rxx:复制 O:覆盖当前内容(结合C和R来用) A:定位于当前行之前 B:定位于当前行之后 X、XX、Xxx:隐藏 S、Sxx:显示隐藏的内容 COLS:屏幕的刻度标尺 UC、UCxx:转换成大写 LC、LCxx:转换成小写 (, (xx:将当前行左移一列或xx列(或者<) ), )xx :将当前行右移一列或xx列(或者>) TS:将一行文本切分为两行 TF:将多行文本合并为一行 只能记得那么多了 希望大家补遗 5月31日 IEBGENEROriginal URL: http://bluemainframe.net/2007/05/31/iebgener/ IEBGENER 这个 utility 拷贝一个顺序数据集到另一个。(记住:分区数据集中的 member 可以被用作一个顺序数据集。)这个 utility 同样还能做一些数据的过滤,可以改变 LRECL 和 BLKSIZE,产生记录,以及几个其他的功能。然后,它被用的最多的是简单拷贝数据集,下面是一个典型的例子: IEBGENER 需要四个 DD 语句。SYSIN DD 语句是用来读取控制参数,用于简单情况,就不需要控制参数,这时候可以用 DD DUMMY 来代替。SYSPRINT 语句用于打印 IEBGENER 信息。SYSUT1 语句用于输入而SYSUT2 语句用于输出。这个例子读取一个现有的数据集然后把它拷贝到另一个新的数据集中。 如果输出的数据集是新的并且没有指定 DCB 参数,IEBGENER 就会赋予它和输入数据集一样的 DCB 的参数。(DCB 参数包括 LRECL,RECFM 和 BLKSIZE) 另一个常用的例子是: 这个例子假设 BILL.TEST.DATA 这个数据集已经被创建了,这个作业将会用 SYSUT1 输入流中的数据重写它,因为输出的数据集已经存在,IEBGENER 将使用它现有的 DCB 属性。 IEBGENER 是提供给 z/OS 的最基本拷贝或者 list 的程序,它在 OS/360 第一个发行版本就存在了。 Mainframe 的发展历程Original URL: http://bluemainframe.net/2007/05/31/mainframe-history/ 这也是商业公司第一次在高安全级别的平台上处理商业运作。 1968年,随着 CICS - Customer Information Control System - 的推出,个人用户终于可以通过工作站对数据进行查找,更新和回朔了。即使到现在,CICS 仍旧是非常流行的业务监控产品。 1982年,寻址空间从24位上升到了31位。 1984年,IBM 推出了1MB的硅铝半导体芯片。 1988年,扩展名被引入支持多重寻址。同年 IBM 对 DB2 的使用进行了调整,减低了CPU使用率并戏剧性的提升了效率。 Mainframe 在随需应变的要求下不断丰富完善着其功能。IBM eServer™ z/Series 目前已经成为了能够适应高密度工作量,并能够提供高度安全、稳定和实用性的旗舰产品。 5月30日 IEFBR14Original URL: http://bluemainframe.net/2007/05/30/iefbr14/ 这个程序的唯一功能是提供一个0的返回码,它被用作一个“执行 JCL ”的安全的媒介。执行 JCL 的书法并不是一个非常准确的术语,但是这里能够很好的传达想法。如下面的例子: 尽管被执行的程序(IEFBR14)并没有做任何事情,但是这还是一个非常有用的作业。当准备运行这个作业的时候,initiator 分配了数据集 OGDEN.LIB.CNTL 并保持到作业完成。它同时在作业完成时删除了数据集 OGDEN.OLD.DATA。在这个作业中 DD 的名字 A 和 B 其实没有任何意义,但是这里被使用是因为 DD 语句的语法要求每个 DD 都要有的名字。 你完全可以通过 ISPF 来完成新增一个数据集和删除另一个数据集。但是这些 JCL 代码可能会被作为一个很大顺序执行 batch 作业的一个部分。
IEFBR14 不是一个 utility,从这个意义上来说他不应该包含到 Utilities 的手册上。然后没有任何其他特别的分类可以包含这个有用的程序,所以我们专制地把它放到 Utility 的分类中。 下一个 utility:IEBGENER 什么是 JCLOriginal URL: http://bluemainframe.net/2007/05/30/what-is-jcl/ JCL(Job Control Language,作业控制语言)是描述运行在 IBM 大型机上的 z/OS 和 z/VM 操作系统中的作业(执行单元)的语言。大型机操作系统给以在电脑上启动的所有作业分配时间和空间资源。作业依次被分解为作业步。作业是无需用户交互的操作(例如,打印作业)的后台执行单元(有时称 Batch)。另外,操作系统管理着交互的(前台的,Online)用户请求,这些请求初始化了执行单元。一般来说,前台操作被赋予了比后台操作更高的优先级。 一本IBM的手册把整套JCL语言比作餐馆的点菜的订单。整个订单就像是作业。在后台厨房,厨师把订单分解开来,作出每一道菜(作业步)。当作业步都完成时,整顿饭就做好了(但每道菜必须按指定的顺序来做,就像某些作业步是依赖于其他一些已经执行了的作业步一样)。 JCL 语句主要描述了需要访问的输入数据集,将要被创建或修改的输出数据集,需要为这个作业分配哪些资源,以及要使用这些输入输出数据集来运行的程序。一个作业的 JCL 语句集将会以数据集的形式存储下来,并且能够通过交互启动它。z/OS 提供了一个交互式的像菜单一样的接口 ISPF,可以用它来初始化和管理作业。 JCL 语句主要分为三部分:
在 z/OS 中,操作系统中用来处理 JCL 的那部分被称作作业入口子系统(JES)。总共有两个版本,JES2 和后来的一个带有附加功能的版本 JES3。 JCL 的语法是比较简单,如果你有什么不明白的地方你可以给我们留言,我们会尽力回答你们的问题。 接下来的关于 JCL 文章,我们会主要介绍 JCL 的 Utilities,第一个我们会介绍的是 IEFBR104 Mainframe 系统架构进化Mainframe 在20世纪60年代开始得到大力发展。在那时,mainframe 只是某种类型的电脑而已,它们只能支持很少的商业活动。销量也很少,并且每台 mainframe 是独一的,被裁剪以适合客户主要的(经常也是唯一的)商业程序。 在1964年,事情发生了戏剧性的变化, mainframe 厂商开始统一标准化它们提供给客户的硬件和软件。这个改变发出了开始一般用途电脑的年代的信号。mainframe 以标准化运行他们的 workload,客户可以不用去指明底层的硬件和软件去写他们的商业程序。此外,客户可以免费的升级到更新的并更强大的处理器,而不需要去考虑和他们现存程序的兼容性问题。第一批用来写客户商业程序的语言绝大部分是 COBOL,FORTRAN 或者 PL/1。而且这些非常老的程序绝大部分今天依就在使用。 从1960年开始每十年,mainframe 计算机开始稳步发展并实现了巨大的运算能力,今天的 Mainframes 已经有无与伦比的能力去服务成千上万的最终用户,可以管理 P 级别的数据,并能重新装配硬件和软件去适合 workload 的改变,– 所有的知一切都是来源于一台电脑的控制。 下一篇:Mainframe 的发展历程 5月29日 什么是 MainframeOriginal URL: http://bluemainframe.net/2007/05/29/whatismf/ 现今,我们已经很少使用 Mainframe - 主机、大型机 - 这些词了,取而代之用语是大型商业计算机或者服务器,Mainframe 被归为大型商业服务器一类了。就像我们说的 zSeries Mainframe 叫做 Z 系列服务器。服务器的增长速度相当惊人,我们日常的商务活动中已经涉及到太多的服务器:业务服务器、数据服务器、邮件服务器、网络服务器等等。从普通的家庭个人电脑到时下最顶尖的主机硬件的需求始终都是决定服务器的功能水平。最初的 Mainframe 是作为一个中央数据库或一个网络集线中心出现的,存储着大量的数据,通过相对功能较低的工作站或者终端连接着各个用户的设备。它的出现意味着数据的大规模集中,用以节省客户的资源和维护成本,同时还能够增进数据的流动。但是随着个人电脑的运算速度的加快、更加功能化,Mainframe 必须向更灵活更多元化的方向发展以适应市场的需要。于是能够动态配置硬件或者软件的 Mainframe 出现了。 但是当硬件已经不能更好的分档管理的时候,Mainframe 需要有更好的方法来解决。于是在 1964 年,IBM推出了第一代计算机操作系统:System/360™ (or S/360™)。并以此为基础提出了操作系统平台,并每十年的对操作系统构架进行一次革新,1970年推出了 System/370™,1983年推出了 System/370 Extended Architecture (370-XA),1990年推出了 Enterprise Systems Architecture/390® (ESA/390),到了2000年 z/Architecture™ 诞生了。这段历史会在随后的介绍性帖子中陆续将到。IBM 推出的这一系列操作系统平台将 Mainframe 的灵活性和应用广泛包容性推到了顶峰。 回到主题,什么是 Mainframe 呢?Mainframe 在今天更多地被形容成一整套操作、应用和系统的集合。但是从工作性质和运用的方面来定义:Mainframe 就是指在商业活动中,用以管理商业数据和维护交易服务并能够提供更高级别的安全性和实用性的机器。 其实 Mainframe 是不可能用一句话来定义的,各种定义都会很牵强,也有很多偏拨之处。因为 Mainframe 本身的含义已经超越了其字面理解的范围。我们不妨用几个词或句子来形容以下 Mainframe:
Mainframe 就是将这些特点集于一身的最有代表性的机器。 敬请期待 Mainframe 下篇文章: Mainframe 系统架构进化 开始Original URL: http://bluemainframe.net/2007/05/29/begin/ 我们会以一系列的基础知识的介绍开始我们的博客,希望这些基础知识能够帮助大家重新认识和理解mainframe以及相关的技术。 目前我们还有的大型机系统维护的论坛也在进行中,如果你有任何问题,非常欢迎你到我们的论坛上提问或者解答提出的问题。 首先是我们的第一篇:什么是 Mainframe |
|
|