在IBM的名称/令牌服务的所有层共享数据

日期: 2014-07-27 作者:Robert Crawford翻译:王丹红 来源:TechTarget中国 英文

IBM NTS功能是非常有用的,但会对大型机程序产生影响。 IBM名称/令牌服务(NTS)为老式大型机单个程序的上下文以外的常用的锚定数据结构问题提供功能。NTS是可以由IBM、使用大型机的用户以及独立软件供应商自由开发。 NTS总览 NTS是由16字节的名称和16字节的存储空间组合成的。

令牌的名称可以有一定的含义,只要存放相同长度的数据即可。 名称/令牌存在多个层面,如位于大型机编程的任务、地址空间中。操作系统将任务层的任务控制块(TCB)令牌挂起,防止令牌访问正在执行相同任务的程序。地址空间令牌用于挂起作业地址空间次要的控制块,使地址空间令牌对所有地址空间的任务都可用。

系统令牌对于运行在物……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

IBM NTS功能是非常有用的,但会对大型机程序产生影响。

IBM名称/令牌服务(NTS)为老式大型机单个程序的上下文以外的常用的锚定数据结构问题提供功能。NTS是可以由IBM、使用大型机的用户以及独立软件供应商自由开发。

NTS总览

NTS是由16字节的名称和16字节的存储空间组合成的。令牌的名称可以有一定的含义,只要存放相同长度的数据即可。

名称/令牌存在多个层面,如位于大型机编程的任务、地址空间中。操作系统将任务层的任务控制块(TCB)令牌挂起,防止令牌访问正在执行相同任务的程序。地址空间令牌用于挂起作业地址空间次要的控制块,使地址空间令牌对所有地址空间的任务都可用。系统令牌对于运行在物理分区的所有地址空间是可取回的。对于没有运行授权程序、或在未授权的设施上以及在管理状态中的问题程序——不能够产生系统令牌。

名称/令牌对放在哪个层上有两个理由:在选择层上的令牌名称必须是唯一的,令牌层决定了令牌什么时候消失或者出现在作业中等待操作系统调用。

名称/令牌有三个基本的操作:IEANTDL 表示删除名称/令牌对,IEANTCR表示创建名称/令牌对,IEANTRT表示检索已存在的名称/令牌对。引用这些模块用于执行调用NTS序列。

通过提供副本中参数列表格式以及常量,可以使用多种语言执行NTS调用,包括汇编语言IEANTASM、COBOL语言IEANTCOB以及PL/1语言IEANTPLI。

使用名称/令牌对编程

名称/令牌对锚点数据结构需要在没任何语境的情况下引用,例如参考信息表或者是创建在几个程序中共享对象的动态链。

名称/令牌的边界情况更具挑战力。例如,通用编程练习中首先尝试检索令牌,如果不存在则创建一个。也可以成批的处理,但是在多线程环境,像客户信息控制系统(CICS)下会产生问题。当两个任务同时在检索令牌时就会得到“not found”的返回语句,两个任务都想创建令牌。当一个任务成功创建了令牌后,另一个任务得到“token already exists”的返回语句。初始化逻辑必须了解这个过程同时检索新的令牌。

令牌的更新没有直接的方法,要修改令牌的内容,程序必须删除和重建令牌。这在多线程环境下产生了问题。使用间接寻址找到名称/令牌包含锚点块地址,轮流指向实际的数据结构位置。之后,任何模块不需要理会令牌,通过修改锚点块的地址就可以改变数据位置。

考虑性能

名称/令牌同样需要考虑性能方面,系统以无序列表方式保管名称/令牌,所以每一个名称/令牌检索命令都会提示从NTS控制块间顺序检索令牌。在繁忙的CICS或者是信息管理系统(IMS)消息处理区域(MPR)中,一个长的令牌序列极大地增加了CPU的负担以及响应的时间。

但是调用本身是相对轻量级的,许多的调用也会隐藏系统性能。如果你发现NTS调用花费了太多的时间,那么你需要考虑合并个人名称/令牌或者在程序间传递地址。

在多线程环境如CICS中,令牌层变得非常重要。一个任务层令牌只能创建在可重入TCB中,不能由公开TCB创建。因此,在大多数场合下,地址空间令牌只对通过任务共享数据的应用有作用。

CICS和IMS编程者应该意识到,当任务被派遣时任务层令牌就释放了,在CICS中这不是什么问题。在另一方面,公共TCB也在来回的,同样的,在伪-ABEND编程过程中,在应用程序运行中,IMS MPR 偶尔派遣和重新连到任务应用程序,同时释放一些带有令牌的任务层。地址空间层令牌的任务是通过这些派遣装载IMS应用所需要的任何信息。

作者

Robert Crawford
Robert Crawford

数据中心专家

翻译

王丹红
王丹红

编辑

相关推荐