CICS/MVS技术笔记:深入解析交易处理与编程细节

需积分: 0 0 下载量 185 浏览量 更新于2024-09-23 收藏 95KB DOC 举报
"CICS/MVS技术日记探讨了CICS(Customer Information Control System)在MVS(Multiple Virtual Storage)操作系统环境下的应用和编程细节,作者分享了个人的学习笔记,旨在帮助有需要的读者理解这一传统的主机系统技术。文章还提到了与现代IT技术如J2EE、.NET、XML等的对比和融合。" CICS是IBM开发的一种企业级交易处理系统,主要用于大型主机环境,如MVS,它允许处理大量并发的用户交易,尤其适合金融和电信行业的高流量需求。CICS系统强调的是高效、可靠和安全的数据处理。 在CICS编程中,BMS(Business Monitor System)是一个关键组件,用于管理屏幕和打印输出。当编译BMS映射时,可以选择Type=DSECT生成逻辑MAP,或者Type=Map生成物理MAP,前者有助于逻辑布局的理解,后者则显示实际内存分配情况。 程序设计时,通常在LINKAGE SECTION中声明数据结构,并通过ADDRESS指令获取其内存地址。资源管理是CICS中的重要概念,比如在多用户环境中,为了避免死锁,规定了文件访问的特定顺序、读写操作的规范,以及对WRITE MASSINSERT后的解锁要求。 CICS虽然不直接支持跨语言的混合编程,但可以通过COBOL调用汇编模块。一个CICS交易可能由多个执行程序组成,这些程序之间可以使用LINK或XCTL指令进行调用。CICS调用子程序的方式有三种:EXECCICSLINK、STATIC COBOL CALL和DYNAMIC COBOL CALL。 在COBOL程序中,CICS提供的一些关键数据结构,如DFHEIBLK(EXEC INTERFACE BLOCK)和DFHCOMMAREA(通信区),会被插入到LINKAGE SECTION中,用于CICS与程序之间的交互。关于程序嵌套,CICS有一套严格的规则,确保每个包含EXEC CICS命令的程序正确传递调用参数。 NESTING规则规定,最外层程序及其所有直接或间接调用的程序作为一个整体提交,且每次CICS调用中,DFHEIBLK和DFHCOMMAREA都会作为前两个参数传递。由于EIB(Execution Interface Block)的地址在主控程序中不确定,需要通过特定语句来确定它的值。 CICS/MVS技术日记提供了一窥传统主机系统编程实践的窗口,尽管现代IT技术日新月异,但CICS在某些领域的稳定性和效率仍具有不可替代的价值。对于那些需要处理大规模并发交易的系统,理解并掌握CICS的知识仍然是非常重要的。