View previous topic :: View next topic
|
Author |
Message |
eeks
New User
Joined: 06 Jul 2005 Posts: 3
|
|
|
|
Hi guys,
Can any one please tell me what is 16MB line ,RMODE and AMODE and where exactly should i use these options?
It would be of immense help if you could provide any links regarding the same.
Thanks in advance,
Arun |
|
Back to top |
|
|
dneufarth
Active User
Joined: 27 Apr 2005 Posts: 419 Location: Inside the SPEW (Southwest Ohio, USA)
|
|
|
|
and your search of the cobol manuals revealed what? |
|
Back to top |
|
|
dneufarth
Active User
Joined: 27 Apr 2005 Posts: 419 Location: Inside the SPEW (Southwest Ohio, USA)
|
|
|
|
sorry, make that search of the forums not cobol manuals |
|
Back to top |
|
|
DavidatK
Active Member
Joined: 22 Nov 2005 Posts: 700 Location: Troy, Michigan USA
|
|
|
|
Arun,
A long time ago, in the prehistoric days of IMB mainframes, the largest address you could access was 24 bits in length x?FFFFFF? = 16777215 = 16MB. Today, we can access 31 bit addresses, x?7FFFFFFF? = 2147483647 = 2GB.
The AMODE/RMODE are linkage edit parameters that tell the operating system where your program can Run, either below the 16MB line only, or it can run below or above the 16MB line. It also tells the operating system if your program can Access data above the 16 MB. Depending on your parameters, your program will be assembled into an executable module differently.
Why don?t we always specify that the program can Run and Access data above the 16MB line? Most of the reasons are the other programs you are calling. If the program you are calling has not the ability to access data above the 16 MB line, your data must stay below, A lot of legacy programs/subroutines are still compiled/linked to run only below the 16MB line. There are also some performance issues that you may investigate. The operating system (MVS) runs below the 16MB line, and depending on your site configuration, it could leave only 8MB of storage for you to use.
One of the reasons that could force you above the 16MB line is the size of the working storage in your program. If you use very large COBOL tables then the size of the WS + executable code may be more than is available below the 16MB line.
This can cause a perplexing problem. What if the working storage area in your program is to large to fit below the 16MB line, and you must call a subroutine that cannot access data above the 16MB line????????????
I think that most of the time today, the executable code runs below the 16MB line and the Data is above the Line. This seems to be, in my experience, the most common configuration.
Dave |
|
Back to top |
|
|
Ganesh Kalam Warnings : 1 New User
Joined: 11 Aug 2005 Posts: 45 Location: India
|
|
|
|
What if the working storage area in your program is to large to fit below the 16MB line ?
How to handle this scenario |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
Try sticking to a thread, your thread?
If you manage to create a WS too large to fit below the line, you had better have it above the line.... |
|
Back to top |
|
|
Ganesh Kalam Warnings : 1 New User
Joined: 11 Aug 2005 Posts: 45 Location: India
|
|
|
|
What can be the maximum size of a working storage section ?? |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
Try sticking to a thread, your thread?
One more time and ! You have been warned.
Look at the Fine Manual |
|
Back to top |
|
|
|