CICS - 核心
前面描述的五个 CICS 系统组件是 CICS 系统程序的便捷分组,每个程序都执行其自己的专门功能。CICS 的核心称为 CICS 核心,由 IBM 提供的 CICS 控制程序和控制表组成。
控制程序
CICS 核心由控制程序和相应的控制表构成。它提供了独特的优势。它使 CICS 系统高度灵活,因此易于维护。以下是 CICS 的重要控制程序 −
TCP
TCP 称为终端控制程序。
TCP 用于从终端接收消息。
它维护硬件通信要求。
它请求 CICS 启动任务。
KCP
KCP 称为任务控制程序。
KCP 用于同时控制任务的执行及其相关属性。
它处理与多任务相关的所有问题。
PCP
PCP 称为程序控制程序。
PCP 用于定位和加载程序以供执行。
它在程序之间转移控制权,最后将控制权返回给 CICS。
FCP
FCP 称为文件控制程序。
FCP 用于为应用程序提供服务,例如读取、插入、更新或删除文件中的记录。
它对记录保持独占控制,以便在记录更新期间保持数据完整性。
SCP
SCP 称为存储控制程序。它用于控制 CICS 区域内的存储分配和释放。
控制表
CICS 由 IBM 提供的 CICS 控制程序和表组成。这些表需要根据应用程序信息进行相应更新,才能成功执行 CICS 应用程序。以下是重要的控制表 −
TCT
TCT 称为终端控制表。
当我们登录到 CICS 终端时,TCT 表中会有一个条目。
TCT 包含连接到当前 CICS 区域的终端 ID。
终端控制程序与终端控制表一起识别来自终端的传入数据。
PCT
PCT 称为程序控制表。
它包含事务 ID (TRANSID) 和相应的程序名称或程序 ID。
TRANSID 在 PCT 表中是唯一的。
PPT
PPT 称为处理程序表。PPT 包含程序名称或 Mapset 名称、任务使用计数器、语言、大小、主存储地址、加载库地址等。
程序或 Mapset 名称在 PPT 表中是唯一的。
CICS 接收事务,并从 PCT 为事务分配相应的程序名称。它检查程序是否已加载。如果已加载,则任务使用计数器加 1。如果未加载程序,则首先加载程序并将任务使用计数器设置为 1。它从 PPT 表中获取加载库地址。
FCT
FCT 称为文件控制表。
它包含文件名、文件类型、记录长度等。
CICS 程序中使用的所有文件都必须在 FCT 中声明,并且由 CICS 本身打开和关闭。
事务
当在 CICS 终端上输入事务标识符 TP02 时,它首先检查 PCT 表中是否有与此事务标识符关联的程序。如果找到,它会检查 PPT 表以找到要执行的程序的位置。
如果程序已经在内存中,它会开始执行该特定程序;如果没有,它会将程序从辅助存储加载到内存,然后开始执行。
事务生命周期
事务生命周期包含以下步骤 −
步骤 1
终端操作员通过输入 1 到 4 个字符的事务 ID 并按 ENTER 键来启动事务。
步骤 2
TCP 定期检查所有终端的输入。收到消息后,它会执行以下操作 −
指示 SCP 创建 TIOA。
将消息放入 TIOA。
将控制权传递给 KCP。
步骤 3
KCP 从 TCP 接管控制权并执行以下操作 −
验证交易 ID 和安全性。
指示 SCP 创建任务控制区。
根据终端优先级(在 TCT 中设置)、操作员优先级(在 SNT 中设置)和交易优先级(在 PCT 中设置)为任务分配优先级。
将任务添加到等待队列程序。
按优先级顺序调度等待的程序。
将控制权传递给 PCP。
步骤 4
PCP 从 KCP 手中接管控制权并执行以下操作 −
定位程序并根据需要加载它。
将控制权转移给应用程序。
步骤 5
应用程序从 PCP 手中接管控制权并执行以下操作 −
请求 TCP 将消息放入程序的工作存储区。
请求 FCP 从文件。
步骤 6
FCP 从应用程序接管控制权并执行以下操作 −
从 SCP 请求文件工作区。
通知 KCP 此任务可以等到 I/O 完成。
步骤 7
KCP 执行以下操作 −
分派队列中的下一个任务。
在 I/O 完成后重新分派旧任务。
将控制权转移给 FCP。
步骤 8
FCP 将控制权返回给应用程序程序。
步骤 9
应用程序执行以下操作 −
处理文件数据。
请求 TCP 发送 I/O 消息。
将控制权返回给 PCP。
步骤 10
PCP 将控制权返回给 KCP,请求其结束任务。
步骤 11
KCP 指示 SCP 释放分配给任务的所有存储空间(TIOA 除外)。
步骤 12
TCP 执行以下操作 −
将输出发送到终端。
请求 SCP 释放 TIOA。