Uni Hamburg Mainframe Summit 2010 z/os The Mainframe Operating Part 6 z/os Concepts Redelf Janßen IBM Technical Sales Mainframe Systems Redelf.Janssen@de.ibm.com Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.1
Unit objectives After completing this unit, you should be able to: Explain the different kinds of storage in a z/os system, their organization, and management Describe how batch work is passed to a z/os system and how it is handled and processed Indicate how data and programs are organized and stored in an z/os environment
Storage management Storage management Workload management Batch job management Data management Already coverd in another chapter
System z9 and zseries server storage, real and auxiliary z/architecture 64-bit address Currently, maximum 128 GB Central storage Addressable in 2 64 bytes Auxiliary Storage
Virtual storage z/architecture 64-bit address Address spaces Central storage Data spaces Auxiliary Storage Hiper spaces
Virtual storage usage Programs and data Address spaces Address spaces Data spaces Data only Hiper spaces May be Common area (for all users) Private area (for this user)
Address space layout z/os 64-bit tri-modal addressing 64-bit High storage The bar 31-bit The line Common Area Private 24-bit Area 0 Note: Not to scale. 8+ billion traditional address spaces in one 64-bit address space. (billion = million million) High Private Area Extended Private Area Extended Common Area 16 EB K - kilo - 2 10 M - mega -2 20 G -giga -2 30 T - tera - 2 40 P - peta - 2 50 E -exa -2 60 2 GB Above storage 16 MB
How virtual storage works Virtual storage is divided into 4-kilobyte pages Transfer of pages between auxiliary storage and real storage is called paging When a requested address is not in real storage, an interruption is signaled and the system brings the required page into real storage z/os uses tables to keep track of pages Dynamic address translation (DAT) Frames, pages, slots are all repositories for a page of information
How virtual storage works (continued )
Paging - Pages, Frames, and Slots The pieces of a program executing in virtual storage must be moved between real and auxiliary storage: A block of real storage is a frame. A block of virtual storage is a page. A block of auxiliary storage is a slot. A page, a frame, and a slot are all the same size: 4096 bytes (4 kilobytes). To the programmer, the entire program appears to occupy contiguous space in real storage at all times.
Creation of an address space Operating system itself System data spaces System address spaces JES VTAM DB2 IMS/CNT L IMS CICS Subsystems Users Applications TSO userid1 TSO userid2 Batch job1 Batch job2
Workload management Storage management Workload management Batch job management Data management
What is workload management? IMS CICS B A T C H? W L M??
Defining expectations for work Payroll batch job Internet purchasing transaction TSO user CICS production transactions CICS development transactions Other work Define business goals for the work Define importance of achieving the business goals
Resource distribution Address space 1 I/O devices Address space 2 Address space 3 Address space 4 Address space n SRM / WLM CPU Processor storage System resources
Workload distribution LOGON LOGON VTAM Which system? sysplex TSO/E WLM TSO/E WLM CF
Batch job management Storage management Workload management Batch job management Data management
Batch work JCL Submitter Program Input data sets Output data sets submit Input z/os Job execution Output Output data sets
Job control language - An example //IT23482C JOB ACCT,'HASSE TAUBE',REGION=0M,MEMLIMIT=16384P, // CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),NOTIFY=IT23482 //* This step allocates the data set referred to by BACKUPDS DD //STEP1 EXEC PGM=IEFBR14 //BACKUPDS DD DSN=IT23482.RTBF.BACKUP,DISP=(,CATLG),UNIT=SYSDA, // SPACE=(TRK,(15,15,20)),LRECL=80 //* This step copies INPUT DD data set into OUTPUT DD data set //STEP2 EXEC PGM=IEBCOPY //INPUT DD DSN=IT23482.RTBF,DISP=SHR //OUTPUT DD DSN=IT23482.RTBF.BACKUP,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY INDD=INPUT,OUTDD=OUTPUT SELECT MEMBER=(PAYROLL,EMPLOYEE,MORTGAGE) //*
Job Entry Subsystem (JES) JCL Spool JOB1 JOB3 JOB2 JOB4 JES Input Converter Job selection and execution Output Purge Initiators z/os Output data sets
Job Entry Subsystem 2 (JES2) JES2 MAS JES2 JES2 Spool JES2 CHECKPOINT
Job Entry Subsystem 3 (JES3) JES3 complex JES3 devices JES3 Global 5.1.1 Global JES3 5.1.1 Local Local X C F / X E S Spool CHECKPOINT X C F / X E S JES3 JES3 Local 5.1.1 Local
Data management Storage management Workload management Batch job management Data management
z/os data management Access methods MVS data sets Record-oriented (F(B), V(B), U) Two general methods VSAM (ESDS,KSDS,RRDS,LDS) non-vsam (SAM, PDS(E)) Data set name (maximum 44 characters) Location/attr. stored in catalog UNIX Services HFS / zfs files Byte-oriented Hierarchical file structure directory/subdir/filename path information maximum 1023 chars filename maximum 256 characters Stored in MVS container data sets
Layout of a sequential data set Record 1 Record 2 Record 3 Record 4 Record 5 Record 6 Record 7 Start of file Record n End of file
Layout of a partitioned data set Directory entries Entry for member A Entry for member B Entry for member C Entry for member D unused entries Member C Member B Space of deleted Member Member D Member D Space of deleted Member Member A Member A Free space
Partitioned data set extended Directory entries for Member A, B, C, D Member B Member D Free space of deleted Member Member D Free space Free space Member C Member E Member A Directory entries for Member E, X Member X Free space Free space
VSAM data sets VSAM I/O buffer R1 R2 R3 Rn VSAM DS Control Areas CI CI CICI CI CI CICI Application work area Virtual storage R2 CI Control Interval
VSAM data set types Entry-sequenced data set Record 1 Record 2 Record 3... Record n Key-sequenced data set Key Index Data Key Data... Key Data Record 1 Record 2 Record n Linear data set Relative record data set...unstructured bit-stream... Record Empty Record... Record Slot 1 Slot 2 Slot 3 Slot n Record 1 Record 2 Empty... Record n
Locating data sets VOL1 DS1 DS2 DS3 CATALOG DS1 VOL1 DS2 VOL1 DS3 VOL1 DS4 VOL2 VOL2 DS4
Master catalog Mcat volume VTOC VVDS Master catalog ALIASes User catalogs System DS System volume VTOC VVDS System DS User volumes VTOC VVDS User catalog User DS
Volume table of contents Volume label Data set a VTOC F4 F0 F1 F1 F1 Data set c Data set b
VSAM volume data set Volume A VVDS.A BCS.A DS1 BCS.A VVDS.A VVDS.B DS 1 DS 2 DS 3 DS 1 Volume B VVDS.B DS 2 DS 3 DS 2 DS 3
Catalog search order DESAILLY.TESTDS2 Master catalog DESAILLY MALDINI PANUCCI SYS1.NUCLEUS User catalog User catalog DESAILLY.PRODDS1 DESAILLY.TESTDS2 DESAILLY.USERPROF User catalog SYSRES DASD VTOC VVDS VTOC desailly.testds2 VVDS DESAILLY.TESTDS2
Allocation of data sets (DASD) JCL example (DD statement) //OUT DD DSN=USER1.DAILY.DATA,DISP=(NEW,CATLG), // UNIT=3390,VOL=SER=PROD01, // SPACE=(TRK,(50,30)),DCB=BLKSIZE=4096, // EXPDT=2008/180 Storage class Data class Management class
Device allocation with DFSMS Allocation request System Managed Storage Management class Data class Storage class Storage group Primary TEST LARGE Storage groups
Unit summary Key points from this unit: z/os supports central, auxiliary, and virtual storage, in 64-bit mode. Storage is allocated in 4 KB blocks: Central storage - frame Auxiliary storage - slot Virtual storage - page Batch work is defined to the system with JCL and is executed in an initiator address space. Data and programs are stored in data sets. Data sets are either VSAM or non-vsam.