IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

重新加载模块


IBM大型机论坛 -> CICS
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月5日,星期二,下午4:46
引用回复

大家好,
如果再次对cics-cobol应用程序进行了更改,则必须将程序安装在CICS区域中,否则最新的
更新不会反映在应用程序中。
My question is
1)一旦我们对应用程序进行了更改,(之后
翻译,编译和链接完成)。加载模块具有
被覆盖。 现在在cics区域中,为什么我们需要再次安装它,无论如何它都将引用相同的加载模块?
(其中我已被新更改覆盖)
现在我的第二个问题是
2) CICS将在哪里存储这些旧的加载模块信息?
如果它存储在其CICS地址空间中,则浪费内存?
例如,如果我有100个程序,那么所有这些程序信息都会临时存储在CICS地址空间中。它不会影响CICS的性能。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,下午5:28
引用回复

1. CICS是有效的。第一次调用程序时,CICS进入磁盘上的库,找到模块,然后将其加载到内存中。第一次引用后,对程序的每个引用都使用CICS内存中的副本。通过执行重新编译和链接编辑(绑定)来更改磁盘加载模块可以根据需要进行。但是,除非对程序执行NEWCOPY,否则CICS不会知道已更改的装入模块。 NEWCOPY告诉CICS进入磁盘并获取该程序的新版本。
2. CICS在内存中只有活动的加载模块。如果您为CICS定义了100个程序,但是自CICS出现以来您的系统仅使用了6个程序,那么只有这6个程序会被加载到CICS内存中。它们存储在CICS区域中,作为CICS内存区域的一部分-完全与程序使用的用户内存区域分开。

只有IBM可以告诉我们CICS性能的影响-我怀疑影响很小。 CICS运行了很长时间,多年来,已经进行了许多更新。 IBM可能已经非常关注使CICS系统开销尽可能小。您不必担心无法控制和无法更改的事情。
回到顶部
查看用户资料 发送私信
Cicsknow

新的用户


已加入:2009年3月11日
帖子:28
地点:印度

发布发表:2009年5月5日,星期二,下午5:36
引用回复

感谢Robert向其他用户提供此信息。

SakthikumarT,

CICS保持记录哪个程序加载到CICS内存中,并且它们指向其地址空间(而不是加载模块)...

因此,如果您更改加载模块,它将不会在CICS记录中更新有关其地址的信息..因此,每次您需要对最后一个程序副本进行新复制时..
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月5日,星期二,6:04 pm
引用回复

NEWCOPY告诉CICS进入磁盘并获取程序的新版本
就像在DASD中一样,对于同一程序,将有N个加载模块版本,并且cics将获取最新版本(新版本,一旦我们将程序安装在cics区域中)。

您能否告诉我这些信息将存储在哪个区域?
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月5日,星期二6:12 pm
引用回复

引用:
CICS保持记录哪个程序加载到CICS内存中,并且它们指向其地址空间(而不是加载模块)...


呵呵,如果是这样,(例如:如果我执行了500个程序,则
500个程序的参考资料将在cics地址空间中显示出来吗?
然后,当这些裁判将被删除????
回到顶部
查看用户资料 发送私信
Cicsknow

新的用户


已加入:2009年3月11日
帖子:28
地点:印度

发布发表:2009年5月5日,星期二,6:25 pm
引用回复

SakthikumarT,

我认为接下来的步骤将帮助您...

1.当引用程序时,它将从库加载到CICS地址空间,并将其地址存储到CICS系统中。

2.在程序更改和编译时,我们需要通过NEWCOPY将其告知CICS系统,这样它将把这个新副本并加载到地址空间中,届时它将在CICS系统中更改该程序所引用的地址它...

3.它独立于否。程序更改...

我希望这能帮到您.... icon_smile.gif icon_biggrin.gif
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

发布发表:2009年5月5日,星期二,6:26 pm
引用回复

Sakthi kumar T,

单个加载模块库中有多少个特定加载模块版本?


引用:
您能否告诉我这些信息将存储在哪个区域?


那是 您的 责任。这就是为什么许多现代站点都有存储库的原因。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,下午6:31
引用回复

不,加载模块中一次只有一个版本的程序。 PDS成员目录指向最新版本。如果压缩了PDS,则将回收替换成员所在的空间,并将其用于其他负载模块。
引用:
您能否告诉我这些信息将存储在哪个区域?
这还不清楚-您是否想知道CICS存储器的哪个区域存储了装载模块?您是否想知道在哪里定义CICS程序?您是否想了解PDS成员目录?

术语要点: 地址空间 是一个特定术语,表示IBM大型机上的特定事物。此含义与CICS如何在内存中维护程序无关。可以将z / OS上的地址空间分配给批处理作业,启动任务,CICS区域,Unix系统服务用户(或派生任务),TSO用户等等。地址空间具有用于公共代码的共享内存和专用用户内存。

是的,如果您执行500个程序,那么所有500个程序都将存储在CICS内存中。当CICS崩溃时,它们将从内存中删除。但是,如果同一事务执行500次,而该事务只是一个程序,而不是500个程序。在这种情况下,每个程序都是唯一的PPT(处理程序表)条目。
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

发布发表:2009年5月5日,星期二,下午6:53
引用回复

罗伯特

Sakthi kumar T让我想起了策划师。

我想知道Sakthi kumar T会给予什么样的回应,
除了咕gr声 ??
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,下午6:58
引用回复

大声笑没有办法告诉,家伙,没有办法告诉。也不确定我想知道! icon_biggrin.gif
回到顶部
查看用户资料 发送私信
姆巴布

活跃用户


已加入:2008年8月3日
帖子:401
地点:孟买

发布发表:2009年5月5日,星期二,8:17 pm
引用回复

CEMT SET PROGRAM PHASEIN的文档确实引用了多个正在加载的版本。看起来CICS可以保留已加载模块的多个版本(在存储中,而不在磁盘上!),并且仅允许对最新模块进行新访问。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,8:36 pm
引用回复

引用:
看起来CICS可以保留已加载模块的多个版本(在存储中,而不在磁盘上!),并且仅允许对最新模块进行新访问。
在手册中,只要RESCOUNT大于零,CICS就会保留旧版本。一旦最后运行的事务结束,并且RESCOUNT变为零,则从该点开始删除旧版本,并使用新版本。因此CICS可能会保留 两个(不多个) 程序的一些版本,但是这当然并不意味着您可以用它们做任何版本-您的事务正在使用旧的(因为在PHASEIN完成时它正在运行)或新的(因为PHASEIN完成后,交易被输入)。
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月5日,星期二,11:18 pm
引用回复

罗伯特先生,

引用:
在手册中,只要RESCOUNT大于零,CICS就会保留旧版本。一旦最后运行的事务结束,并且RESCOUNT变为零,则从该点开始删除旧版本,并使用新版本。


正如您所说,TRANSACTION结束后,RESCOUNT变为0。
因此,将自动删除较旧版本的加载模块。

现在假设如果我没有在CICS Region中安装程序,那么它将如何执行该程序,因为已经删除了旧版加载模块的引用? (因为RECOUNT COUNT为0)

这次我既不咕gr,也不用“呵”。 icon_confused.gif
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

发布发表:2009年5月5日,星期二,11:39 pm
引用回复

您好,

引用:
现在假设如果我没有在CICS Region中安装程序,那么它将如何执行该程序,因为已经删除了旧版加载模块的引用? (因为RECOUNT COUNT为0)
听起来您正在追尾巴。 。 。

如果程序的新版本/副本是 安装后,就不用担心了。不会有“旧”模块吗?

可能我错过了一些东西。 。 。 icon_confused.gif
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,11:42 pm
引用回复

引用:
现在假设我没有在CICS Region中安装程序
你打算怎么做?为了删除较旧版本的装入模块,您必须执行NEWCOPY或PHASEIN。 因此,您已经在CICS中安装了该程序。 据我所知,您不能取消NEWCOPY模块!

我怀疑如果您设法使该区域达到这一点,将会有一个SVC DUMP和一个CICS区域关闭....
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月5日,星期二,11:45 pm
引用回复

您说的就像我们使用(CEMT或CEDA INSTALL)安装程序时一样,RESCOUNT变为零。因此,将删除对旧版本加载模块的引用,并采用新版本的加载模块(从DFHRPL或动态LIBRARY串联,或使用LPA驻留版本,具体取决于PRIVATE或SHARED选项
在CEMT中)

现在我的问题是
1)旧版本的LOAD MODULE存放在哪里?
(就像更新的文件存储在DFHRPL或LPA中.....)
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月5日,星期二,11:57 pm
引用回复

引用:
现在我的问题是
1)旧版本的LOAD MODULE存放在哪里?
(就像更新的文件存储在DFHRPL或LPA中.....)
我认为您正在混淆内存和磁盘空间。如果周围有较旧的版本(并且正如我之前说的那样,它的完成时间不会超过完成事务所需的时间),则它位于CICS内存中-可能是ERDSA,但请不要在此引用我-就像新版本位于CICS内存中。老人 新版本可能来自DFHRPL或LPA(它们都是磁盘区域),但是一旦CICS有了它们,它们就会在CICS内存中的CICS控制下在CICS地址空间中运行;此时,它们在磁盘上的位置无关紧要。
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月6日星期三上午12:54
引用回复

是的,您100%正确吗?它们在CICS地址空间中运行(在CICS内存中的CICS控制下)
根据您的prevoius废料,我得到了存储较旧负载模块的区域的答案。
最后的疑问
CICS内存是否具有先前执行的程序的地址(对于ex程序:pgm1 trans id:trs1)
或加载模块的副本。

我相信它持有pgm1的装入模块的副本
如果您澄清这一点,那我将回答我的最后一个问题
我还要感谢每一个人回答的每一件事,因为你们人民已经花了您宝贵的时间& valuable time.! icon_smile.gif 也毫不犹豫
你们回答了。非常感谢。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月6日星期三凌晨1:08
引用回复

引用:
CICS内存是否具有先前执行的程序的地址(对于ex程序:pgm1 trans id:trs1)
或加载模块的副本。
是。 CICS维护它所知道的每个程序的指向程序地址的指针,作为PPT的一部分。该地址无效(表示该程序尚未从磁盘上加载)或内存位置。从该内存位置开始的是从磁盘(无论是DFHRPL还是LPA)加载的加载模块。加载到内存中的数据是磁盘数据的副本。注:内存中的地址不是磁盘位置,与装入模块所在的磁盘无关,而是仅指向CICS地址空间内的CICS内存位置的指针。

编译和链接代码时,您将替换DFHRPL或LPA模块。这对CICS内存中的加载模块的副本没有影响。仅当完成NEWCOPY或CICS关闭并备份时,它才会进入磁盘并发现修改后的代码。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

发布发表:2009年5月6日星期三凌晨1:40
引用回复

不用客气-祝你好运 icon_smile.gif

d
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月6日星期三凌晨1:41
引用回复

是的,我明白了 icon_smile.gif Thanks a lot.
现在我的最后一个问题:
如果我在CICS区域中执行pgm1,(这意味着可以从(LPAR或DFHRPL)获取pgm1的装入模块的副本,并将其存储在CICS MEMORY中)

所以我有pgm1,pgm2,............. pgm999,pgm100000
CICS内存中将有100000份加载模块副本。
假设是否有10万个不同的程序同时运行。显然CICS内存已满..?这可能是一个巨大的探索吧?

在这个时间点,内部会在CICS内部发生什么事情??? icon_confused.gif




icon_confused.gif icon_confused.gif icon_confused.gif
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2009年5月6日星期三凌晨3:51
引用回复

CICS的内存可能不足。这种情况称为存储短缺情况,在某些地区,这种情况每天都在发生(取决于程序的大小和正在运行的程序的数量,以及它们是24位还是31位等)。 CICS处理内存管理并识别何时发生存储不足(以及何时停止为SOS),因此尽管我不能肯定地说,从未使用过CICS内部系统软件,但我怀疑CICS可以处理过多的事务和程序。我不知道确切的机制-您必须与IBM讨论这个问题才能找到答案-但是这里有运行10,000个终端的区域,因此这里有处理大量工作的能力。

引用:
在这个时间点,内部会在CICS内部发生什么事情??? icon_confused.gif
您必须与IBM的CICS支持人员联系以获得此答案。根据您的支持合同,您可能会或可能无法获得答案。
回到顶部
查看用户资料 发送私信
特里·海因兹

JCL主持人


已加入:2008年7月14日
帖子:1249
地点:美国明尼苏达州里奇菲尔德

发布发表:2009年5月6日星期三9:00上午
引用回复

一次,在许多月前,当同一程序的多次执行被执行时,内存中只有1个PROCEDURE DIVISION副本,并且每个用户都有自己的WORKING STORAGE和COMMAREA副本。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

发布发表:2009年5月6日星期三上午9:09
引用回复

除非我错过了备忘录(这种情况越来越多 icon_smile.gif ),重入代码仍然可以这种方式运行。使用计数递增和递减以确定模块当前是否在“使用中”。

d
回到顶部
查看用户资料 发送私信
SakthikumarT

新的用户


已加入:2009年4月9日
帖子:50
地点:班加罗尔

发布发表:2009年5月6日星期三下午1点57分
引用回复

谢谢罗伯特先生。
您能否提供IBM的CICS支持链接。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> CICS 转到页面 1, 2  下一页

 


类似主题
话题 论坛 回覆
没有新帖 如何在BMS Ph中列出BMS MAP屏幕... CICS 2
没有新帖 作业正在加载多个模块的加载模块。 COBOL程式设计 12
没有新帖 无法编译模块 PL / I和组装商 6
没有新帖 需要有关大型机中DB2加载的帮助 DB2 5
没有新帖 我需要有关COBOL分析的帮助... 所有其他大型机主题 14
搜索我们的论坛:


回到顶部