Introduction To The New Mainframe: Z/OS Basics

Transcription

International Technical Support OrganizationIntroduction to the New Mainframe: z/OS BasicsJuly 2006SG24-6366-00

Note: Before using this information and the product it supports, read the information in“Notices” on page 635.First Edition (July 2006) Copyright International Business Machines Corporation 2006. All rights reserved.Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADPSchedule Contract with IBM Corp.

ContentsPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiHow this text is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiHow each chapter is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiAbout the authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiAcknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiComments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviPart 1. Introduction to z/OS and the mainframe environmentChapter 1. Introduction to the new mainframe . . . . . . . . . . . . . . . . . . . . . . . 31.1 The new mainframe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 The S/360: A turning point in mainframe history . . . . . . . . . . . . . . . . . . . . . 41.3 An evolving architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Mainframes in our midst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.5 What is a mainframe? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.6 Who uses mainframe computers?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.7 Factors contributing to mainframe use . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.8 Typical mainframe workloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.9 Roles in the mainframe world . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.10 z/OS and other mainframe operating systems . . . . . . . . . . . . . . . . . . . . 281.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.12 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321.13 Topics for further discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Chapter 2. Mainframe hardware systems and high availability . . . . . . . . 352.1 Introduction to mainframe hardware systems . . . . . . . . . . . . . . . . . . . . . . 362.2 Early system design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.3 Current design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.4 Processing units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.5 Multiprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.6 Disk devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.7 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.8 What is a Parallel Sysplex?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.9 Typical mainframe systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582.10 Continuous availability of mainframes. . . . . . . . . . . . . . . . . . . . . . . . . . . 632.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702.12 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.13 Topics for further discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.14 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Copyright IBM Corp. 2006. All rights reserved.iii

Chapter 3. z/OS overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.1 What is an operating system? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.2 What is z/OS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.3 Overview of z/OS facilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.4 Virtual storage and other mainframe concepts . . . . . . . . . . . . . . . . . . . . . 833.5 What is workload management? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.6 I/O and data management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073.7 Supervising the execution of work in the system . . . . . . . . . . . . . . . . . . 1073.8 Defining characteristics of z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173.9 Additional software products for z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183.10 Middleware for z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193.11 A brief comparison of z/OS and UNIX. . . . . . . . . . . . . . . . . . . . . . . . . . 1203.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233.13 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253.14 Topics for further discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Chapter 4. TSO/E, ISPF, and UNIX: Interactive facilities of z/OS . . . . . . 1274.1 How do we interact with z/OS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.2 TSO overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.3 ISPF overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334.4 z/OS UNIX interactive interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1514.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584.6 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1594.7 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160Chapter 5. Working with data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655.1 What is a data set? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665.2 Where are data sets stored? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675.3 What are access methods?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1685.4 How are DASD volumes used? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1685.5 Allocating a data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1695.6 How data sets are named . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1705.7 Allocating space on DASD volumes through JCL . . . . . . . . . . . . . . . . . . 1715.8 Data set record formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1735.9 Types of data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1765.10 What is VSAM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.11 Catalogs and VTOCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1835.12 Role of DFSMS in managing space . . . . . . . . . . . . . . . . . . . . . . . . . . . 1885.13 z/OS UNIX file systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1895.14 Working with a zFS file system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1925.15 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935.16 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1945.17 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195ivIntroduction to the New Mainframe: z/OS Basics

5.18 Listing a data set and other ISPF 3.4 options . . . . . . . . . . . . . . . . . . . . 199Chapter 6. Using JCL and SDSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2016.1 What is JCL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026.2 JOB, EXEC, and DD parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2046.3 Data set disposition, DISP parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 2066.4 Continuation and concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2086.5 Why z/OS uses symbolic file names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2096.6 Reserved DDNAMES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2116.7 JCL procedures (PROCs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126.8 Understanding SDSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2156.9 Utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2206.10 System libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2206.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2216.12 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2216.13 Topics for further discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2226.14 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Chapter 7. Batch processing and JES. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317.1 What is batch processing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327.2 What is JES?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2337.3 What does an initiator do?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2357.4 Job and output management with JES and initiators . . . . . . . . . . . . . . . 2367.5 Job flow through the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2437.6 JES2 compared to JES3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2467.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477.8 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487.9 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Part 2. Application programming on z/OSChapter 8. Designing and developing applications for z/OS . . . . . . . . . 2578.1 Application designers and programmers. . . . . . . . . . . . . . . . . . . . . . . . . 2588.2 Designing an application for z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2598.3 Application development life cycle: An overview . . . . . . . . . . . . . . . . . . . 2618.4 Developing an application on the mainframe . . . . . . . . . . . . . . . . . . . . . 2668.5 Going into production on the mainframe . . . . . . . . . . . . . . . . . . . . . . . . . 2738.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2748.7 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Chapter 9. Using programming languages on z/OS. . . . . . . . . . . . . . . . . 2779.1 Overview of programming languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 2789.2 Choosing a programming language for z/OS . . . . . . . . . . . . . . . . . . . . . 2799.3 Using Assembler language on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280Contentsv

9.4 Using COBOL on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2829.5 HLL relationship between JCL and program files . . . . . . . . . . . . . . . . . . 2899.6 Using PL/I on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2909.7 Using C/C on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2949.8 Using Java on z/OS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2949.9 Using CLIST language on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2969.10 Using REXX on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2999.11 Compiled versus interpreted languages . . . . . . . . . . . . . . . . . . . . . . . . 3019.12 What is z/OS Language Environment? . . . . . . . . . . . . . . . . . . . . . . . . . 3029.13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3109.14 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3119.15 Topics for further discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312Chapter 10. Compiling and link-editing a program on z/OS . . . . . . . . . . 31310.1 Source, object, and load modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31410.2 What are source libraries? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31410.3 Compiling programs on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31510.4 Creating load modules for executable programs. . . . . . . . . . . . . . . . . . 33210.5 Overview of compilation to execution . . . . . . . . . . . . . . . . . . . . . . . . . . 33610.6 Using procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33710.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33810.8 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33910.9 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339Part 3. Online workloads for z/OSChapter 11. Transaction management systems on z/OS. . . . . . . . . . . . . 34911.1 Online processing on the mainframe. . . . . . . . . . . . . . . . . . . . . . . . . . . 35011.2 Example of global online processing - the new big picture . . . . . . . . . . 35011.3 Transaction systems for the mainframe . . . . . . . . . . . . . . . . . . . . . . . . 35211.4 What is CICS?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35711.5 What is IMS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37211.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37611.7 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37711.8 Exercise: Create a CICS program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378Chapter 12. Database management systems on z/OS . . . . . . . . . . . . . . . 38112.1 Database management systems for the mainframe . . . . . . . . . . . . . . . 38212.2 What is a database? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38212.3 Why use a database? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38312.4 Who is the database administrator? . . . . . . . . . . . . . . . . . . . . . . . . . . . 38512.5 How is a database designed? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38612.6 What is a database management system? . . . . . . . . . . . . . . . . . . . . . . 38912.7 What is DB2? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391viIntroduction to the New Mainframe: z/OS Basics

12.8 What is SQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39712.9 Application programming for DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40412.10 Functions of the IMS Database Manager . . . . . . . . . . . . . . . . . . . . . . 40912.11 Structure of the IMS Database subsystem . . . . . . . . . . . . . . . . . . . . . 40912.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41312.13 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41412.14 Exercise 1 -- Use SPUFI in a COBOL program . . . . . . . . . . . . . . . . . 415Chapter 13. z/OS HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42113.1 Introduction to Web-based workloads on z/OS . . . . . . . . . . . . . . . . . . . 42213.2 What is z/OS HTTP Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42213.3 HTTP Server capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42613.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43013.5 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43013.6 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430Chapter 14. WebSphere Application Server on z/OS . . . . . . . . . . . . . . . . 43314.1 What is WebSphere Application Server for z/OS? . . . . . . . . . . . . . . . . 43414.2 Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43514.3 Nodes (and node agents) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43514.4 Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43514.5 J2EE application model on z/OS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43614.6 Running WebSphere Application Server on z/OS. . . . . . . . . . . . . . . . . 43714.7 Application server configuration on z/OS . . . . . . . . . . . . . . . . . . . . . . . 44114.8 Connectors for Enterprise Information Systems . . . . . . . . . . . . . . . . . . 44314.9 Questions for review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448Chapter 15. Messaging and queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44915.1 What WebSphere MQ is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45015.2 Synchronous communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45015.3 Asynchronous communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45115.4 Message types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45215.5 Message queues and the queue manager . . . . . . . . . . . . . . . . . . . . . . 45315.6 What is a channel? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45515.7 How transactional integrity is ensured. . . . . . . . . . . . . . . . . . . . . . . . . . 45515.8 Example of messaging and queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . 45615.9 Interfacing with CICS, IMS, batch, or TSO/E . . . . . . . . . . . . . . . . . . . . 45815.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45815.11 Questions for review . . . . . . .

Introduction to the New Mainframe: z/OS Basics July 2006