Virtual storage
The memory each address space sees, which z/OS maps onto real memory and disk so that every program appears to have its own large space.
Also written virtual memory, the line, the bar, below the line, above the bar
Virtual storage is the memory a program sees. Each address space has its own range of addresses, and z/OS maps those addresses onto real memory. Parts that are not being used can be moved out to disk, called paging, and brought back when needed.
Mainframe people describe the address range with two boundaries. "The line" is at 16 megabytes, the limit for very old 24-bit programs. "The bar" is at 2 gigabytes, the limit for 31-bit programs. Above the bar is 64-bit storage. You will hear phrases like "this program runs below the line", which tell you which part of storage it can use.
A job can limit how much storage its steps may use with the REGION parameter in JCL. If a program asks for more than it is allowed, it ends with an abend such as 878 or 80A.
For most work you can treat virtual storage as "the memory my program has". It matters when a program runs out of storage, or when you read older code that has to stay below the line.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- Address spaceAn isolated pocket of memory in which a program runs, so that one program cannot interfere with another.
- z/OSThe main operating system that runs on IBM mainframes, in the same way Windows or Linux runs on a laptop or server.
- AbendAn abnormal end: a program stopping in an uncontrolled way rather than finishing and reporting a result.
- Job stepOne program execution within a job. A job is simply a sequence of steps that run in order.
- EXEC statementThe JCL statement that starts a step by naming the program or procedure to run.