64-Bit Real and Virtual Storage
64-Bit Real and Virtual Storage
64-Bit Real and Virtual Storage
Real Storage
64-bit addressing
Ease of migration
Application transparency
24- & 31-bit apps run unchanged
Sphere
31-bit Appl.
z/OS
z800/z900/z990
64-bit - 1-2
No change expected for applications and middleware No incompatible API changes No recompiles expected; 24- and 31-bit applications run unchanged Other system uses of expanded storage also re-implemented Even low level authorized services remain compatible
Products that depend on real addresses (LRA) Usually middleware Not usually used by customer applications Performance reporting tools or capacity planning tools Tools that need to monitor and report on the additional storage
64-bit - 3-4
Migration to zArchitecture
Systems Programmers: Configure all processor memory for the image as Central Storage Review LOADxx for correct initialization parameter Re-IPL the image Control access to storage (MEMLIMIT)
2 53 2 50
Area Reserved for Memory Sharing
2 42 2 41 2 32 2 31 0
Below 2GB
64-bit - 5-6
| 8 bits
Page Index
12
| 12 bits
Byte Index
20
Segment Index
31
11 bits
R2 Index
11 bits
R3 Index
11 bits
Segment Index
| 8 bits | 12 bits
Page Index
44
Byte Index
52 63
22
33
Decimal value
1,024 1,048,576 1,073,741,824 1,099,511,627,776 1,125,899,906,842,624 1,152,921,504,606,846,976
Power of 2
2**10 2**20 2**30 2**40 2**50 2**60
64-bit - 7-8
Examples
can be expressed as 2K. can be expressed as 4K. can be expressed as 64K. can be expressed as 16M. can be expressed as 2G. can be expressed as 8T. can be expressed as 16E.
64-bit - 9-10
2 53 2 50
Area Reserved for Memory Sharing (z/OS V1R5)
512TB
Addressability requires a Region 2nd table (R2T)
2 42 2 41 2 32 2 31 0
2TB
Addressability requires a Region 3rd table (R3T) The bar
16M - Line
Below 2GB
SGT
PGT
PAGE
PAGE
R3T R2T
SGT
PGT
16E Exabytes
8P Petabytes
4T Terabytes
2G Gigabytes
1M Megabytes 4K Kilobytes
2 64
2 53
2 42
2 31
2 20
2 12
64-bit - 11-12
New assembler macro instructions to allocate and manipulate virtual storage above 2GB To reference storage above 2G, a program must switch into 64-bit addressing mode (AMODE 64)
Memory Objects
z/OS virtual memory above 2GB is organized as Memory objects Memory objects are a contiguous range of virtual addresses created by a program Allocated as a number of 1 MB chunks of storage starting on a 1MB boundary Some of the memory is usable virtual storage. Remainder is not valid and is called the guard area (can be zero) The extent of the usable virtual can be changed, with a compensitory change in the extent of the guard area Shared Memory Object No Guard Area support
64-bit - 15-16
Memory Objects
1 megabyte boundary
Usable Area
1 megabyte boundary
Guard Area
64-bit - 17-18
64-bit - 19-20
Memory object
High
Low
Guard Area
Low
GUARDLOC=LOW CONVERT(TOGUARD)
High
Usable Area
GUARDLOC=HIGH CONVERT(FROMGUARD)
High
Guard Area
CHANGEGUARD modifies
size of usable/guard area
Low
Guard Area Usable Area
Low
Memory Object
Usable Area Guard Area 2
Virt64_GuardAddr
Usable Area
Guard Area
64-bit - 21-22
Usable Area
Guard Area
64-bit - 23-24
any
one time
The limit is 0 unless specified through either:
The new SMF MEMLIMIT parameter, or The new MEMLIMIT keyword on JCL, and Can be overridden by an IEFUSI exit
64-bit - 25-26
64-bit - 27-28
C C C
* END EXIT LINKAGE @DATA DS 0D MO_SIZE DC FD'4' U_TOKEN DC FD'1' DATA DC C'DATA ABOVE THE BAR'
MEMORY OBJECT IS 4 MB
64-bit - 29-30
64-bit - 31-32
64-bit - 33-34
64-bit - 35-36
64-bit - 37-38
64-bit - 39-40