虚拟存储器

通过精心设计,您可以最大程度地减少所使用的虚拟存储量,并减少应用程序的开销。

真正对话的 CICS® 任务是通过在每次写入后发出终端读请求 (例如,使用后跟 RECEIVE 命令的 SEND 命令或 CONVERSE 命令) ,与终端用户进行多次或多次交互的任务。 这意味着该任务的大部分延长寿命将等待来自终端用户的下一个输入。

任何 CICS 任务在其整个生命周期中都需要一些虚拟存储器,并且在会话式任务中,此虚拟存储器中的一些会在任务等待终端 I/O 的时间段内进行传输。 涉及的存储区域包括 TCA 和关联的任务控制块 (包括 EIS 或 EIB) 以及发出任何终端读请求时正在使用的所有程序所需的存储器。 此外还包含与该任务使用这些程序相关的工作区域(例如 COBOL 工作存储的副本)。

通过精心设计,您有时可以安排在对话期间只保留一个非常小的程序。 其他用户可以共享所需的存储器。 必须将其余虚拟存储器需求乘以使用该代码的并发会话数。

相比之下,伪会话式任务序列几乎需要其所有虚拟存储器 (仅用于处理消息对的时间段)。 通常,这需要每分钟 1-3 秒的时间段 (其余时间正在等待操作程序输入)。 因此,对于多个并发用户的总体需求可能是会话式任务所需的需求的 5%。 但是,您应该允许从每个任务传递到下一个任务的数据区。 这可能是几个字节的 COMMAREA 或大面积的临时存储器。 如果是后者,那么通常建议您使用磁盘上的临时存储器,而不是主存储器中的临时存储器,但这意味着在伪会话设置中添加额外的临时存储器 I/O 开销,您不需要使用会话式处理。

会话式应用程序所需的额外虚拟存储器通常意味着您需要相应更多的实际存储器。 控制存储器所需的页面调度涉及额外的开销和虚拟存储器。 随着事务速率的增加,页面调度的不利影响也会增加,因此您应该尽可能减少其使用。 有关执行此操作的信息,请参阅 减少页面调度效果