CICS/MVS技术学习笔记:死锁避免与子程序调用解析
需积分: 0 195 浏览量
更新于2024-08-02
收藏 95KB DOC 举报
"CICS/MVS技术日记是关于CICS在MVS系统中的应用和学习心得,涵盖了CICS的基本操作、编程注意事项以及多用户环境下的事务处理策略。这份资料主要面向学习CICS技术的读者,提供了编译BMS、资源管理、子程序调用和程序嵌套等关键知识点。"
在CICS/MVS技术中,BMS(Basic Mapping Support)的编译是一个重要的环节。编译BMS时,你可以选择Type=DSECT生成逻辑MAP,用于逻辑布局的可视化,或者选择Type=Map生成物理MAP,它反映了内存的实际分配情况。这两种选项有助于理解和调试程序。
在多用户环境中,CICS系统需要处理并发访问和资源竞争问题。为了防止死锁,规定了三条原则:一是所有交易应按照相同的KEY值顺序访问文件;二是READ UPDATE之后必须跟REWRITE、DELETE或UNLOCK操作以保持数据一致性;三是使用WRITE MASSINSERT后需立即解锁,以释放资源。
CICS虽然不直接支持多种语言的混合编程,但它允许COBOL程序调用ASM模块。一个CICS交易可以由多个程序构成,通过LINK或XCTL指令实现程序间的调用。在CICS中,子程序调用有三种方式:EXECCICSLINK、STATIC COBOL CALL和DYNAMIC COBOL CALL,满足不同类型的调用需求。
CICS的COBOL宿主程序有两个关键的数据结构:DFHEIBLK(EXEC INTERFACE BLOCK)和DFHCOMMAREA(通信区)。它们在LINKAGE SECTION中声明,用于传递执行控制信息和用户数据。CICS的程序嵌套规则要求最高层程序及其所有直接或间接依赖的程序作为一个单元提交,并在包含EXEC CICS命令的每个程序中,将DFHEIBLK和DFHCOMMAREA作为头两个参数传递,确保执行信息的正确传递。
由于EIB(EXECUTION INTERFACE BLOCK)的地址在主控程序中可能不确定,因此需要使用特定的语句来确定其地址,以便正确地进行程序调用和数据交换。这份技术日记为学习CICS提供了一手的实践经验和深入的理解,对深入掌握CICS/MVS环境下的编程和系统管理具有极高的参考价值。
2019-01-09 上传
点击了解资源详情
2008-09-01 上传
点击了解资源详情
点击了解资源详情
2008-12-04 上传
szlee
- 粉丝: 0
- 资源: 1
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手