z13 and z14 system hardware, I/O and storage technologies, memory and task management, virtualization and cloud computing, hands-on SDSF system information, JCL, Putty and USS

profileALexshmny7
Assignment2TheorySummer2018.docx

Contents Assignment 2 Theory Introduction 4 Researching Your Answers 4 A Little Advice Before you start 5 Demonstrating Knowledge and Increased Penalties for Irrelevant Answers 6 You Must Submit YOUR Answer in this Original Word Document to Blackboard 6 You Must RENAME this Original Word Document to Include your LAST NAME 7 NEVER submitted an Assignment as an Email Attachment 7 ONLY Submit a FINAL Version of ALL Assignment 7 Requests to Clear Previously Assignments for Re-Submission 7 Submitting Late Assignments 7 Academic Integrity and Plagiarism 8 How to complete Content Questions 9 1.0 z13 System Hardware, I/O and Storage Technologies 10 1.1 Question - z13 System Hardware Concepts 11 1.2 Questions - z13 System Frames 13 1.3 Questions - Z13 CPC Drawers 14 2.0 z13 System External I/O Connectivity and Storage 17 2.1 Questions - PCIe Interfaces 17 2.2 Questions - Legacy CHPIDs, Physical I/O Addresses and Device Numbers 18 2.3 Questions - Storage Area Network (SAN) 19 3.0 – Memory Management, Task Management and Control Blocks 20 3.1 Questions – Introduction to Memory and task Management 20 3.2 Questions - Control Blocks 22 3.3 Questions - Program Status Word (PSW) 24 3.4 Memory Isolation 25 3.5 Storage Protect Keys 25 3.5 Questions – Memory Isolation and Storage Protect Keys 27 4.0 z System Virtualization, Sysplex and Parallel Sysplex 28 4.1 Questions – Introduction to Virtualization 28 4.2 Questions - Server Virtualization Technologies 30 4.3 Server Virtualization and Cluster Technologies 31 4.4 Server Virtualization and Cluster Technologies 32 5.0 - Virtual Memory Operating Systems, Virtual Addresses and Paging 34 5.1 Questions – Virtual Memory Operating System 35 5.2 Dynamic Address Translation 36 5.3 Questions - Format of a Virtual Address 37 Frames, pages and slots 38 5.2 Questions - z/OS Virtual Paging Concepts 39 5.0 Hexadecimal 40 5.1 Hexadecimal Number System 40 5.2 Displaying Hexadecimal Values when Using the ISPF Editor 42 5.3 Viewing Hidden Characters with Word 44 5.4 Other uses for Hexadecimal Notation 45 5.5 Questions – Hexadecimal 46 6.0 - Interrupt Processing, Serialization and System Messages 48 6.1 z/OS Interrupt Processing 48 6.2 Preemptable versus non-preemptable 50 6.3 Serializing the use of resources 50 6.4 Questions - Interrupt Processing and Multiprogramming 50 6.5 Questions - Types of z/OS Interrupts 51 6.6 Questions -Resource Serialization and Locking 52 6.7 Question - JES System Message format 53 7.0 Job Control Language 54 7.1 Questions - Introduction to JCL 55 7.2 Questions - JCL JOB Statement 58 7.3 Questions - JCL EXEC Statement 65 7.4 Questions - Return Codes and the JCL COND parameter 67 7.5 Question - JCL DD Statement 72 7.6 Questions - JCL Concatenation 76 7. 7 Questions - Find the JCL Error 77 7.8 JOBLIB, JOBCAT, STEPLIB, STEPCAT 78 7.9 Questions – Reserved DD names 79 7.10 Questions – Instream Data and Cataloged Procedures 80

Enter your Name Here

Assignment 2 Theory Introduction

Researching Your Answers

Most requirements of this assignment will require you to research answers from your text book (you must read the text book to get some answers), from the Internet, from a video or any other reasonable source. Many Internet sources, video links, text book and Blackboard presentations are provided in this document to help you START your research.

Assignments are always a great place to read and reference your text book. May students assume that they should start by reading the text book. While this reading the text book is ALWAYS at great idea, the following assignment questions may help you focus on what is important in this course . One strategy is to review an assignment question for important keywords, e.g., multitasking, Procedure Division, virtualization, etc. Then look for those key words in either 1) your text book "detailed" table of contents in the beginning of the book, or 2) in the index at the end of the book. Some text books have key word glossaries at the end of the chapter or end of the book.

Every semester the Internet sources, e.g., a Google keyword search, or Internet video, e.g., a YouTube keyword search may be improved. Better students start with research sources provided in this assignment, and then search for improved or updated answers. While your objective may be to demonstrate your knowledge to EARN an excellent grade on this assignment, better students are always looking towards the future to impress internship and career recruiters for those interesting and high entry-level salaries. Employers don't pay you for a grade in any single class or assignment. Employers will pay you BIG MONEY for demonstrated knowledge or skills. Hopefully, this assignment will prepare you.

A single research source maybe very incomplete or the format or the content may not be appropriate for some required answers. Some students do not READ the text book or review the Blackboard presentations provided to you in Blackboard. Some answers are only available from Blackboard presentations or update documents. When assignment requirements may be only answered by viewing a YouTube video, you will be notified.

You may cut-and-paste answers whenever appropriate. You MUST synthesize your answers to include multiple sources. I would be impressed that you consult a Google image search and paste and appropriate image to supplement your answer.

While I permit cut-and-paste, I do expect you use your own words so that you:

1. Organize the answer

2. Demonstrate that you have read what you have cut-and-pasted

3. Use any means that clearly displays that you have gained knowledge.

A Little Advice Before you start

There is NO requirement to read each reference link or view each video in detail. Some of the links will have overlapping content. Some links will provide more information than the question requirements, but employers consider these topics to be minimal knowledge of a RMU CIS graduate.

It is recommended to visit each reference link and overview the content. Then read each question and return to each reference link or video as needed. You may supplement your answers with content from your text book by using a question keyword and looking up in the glossary or index in the back of the book. PDF text books can be easily searched for keywords.

It is not required to read your text books before working on this assignment unless specified in a requirement. Text book contents are used to support quiz questions (which contain the answers), which are used on the tests. The reference links and videos are excellent resources.

The topics presented in the course assignments have been highly recommended by two or more employers who recruit RMU CIS students as minimum computer hardware, operating system, and application development knowledge. Employers expect that students should be able to present one or two sentences of the majority of keywords applicable to job requirements in a face-to-face interview.

On the other hand, each assignment is allocated 100 points out of a total of 1000 points. The number of questions or hands-on activity on each assignment varies. Assume that an average assignment has 50 requirement questions. This means that a requirement may be worth 2 points towards your final grade. The bottom line is that missing a few questions will have little effect of your assignment or final grade. Not completing an assignment will generally decrease your final grade by at least a letter grade. Do not waste time on the small problems.

Demonstrating Knowledge and Increased Penalties for Irrelevant Answers

If you can DEMONSTRATE your knowledge of the topic for the requirement there will be no penalty for your answer. It is not the intention of this assignment to be "not picky". Parital credit will be awarded as appropriate.

If you cut-and-paste and pray that your instructor will not read your inappropriate and irrelevant answer, the question will be penalized by increasing the deduction points beyond the original requirement points. The instructor hates irrelevant cut-and-paste BS, or answers that appears that the student is guessing and hopes the instructor does not read the answer.

The instructor reserves the right to increase the penalty for any submitted question or assignment that may be construed as "wasting the instructor's time". Therefore, a four-point requirement may be penalized as six-points (two additional point penalty for wasting the instructor's time). Sometimes blank answers will earn you’re a high assignment grade than BS answers. For example, a submitted 100-point assignment may be penalized as 125 minus points when your final grade is calculated for any assignment that should have never been submitted in the first place.

You Must Submit YOUR Answer in this Original Word Document to Blackboard

This Assignment Word Document will contain hidden markers that may be used to detect plagiarism and provide an audit trail of those who may have modified the Word document. Many students in my classes work very hard to complete and learn from their assignments. It is not fair to those students who have professionally demonstrated their knowledge to receive the same grade as those who have plagiarized their assignments

You MUST answer ALL requirement in this Word document and ONLY THIS Word Document. You MAY NOT use or edit any other word processor, except any version of Microsoft Word.

Do not use GOOGLE DOCS or Open Office DOCX files at any time. If you use any other Word Processor you will be assigned ZERO credit.

If you do not have a copy of WORD, you may use VMWARE VIEW (available from the RMU website) to access a virtual lab computer which contains any software needed for this course.

http://www.rmu.edu/web/cms/departments-offices/administration-services/it/Pages/vmware-view.aspx

NEVER STORE ANY DOCUMENTS ON THE DESKTOP OF VMWARE VIRTUAL COMPUTER. You will lose your document. It is preferable to store your documents on RMU Drive U: If necessary you can email the document to yourself.

You Must RENAME this Original Word Document to Include your LAST NAME

YOU MUST enter your name in the beginning of this document as provided and "Save As" this document using a new name that starts with your LAST NAME, assignment number and semester, e.g., Jones Assignment 1 Fall 2016.docx

If you do not rename your document your assignment will be penalized by 10%.

NEVER submitted an Assignment as an Email Attachment

All assignments are to be submitted to the instructor by using the Assignment Link in the Blackboard system. Assignments submitted as an email attachment will NOT be graded. THE INSTRUCTOR NEVER ACCEPTS ANY ASSIGNMENT AS AN EMAIL ATTACHMENT FOR ANY REASON.

ONLY Submit a FINAL Version of ALL Assignment

Never submit an incomplete assignment for grading. Only submit your final version of ALL assignment documents for grading. You can only submit an Assignment once.

Requests to Clear Previously Assignments for Re-Submission

If you make an error submitting an assignment you must contact the instructor to clear your previous assignment submission. If you made an error on any assignment you may request that the previous assignment submission be cleared so that you may resubmit the assignment again. Please only submit a completed assignment.

Submitting Late Assignments

While the assignments have a recommended due date, the instructor does not penalized your assignment grade if you are slightly late. Please do not send the instructor an email if you are going to submit your assignment late. The instructor is flexible and assumes you have a good excuse. But, after you are more than two weeks late the instructor does reserve to penalize the assignment or not accept the assignment if this late submission is unfair to other students enrolled in the course who had completed their assignments on time.

It has been the experience of the instructor that students who are excessively or consistently late asks a friend to provide them a copy of their assignment which will violate the RMU Academic Integrity Policy. (Please carefully read the next section!) If a friend asks you for a copy of your assignment "to get an idea what the instructor wants", you are risking a zero assignment grade, an F final grade, or a RMU Academic warning or suspension.

Academic Integrity and Plagiarism

When an instructor has possession of an electronic document it is easy to detect plagiarism. Microsoft Word provides a variety of FREE anti-plagiarizing tools. The content of your submitted Assignment WORD document will be COMPARED to each other student who has submitted this assignment in the current class or any previous class as time permits. The content of each student's assignment may NOT be copied from any other current or past student enrolled in this class. Each assignment is to be prepared by ONE student. Assignments are NOT a group-prepared assignment.

Some students may attempt to SAVE AS another student's completed assignment and rename it using their name. Some students may attempt to Cut-and-Paste answers from one student's assignment document to another student's assignment document. But as time permits, the forensic tools used to compare ALL student's assignments with other assignment will often detect anomalies which will provide absolute proof of plagiarism. On-ground tests may be used to compare the student’s knowledge to performance on assignments. All acts of plagiarism and forensic data will be submitted the RMU Academic Integrity Board to determine university-wide penalties, such as grade penalties, warnings, suspension, and change of a previous course grade for previous course students. All current and previous students involved in the plagiarism may be affected RMU Academic Integrity Board.

If a friend asks you for a copy of your assignment "to get an idea what the instructor wants", you are risking a zero assignment grade, an F final grade, or a RMU Academic warning or suspension. You are responsible to protect your assignment Word Document.

You, however, may discuss assignment requirements, provide research assistance, assist other students to debug programs or other hands-on-requirements, tutor students, or provide other advice that may assist the students in acquiring knowledge. But the actual preparation of an individual assignment must have been completely prepared by the student who submitted the assignment. Sections of the assignments may be copied from the internet as per the individual assignment's directions. Please contact the instructor if you need assistance interpreting this RMU Academic Integrity Policy. (Ref.16-1.)

Many believe that if you a "stupid" enough provide another student, whom may compete with you for a future internship or career, a copy of your assignment, then you deserve the same penalty as the other student. If you are a "real" friend, tutor your friend.

The instructor reserves the right to require face-to-face hands-on demonstrations or face-to-face tests to provide additional evidence to be submitted to the RMU Academic Integrity Board.

How to complete Content Questions

Review questions are also be provided at the end of the tutorial. The following is an example of a review question format. Since type the answer in provided grey or colored box.

1. What is the purpose of a partitioned data set? Answer:

Type in the answer to the question into the grey or colored box.

It is recommended that you use Table of Contents at the beginning of the tutorial to review and navigate to the concept presented in the review question. Students will find that using the document FIND tool or searching GOOGLE may also be valuable for researching the review question answer.

You MUST type or paste your answer in the box or table area provided, else you will receive ZERO credit. Simply position the cursor inside box or table and type or paste your answer.

1.0 z13 System Hardware, I/O and Storage Technologies

Read the Introduction to the System z13 Architecture Document

Read the Virtualization and Cloud Computing Document

IBM z13 Mainframe - www.slideshare.net/DarrenDonaldson/ibm-z13-mainframe

Z13 update - http://www.slideshare.net/StigQuistgaard/z13-update

The IBM z13 – Server - http://www.vmworkshop.org/docs/2015/r9fgSpBF.pdf

Bus and Tag Channels http://en.wikipedia.org/wiki/IBM_System/360#Channels

ESCON - http://en.wikipedia.org/wiki/ESCON

FICON - http://en.wikipedia.org/wiki/FICON

Channel subsystem (CSS) - http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.znetwork/znetwork_59.htm

IBM Storage - http://www-03.ibm.com/systems/storage/disk/

IBM Storage - https://en.wikipedia.org/wiki/IBM_Storage

1.1 Question - z13 System Hardware Concepts

1. Describe or define the following z System Mainframe Concepts using the following table.

z13 System Hardware Concepts

Concept

Description

Drawer

Busses

PU Processor

Storage Controller

DDR3

Sysplex

Coupling Facility Processor

Channel Subsystem

Node

IBM DS8000 Storage Server

IBM XIV

.Summer 2018

RAIM

IBM Flash Express

.Summer 2018

OSA

Opens System Adapter

FICON Express 16s

PCIe Drawers

.Summer 2018

1.2 Questions - z13 System Frames

2. An IBM mainframe design is based on a two-frame (storage rack) design, which are named the A-Frame and the Z-Frame. (See previous image.) List the mainframe hardware components that are normally installed in the A-Frame. Answer:

.Summer 2018

3. (See previous image.) List the mainframe hardware components that are normally installed in the z-Frame. Answer:

.Summer 2018

1.3 Questions - Z13 CPC Drawers

4. IBM z13 processor technologies are stored in a packaging unit called a "drawer". List the hardware components normally found in a z System book packaging unit. Answer:

.Summer 2018

5. What are the maximum number of "drawers" that may be installed in an IBM z 13 mainframe? Answer:

.Summer 2018

6. What are the differences between a z13 drawer and a z13 nodes? Answer:

.Summer 2018

7. List the total amount of system memory that can be installed z13 Mainframe and a CPU drawer? Answer:

IBM z13 Performance: The Benefits of Large Memory - http://mainframeinsights.com/ibm-z13-performance-benefits-large-memory/

Benefits of Configuring More Memory in the IBM z/OS Software Stack - http://www.redbooks.ibm.com/redpapers/pdfs/redp5238.pdf

8. List at least four advantages of using large memory? Answer:

9. List the maximum number of z13 CPU drawers that can be installed in a mainframe? Answer:

10. List the maximum number of processors that can be installed/activated in a z13 CPU drawer. Answer:

11. List the maximum number of cores in z/13 processors. Answer:

12. What is the difference between a z13 Physical Unit (PU) processor and a Storage Controller (SC) processor? Answer:

13. Compare the performance of z13 Physical Unit (PU) processors to Intel, AMD, etc., processor performance of in terms of general purpose and specialize workloads? Answer:

14. Explain the concept of Spare processors? Answer:

15. What are the advantages of Capacity-on-Demand processors and cores? Answer:

16. Which type of communication technology is used to interconnect z13 CPU drawers and external I/O technology? Answer:

17. What are the advantages of using IBM Flash Express? Answer:

18. Compare the access speeds between z13 DDR3 RAIM System Memory, IBM Flash Express, and external solid state drives. Answer:

19. Describe the functions and advantages of IBM zAware technologies. Answer:

20. List the communication technology used to interconnect z 13 CPC drawers. Answer:

2.0 z13 System External I/O Connectivity and Storage

Read the Introduction to the System z13 Architecture Document

Read the Virtualization and Cloud Computing Document

2.1 Questions - PCIe Interfaces

1. What is the difference between a z13 CPU Drawer and z12 PCIs Drawer? Answer:

.Summer 2018

2. List the three technology components of a PCIe Adaptor. Answer:

.Summer 2018

3. What are the advantages of using the z13 PCIe Fanout Adaptors? Answer:

.Summer 2018

4. What are the differences between a PCIe FICON Adaptor and a PCIe OSA Adaptor? Answer:

.Summer 2018

5. List four or more examples of the functions of PCIe OSA Adaptor in a data center. Answer:

.Summer 2018

2.2 Questions - Legacy CHPIDs, Physical I/O Addresses and Device Numbers

Enterprise System Connection - http://www.hill2dot0.com/wiki/index.php?title=ESCON

6. What is the function of CHPIDs or PHHIDs? Answer:

.Summer 2018

7. What is a Physical I/O address? Answer:

.Summer 2018

8. What are the components of a Physical I/O address? Answer:

.Summer 2018

.Summer 2018

9. What is the difference between a Device Number and a Physical I/O address? Answer:

What an I/O configuration is? - http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ieag800/iea2g89006.htm

10. Where are device numbers defined? Answer:

.Summer 2018

11. What is the function of a unit control block (UCB)? Answer:

.Summer 2018

2.3 Questions - Storage Area Network (SAN)

Most modern large scale architectures are based on SAN architectures or Storage Virtualization. SAN devices are no longer directly attached to the server, and can be shared by multiple servers using a variety or operating systems over long distances. Without SAN technologies, load balancing, fail over, data sharing, cloud computing technologies would not be possible

Fibre Channel Storage Area Networks (SAN) - http://www-03.ibm.com/systems/storage/san/

Start at page 31 Introduction to Storage Area Networks and System Networking - http://www.redbooks.ibm.com/redbooks/pdfs/sg245470.pdf

Video - NAS and SAN Introduction (Eli the Computer Guy) - https://www.youtube.com/watch?v=csdJFazj3h0

Video - Storage Virtualization - https://www.youtube.com/watch?v=-NeMJFT55YU

Video - What is iSCSI and how to use it - https://www.youtube.com/watch?v=pG2H-WatFbo

Video - Introduction to Storage Area Networks (SAN) - https://www.youtube.com/watch?v=teEsgqI49Dk

SAN Explained - Storage (or System) Area Networks - https://www.lifewire.com/definition-of-san-818007

10 Advantages of SAN vs. DAS - http://www.serverwatch.com/trends/article.php/3925351/10-Advantages-of-SAN-vs-DAS.htm

Advantages of using a Storage Area Network - http://blog.dnfcorp.com/?p=2063

Video - Introduction to Storage Area Networks (SAN) - https://www.youtube.com/watch?v=teEsgqI49Dk

11. What is a Storage Area Network (SAN)? Answer:

12. What are the components of a SAN network? Answer:

13. List 5 or more reasons why SAN architectures are important with mainframes, virtualization and data center? Answer:

14. What is the function of Fibre Channel? Answer:

15. What is function of iSCSI Answer:

16. If you were going to connect a z13 server to a SAN using iSCSI, explain which type of PCIe adaptor should be used. Answer:

3.0 – Memory Management, Task Management and Control Blocks

Read the Introduction to Memory Management and Task Management

Video - z/OS System Memory Architecture - Unit-10 https://youtu.be/viLXEL27R2s

IBM Paul Newton's presentation and demonstration of z/OS address spaces, virtual storage and paging, and using key-controlled protection for system integrity.

See Blackboard Folder "Paul Newton's System z Presentations" for a copy of this Presentation

Chapter 3: Overview of z/OS: Introduction to the Mainframe: z/OS basics

Video - Introduction to Operating Systems - http://www.youtube.com/watch?v=MzVGL44eq9w

Video - Principles of Operating System - Lecture 2 - http://www.youtube.com/watch?v=OJy9C5Gn4Sc

The following inserted discussions are designed to help the reader understand the text book better, compare z/OS to Windows and Linux, and most importantly to answer some of the following questions.

3.1 Questions – Introduction to Memory and task Management

1. What is function of a z/OS Address Space? Answer:

2. What is type of storage content is stored in an Address Space? Answer:

3. In a z/OS operating system how is address space uniquely identified? Answer:

4. What are the differences between the ASID and a z/OS Job or Job Name/JOBID? Answer:

5. A z/OS Job Name or Job ID is conceptually similar to which Windows or Linux concepts? Answer:

6. What is a z/OS subsystem? Answer:

7. What does z/OS subsystem, Linux Daemon, and Windows Service processes have in common? Answer:

8. ADD at least three additional process examples for each of the following operating systems using the following

Type of Processes

Specific Process Examples

Your Answers

z/OS Subsystem

DB2

Linux Daemon

httpd

Windows Service

Windows Update

9. Which z/OS JOBNAME is assigned the ASID value of 1? Answer:

10. Which Linux process is assigned the PID value of 1? Answer:

11. What are the function of z/OS *MASTER* JOBNAME or the Linux init process? Answer:

3.2 Questions - Control Blocks

Process Control Block

http://computer.howstuffworks.com/operating-system6.htm

z/OS Control Blocks for Beginners ( a little advanced)

http://www.trainersfriend.com/Papers/SHARE-Denver-Control-blocks.pdf

What are control blocks? (a little advanced)

http://idcp.marist.edu/pdfs/ztidbitz/31%20zNibbler%20%28zOS%20Control%20Blocks%29.pdf

Control Blocks for Beginners Pt 1: The Basics

http://www.longpelaexpertise.com.au/ezine/CtBlksBeginners1.php

Control Blocks for Beginners Pt 2: z/OS Control Blocks http://www.longpelaexpertise.com.au/ezine/CtBlksBeginners2.php

ABCs of Control Blocks

http://idcp.marist.edu/pdfs/ztidbitz/31%20zNibbler%20(zOS%20Control%20Blocks).pdf

Process control block http://en.wikipedia.org/wiki/Process_control_block

Task Control Block http://en.wikipedia.org/wiki/Task_Control_Block

How do Process Control Blocks work? (in IBM known as a Task Control Block) - http://computer.howstuffworks.com/operating-system6.htm

Resource Control - http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ieaa600/ienqrt.htm

Control blocks are special areas of memory which enables the operating system to remember where it left off. But, every time the operating system switches between processes it incurs a performance or overhead penalty. Control blocks may also contain status information. For example, how many processors and cores do I have? (A System Control Block) How storage devices do I have? (A Resource Control Block) How many jobs do I have waiting to be processed or currently executing? (A Job Control Block) An operating system can be viewed as an executing program managed by the data stored in the control blocks.

Many Definitions may be found in the Glossary of the Introduction to the New Mainframe: Z/OS Basics books

12. What is the function of a z/OS control block? Answer:

13. The address space executing application program (a process or task) normally contains program instructions and data. Control blocks are NOT stored within the address space of the executing program. In which program address space will control block data be stored? (Hint: Which program is control of the managing executing applications? When you are working at your desk at work who is iin charge of managing your work schedule? )

14. What type of information is stored in a z/OS control block? Answer:

15. Describe the data stored in each of the following types of z/OS Control blocks.

Data Stored in z/OS Control Blocks

Category of z/OS Control Block

Data Stored

System-related

Resource-related

Job-related

Task-related

16. What is the difference between a Job-related control block and a Task-related control block? Answer:

3.3 Questions - Program Status Word (PSW)

Control blocks contain operating system data for ALL system features, resource, jobs and tasks. However, the Process Status Word (PSW) stores data in a control register within in a processor or processor core for only the currently executing program, not for ALL programs. The content of the Program Status Word is copied to the task control block during a context switch. The PSW controls the processor during execution. The actual control data stored in a PSW varies by the computer architecture. A z System PSW will store multiple Storage Protect Keys (discussed shortly), the address on the currently executing instruction, and the address of next instruction to be executed. In addition, the PSW will store following data

· Access data and registers - Specifies the ASID where the data is to be found

· General data and registers - Binary numeric and text data (ECDBIC) that is being executed by the processor at this time

· Floating point registers - Floating-point the binary numeric data that is being executed by the processor at this time

A computer ABEND is an abnormal termination of software, or a program crash. To diagnose the cause the computer crash, the information stored in PSW may be useful.

Program Status Word - http://www.encyclopedia.com/doc/1O11-programstatusword.html

Program Status Word - https://www.ibm.com/support/knowledgecenter/SSB27U_6.3.0/com.ibm.zvm.v630.hcpc1/psw1.htm

Abnormal end (Abends) - https://en.wikipedia.org/wiki/Abnormal_end

Reporting abends - https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.gim0000/repabnd.htm

17. What is the purpose of the information stored in a Program Status Word (PSW)? Answer:

18. What is a mainframe ABEND? Answer:

19. What is the relationship between the Program Status Word (PSW) and a mainframe ABEND? Answer:

3.4 Memory Isolation

It is very important, the address space of the Word application program and data be separated and isolated from the address of Excel application program and data, just like you do not want virus not to invade the address space of an executing application or stored data on your disk. However, many operating systems were written in the C programming language, and these operating systems were unable to directly protect and isolate address space. While Windows, UNIX and Linux have introduced many solutions to improve address space isolation, no other solution is comparable close to the level protection and performance of z System Storage Protect Keys, which provides a hardware and software memory protection system for over 40 years. Since Windows, UNIX and Linux are designed to support any hardware platform, they cannot provide the same hardware enforced memory protection as z/OS Storage Protect Keys. Windows Vista introduced a secured kernel in 2003 and Linux introduced SeLINUX (Security-Enhanced Linux) in 1998, but neither operating system provides hardware protection. IBM software and hardware Storage Protect Keys have been in use for over 50 years.

Many programs and users are competing for the use of the system. So how does z/OS® preserves the integrity of each user's work? One technique is through the use of multiple storage protect keys.

3.5 Storage Protect Keys

Under z/OS, the information in central storage is protected from unauthorized use by means of multiple storage protect keys. A control field in storage called a key is associated with each 4K frame of central storage.

When a request is made to modify the contents of a central storage location, the key associated with the request is compared to the storage protect key. If the keys match or the program is executing in key 0, the request is satisfied. If the key associated with the request does not match the storage key, the system rejects the request and issues a program exception interruption.

When a request is made to read (or fetch) the contents of a central storage location, the request is automatically satisfied unless the fetch protect bit is on, indicating that the frame is fetch-protected. When a request is made to access the contents of a fetch-protected central storage location, the key in storage is compared to the key associated with the request. If the keys match, or the requestor is in key 0, the request is satisfied. If the keys do not match, and the requestor is not in key 0, the system rejects the request and issues a program exception interruption.

z/OS uses 16 storage protect keys. A specific key is assigned according to the type of work being performed. The key is stored in bits 8 through 11 of the program status word (PSW). A PSW is assigned to each job in the system.

Storage protect keys 0 through 7 are used by the z/OS base control program (BCP) and various subsystems and middleware products. Storage protect key 0 is the master key. Its use is restricted to those parts of the BCP that require almost unlimited store and fetch capabilities. In almost any situation, a storage protect key of 0 associated with a request to access or modify the contents of a central storage location means that the request will be satisfied.

By default ALL the z/OS operating system, subsystems and application program space are isolated. The Storage Protect Keys provide a mechanism that provides an application program the limited ability to access the address space operating system, subsystem and other application programs and data. Storage Protect Keys are assigned on a program -by-program basis. For example, the Storage Protect Key 0, also called the Master Key, means that those base control programs (system kernel) can access any address space, but very few programs can access its address space. How does this base control program give permission for others to access its address space? It assigns one or more protection keys to a list buddy's list FaceBook friend list (I think that is what they call it). This Storage Protect Key List may state that I will talk with all programs who have a Storage Protect Key of 2 and 4, but no other program.

O.K. Why can't I compile my own application program with a Storage Protect Key of 0? Good question. But, only IBM and third party vendors may use Storage Protect Keys 0 thru 7. An IBM customer cannot. On the other hand, IBM customer may use Storage Protect Keys 0 through 15 to create their own customized address space storage protection plan. But, most applications use NO Storage Protect Keys since they require the default to provide the most security for memory isolation.

Chapter 3: Overview of z/OS: Introduction to the Mainframe: z/OS basics (Pages 114 - 134)

Program Status Word

http://publib.boulder.ibm.com/infocenter/zvm/v5r4/index.jsp?topic=/com.ibm.zvm.v54.hcpc1/psw1.htm

Operating Systems and Program Status Word

http://www.edwardbosworth.com/My3121Textbook_HTM/MyText3121_Ch29_V01.htm

Storage Protect Keys

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/storage_protect_keys.htm

What is storage protection?

http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zconcepts/zconcepts_95.htm

IBM PSW and Storage Protect Key - http://research.microsoft.com/en-us/um/people/gbell/Computer_Structures__Readings_and_Examples/00000616.htm

Each executing program has a unique program status word associated with it. Within each program status word there is a storage protect key.

3.5 Questions – Memory Isolation and Storage Protect Keys

28. What are the advantage of using a private address space for each user? Answer:

.Summer 2018

20. What is the function of a storage protect key? Answer:

.Summer 2018

21. A storage protect key of 0 thru 7 indicates that a program is which type of program? Answer:

.Summer 2018

22. A storage protect key of 8 indicates that a program is which type of program? Answer:

.Summer 2018

.Summer 2018

23. A storage protect key of 9 thru 15 indicates that a program is which type of program? Answer:

.Summer 2018

4.0 z System Virtualization, Sysplex and Parallel Sysplex

Read the Introduction to the System z13 Architecture Document

Read the Virtualization and Cloud Computing Document

Video - Introduction to Virtualization - https://www.youtube.com/watch?v=zLJbP6vBk2M

What is Server Virtualization? - http://www.iscsi.com/resources/Server-Virtualization.asp

Top 10 benefits of server virtualization - http://www.infoworld.com/article/2621446/server-virtualization/server-virtualization-top-10-benefits-of-server-virtualization.html

How to Set Up a Virtualization Server - http://www.pcworld.com/article/201408/how_to_build_a_virtualization_server.html

Video - What is Server Virtualization - https://www.youtube.com/watch?v=p11lJOnALS4

10 Facts You Didn’t Know About Server Farms (2014) - https://www.cloudyn.com/blog/10-facts-didnt-know-server-farms/

Video - Inside a Google data center - https://www.youtube.com/watch?v=XZmGGAbHqa0

4.1 Questions – Introduction to Virtualization

1. What is Server Virtualization? Answer

.Summer 2018

2. List at least five benefits of Server Virtualization? Answer

.Summer 2018

3. What is a Virtual Machine? Answer

.Summer 2018

4. What is a Type 1 Hypervisor? Answer

.Summer 2018

5. List the name of a z System Type 1 Hypervisor? Answer

6. What is a Type 2 Hypervisor? Answer

7. List the name of two z System Type 2 Hypervisors? Answer

8. List the name of two or more non z System Type 2 Hypervisors? Answer

.Summer 2018

9. List the name of two or more non z System Type 2 Hypervisors? Answer

.Summer 2018

10. Explain how IBM PR/SM relates to z System virtualization. Answer

.Summer 2018

11. List three or more interesting Google data center statistics? Answer

12. List three or more interesting Amazon Google data center statistics? Answer

13. List the five major costs of a data center and indicate whether the category was fixed or variable? Answer

14. Compare the potential differences in data center costs between Goggle or Amazon and an IBM z13 LINUXONE virtualization. Answer

.Summer 2018

4.2 Questions - Server Virtualization Technologies

Logical Partitions

15. What is a LPAR? Answer:

16. What computing resources may be managed by a LPAR?

17. What are the advantages of z System LPARs as compared to other hardware and software LPARs? Answer:

18. What are the functions of the z Systems PR/SM technology? Answer:

19. What does one remotely access LPARS and virtual machines over a network? Answer:

20. What are the differences between an LPAR and zVM? Answer:

21. What are the advantages of zVM as compared to a LPAR? Answer:

22. What are technologies or products are similar to zVM? Answer:

23. What is Sysplex? Answer:

24. What is Parallel Sysplex? Answer:

25. What is Geographically Dispersed Parallel Sysplex (GDPS)? Answer:

4.3 Server Virtualization and Cluster Technologies

26. What is the purpose of Cluster Technologies? Answer:

27. What are the differences between virtualization and cluster technologies? Answer:

28. What are limitations of non-z System cluster processing? Answer:

29. How does z Systems over the limitations of cluster processing? Answer:

4.4 Cloud Computing

30. What is cloud computing? Answer:

31. What is cloud computing? Answer:

32. What are the differences between virtualization and cluster technologies, and cloud architectures? Answer:

33. Provide a descriptions and at least three example of the Cloud computing Service layers

Concept

Description

Examples

Infrastructure as a Service

(IaaS)

Platform as a Service

(PaaS)

Software as a Service (SaaS) Parallel Sysplex

34. What is the difference between single tenancy and multi-tenancy in cloud computing service layers? Answer:

35. Explain why a company want to use single-tenancy cloud service? Answer:

36. Explain why Microsoft Office 365 is an example of multitenancy cloud service? Answer:

37. Use the following table and describe each Parallel Sysplex concept using the following concept.

Concept

Description

Workload Manager (WLM)

Sysplex Failure Management (SFM)

Automatic Restart Manager (ARM)

Dynamic Workload Balancing

Cloning

'

Sysplex Application Compatibility

5.0 - Virtual Memory Operating Systems, Virtual Addresses and Paging

Read the Introduction to Memory Management and Task Management Document

Many Definitions may be found in the Glossary of the Introduction to the New Mainframe: Z/OS Basics books

Video - z/OS System Memory Architecture - Unit-10 https://youtu.be/viLXEL27R2s

IBM Paul Newton's presentation and demonstration of z/OS address spaces, virtual storage and paging, and using key-controlled protection for system integrity.

See Blackboard Folder "Paul Newton's z System Presentations" for a copy of this Presentation

Virtual address space - http://en.wikipedia.org/wiki/Virtual_address_space

What is virtual memory, how is it implemented, and why do operating systems use it?

http://www.programmerinterview.com/index.php/operating-systems/how-virtual-memory-works/

What are the advantages and disadvantages of virtual memory?

http://answers.yahoo.com/question/index?qid=20080928221645AAFAg23

These videos have been written for UNIX, but many of the concepts can be applied to z/OS

Video - Virtual Memory - Part 1 - http://www.youtube.com/watch?v=iqfjWIYyQ9k

Video - Virtual Memory - Part 2 - http://www.youtube.com/watch?v=4px3RrDBa6w

Video - Page Replacement - http://www.youtube.com/watch?v=M0d-vLw5Eyk

Video - Process Management - http://www.youtube.com/watch?v=mHPySA51t18

Video - Processes - Part I - http://www.youtube.com/watch?v=TIa2mhKCeYo

Video - Processes - Part II - http://www.youtube.com/watch?v=_5EV7isUJ6k

5.1 Questions – Virtual Memory Operating System

1. What are the functions of a virtual memory operating system? Answer:

2. What are the advantages of a virtual memory (storage) operating system? Answer:

3. What are the disadvantages of a virtual memory (storage) operating system?

5.2 Dynamic Address Translation

Dynamic address translation, or DAT, is the process of translating a virtual address during a storage reference into the corresponding real address.

If the virtual address is already in central storage, the DAT process may be accelerated through the use of a translation lookaside buffer. If the virtual address is not in central storage, a page fault interrupt occurs, z/OS® is notified and brings the page in from auxiliary storage.

Looking at this process more closely reveals that the machine can present any one of a number of different types of faults. A type, region, segment, or page fault will be presented depending on at which point in the DAT structure invalid entries are found. The faults repeat down the DAT structure until ultimately a page fault is presented and the virtual page is brought into central storage either for the first time (there is no copy on auxiliary storage) or by bringing the page in from auxiliary storage.

DAT is implemented by both hardware and software through the use of page tables, segment tables, region tables and translation lookaside buffers. DAT allows different address spaces to share the same program or other data that is for read only. This is because virtual addresses in different address spaces can be made to translate to the same frame of central storage. Otherwise, there would have to be many copies of the program or data, one for each address space.

5.3 Questions - Format of a Virtual Address

4. The format of a 64-bit z System virtual address contains four sections: Region, Segment, Page and Offset. Describe each section of a virtual address.

z/OS Virtual Address Concepts .Summer 2018

Concept

Function and Description

Region (RX)

Segment (SX)

Page (PX)

Byte Offset (BX)

5. How many bits are in a z/OS virtual address? Answer:

6. The maximum of amount virtual address space the z/OS can manage is ____? Answer:

7. How many bits are in a MVS/370 virtual address? Answer:

8. Older programs written for the older MVS/370 must use which area of virtual memory? Answer:

9. How many bits are in a MVS-XA virtual address? Answer:

10. Older programs written for the older MVS-XA must use which area of virtual memory? Answer:

Frames, pages and slots.

Assume that the following program has be divided into eight pages labeled A, B, C, D, E, F, G, and H. The Virtual Memory table contains the address of ALL program pages. Currently, pages A, E, F, and H are located in real storage. If Page A requests, e.g., GO TO, page H, the virtual memory manager needs to consulted to determine the location of Page H. The virtual memory manager determines the ASID of the page making the request. (Remember, the ASID identifies the address space contains all of the real and auxiliary pages Each address space is assigned a Region, Segment and Page table maintained by the virtual memory manager.

Since the virtual memory manager determines that Page H is in real memory it tells the physical memory address the real address of the FRAME. If Page B was needed the virtual memory manager would assign the disk address of the SLOT to the auxiliary memory manager.

Frames and slots are constantly swapped between real and auxiliary disk storage. Swapping and page stealing are various swapping algorithms. The objective is to minimize the overhead process of moving pages between physical and auxiliary storage. The system programmer can designate that some programs may not be swapped, Since the virtual, physical and auxiliary storage managers are so critical to the operation of z/OS these processes may not be swapped,

11. Using the following table, list the concept that best describes a type of page, or addressable unit.

z/OS Addressable Units

Concept

Description

A page or 4K block in central storage is called _______

A page or 4K block in virtual storage is called _______

A page or 4K block in auxiliary is called _______

12. When a program is selected for execution, z/OS first bring the program into which type of storage? Answer:

Page faults

http://www.programmerinterview.com/index.php/operating-systems/paging-and-page-faults/

What is the purpose of swapping?

http://www.programmerinterview.com/index.php/operating-systems/purpose-of-swapping/

What is the difference between a thread and a process?

http://www.programmerinterview.com/index.php/operating-systems/thread-vs-process/

5.2 Questions - z/OS Virtual Paging Concepts

13. z/OS uses a series of tables to determine whether a page is located in real storage or auxiliary storage. Only pages within real storage can be executed. Auxiliary storage is used to extend the real memory. Using the following table describe each of the following z/OS paging concepts.

z/OS Virtual Paging Concepts

Concept

Description.Summer 2018

Page fault

Page-in

Page-out

Page Stealing

.Summer 2018

Unreferenced interval count

Page Swapping

.Summer 2018

System Resource Manager

Workload Manager

Thrashing

14. Which pages are the most likely candidates to be stolen when using Page stealing? Answer:

5.0 Hexadecimal

Why do we use Hexadecimal? http://digiassn.blogspot.com/2006/02/why-do-we-use-hexadecimal.html

Hexadecimal Numbers Explained - http://vlaurie.com/computers2/Articles/hexed.htm

Video - How to Do Decimal to Hexadecimal Conversion - http://www.youtube.com/watch?v=QgVc1Tl-JDA

Video - How to convert hexadecimal to binary to decimal? - http://www.youtube.com/watch?v=TFY8YuBLNKc

Video - Binary Tutorial - http://www.youtube.com/watch?v=0qjEkh3P9RE

Video - Hexadecimal Tutorial - http://www.youtube.com/watch?v=m1JtWKuTLR0

5.1 Hexadecimal Number System

It stands for the Base 16 Number System. Programmers often refer to it as simply, Hex (which by itself should mean only six, such as the number of sides that a "Hex wrench" has, but it almost always means "Hexadecimal "if the subject is computer software rather than hardware).

You may already know that Binary (or Base 2) is what computers actually use to carry out calculations. Octal is Base 8, and Decimal, of course, is Base 10. And just as we have ten digits, 0 through 9, in the Decimal system, there are sixteen digits we could use for Hexadecimal (0-9 and six more).The hexadecimal numbers are 0-9 and then use the letters A-F.

The hexadecimal system is commonly used by programmers to describe locations in memory because it can represent every byte (i.e., eight bits) as two consecutive hexadecimal digits instead of the eight digits that would be required by binary (i.e., base 2) numbers and the three digits that would be required with decimal numbers. In addition, it is much easier for humans to read hexadecimal numbers than binary numbers, and it is not much more difficult for computer professionals to read hexadecimal numbers than decimal numbers.

A common use of hexadecimal numbers is to describe colors on web pages. Each of the three primary colors (i.e., red, green and blue) is represented by two hexadecimal digits to create 255 possible values, thus resulting in more than 16 million possible colors. For example, the HTML (hypertext markup language) code telling a browser to render the background color of a web page as red is <body bgcolor="#FF0000"> and that telling it to render the page as white is <body bgcolor="#FFFFFF">.

5.2 Displaying Hexadecimal Values when Using the ISPF Editor

The following is a section of code displayed in the z/OS editor named ISPF. All data or computer instructions is stored in binary code, and series of on and off electronic pulses that text books represents as 1s and 0s.Since you and I cannot understand binary data, computers use binary representation codes that symbolically represents binary code . In the example, that follows IBM is storing characters as EBCDIC code and displays the content (this is called mapping) as display characters that we see in ISPF or Word. The following looks like simple English to me.

The problem is computers do not understand English. There are many characters that cannot be displayed in either an editor or your Word document, but rather they are displayed as a space. For example, when you bold a letter, word of phrase, you do not see any bold commands. This is because Word using non-displayable characters to bold the character behind the scenes. How can we see non-displayable characters? The next example will use the hexadecimal code to convert the displayed character to a hexadecimal value when we use the ISPF editor.

Using the ISPF HEX command we can display the hexadecimal code of the displayed character to see the stored details of the ECDBIC values. Notice that a displayed space appears on Line 400 is the hexadecimaal value 40 and a displayed P is hexadecmal value of D7

Let's review the following examples. You see the letter displayed on (or mapped to) the screen as a capital letter "P". But stored in the computer's memory the actual on/off electronic pluses are the following 8-bits: 11010111, or on-on-off-on-of-on-on-on. What would you prefer to see a P or 11010111?

Now we must understand that computers were not originally designed to work with letters of the alphabet or special characters. Hence, the binary character codes, i.e., ECBDIC, ASCII, and UNICODE, where designed to overcome this problem. The binary value of the actual stored character is 11010111 or in decimal the number 64.

Sooooo, one day 80+ years ago some IBM engineers went to the local sports bar and made a set of rules called ECBDIC. When ISPF encounters the binary value of 11010111 or decimal number 64, ISPF will use EBCDIC to display the capital letter P. If I was at the sports bar, I would have chosen decimal value 37 for the letter P, but I wasn't invited. Therefore, character codes were created to symbolically store characters using a system of binary numbers, but were converted to display a character to make use humans happy.

O.k. where does hexadecimal come in? Those ECBDIC values became so complex that some stored values were not even displayed as a character but rather a space. Review the space on line 400. You do not see the space, but you do see the actual Hex value of 40. How do you know that this this ECBDIC values is really was a space, rather than a hidden escape or tab character which is also displayed as a space? Because these characters would have a different Hex value. By using HEX, we would see an invisible ESCape character because the HEX value would be 17 or a tab character would be a 05 Hex value, rather than the HEX value of a 40.

The only difference between IBM mainframes and your cell phone, tablet or personal computer is that they use ASCII or Unicode. The principles are exactly the same, but the ASCII engineers went to a different sports bar.

5.3 Viewing Hidden Characters with Word

Viewing invisible characters are very important. What we see as humans may be different than what the computer sees as a binary value. This document was prepared using Microsoft Word. Click on the Word Paragraph Symbol and see some invisible characters for the following example.

The space, tab and line feed characters are hidden by Word as a default.

After displaying the hidden space character is displayed as a graphic middle period character. The hidden tab character is displayed as a graphical right arrow character. And the hidden line feed character is displayed as a graphical end-of-paragraph graphic character.

Word is NOT a professional tool to display hidden characters. The ISPF editor is a professional editing tool that understands the importance of viewing hidden ECBDIC characters.

5.4 Other uses for Hexadecimal Notation

One more hexadecimal example of the use of hexadecimal - memory address. The following is a display of the memory locations use by various Windows hardware devices as displayed in Windows Device Manager.

The following is a Device Manager display of the memory location used by my network card. Notice the use of hexadecimal.

So which would you prefer the Hexadecimal value of F6900000 or 11110110100100000000000000000000 as a memory address?

Why hexadecimal notation used for representing memory location? https://answers.yahoo.com/question/index?qid=20110611212030AAfUFk8

Why we are using HEXADECIMAL values for computer addressing? - https://www.researchgate.net/post/Why_we_are_using_HEXADECIMAL_values_for_computer_addressing

Hexadecimal Definition - http://www.linfo.org/hexadecimal.html

5.5 Questions – Hexadecimal

Why do we use Hexadecimal? - http://digiassn.blogspot.com/2006/02/why-do-we-use-hexadecimal.html

1. While hexadecimal notation is not used to store actual computer data, it is used for many other management purposes. Why is hexadecimal more popular to display computer information than binary? Answer

2. Why does one use the HEX command when using the ISPF editor? Answer

3. List three popular uses of hexadecimal notation in computers? Answer

4. Why is hexadecimal notation used to identify a memory address? Answer

5. The following table is some examples for line 400. Using the conversion convertors discussed previously fill in the missing values for the shaded areas.

Displayed Character

Hexadecimal Value

summarizes

ECBDIC decimal value

Binary value which is actually stored

- a space -

40

64

0100000

P

Capital Letter

D7

215

11010111

1

the number

F1

241

11010111

.

a period

4B

75

01001011

E3

*

an asterisk

230

6. Using the following tables convert a decimal value to a hexadecimal value.

Decimal Value

Hexadecimal Value

11

183

592

1024

16145

64523

65535

7. Using the following tables convert a hexadecimal value to decimal a value.

Decimal Value

Hexadecimal Value

40

D7

F6900000

1000

100

80

FFFF

8. How is hexadecimal used in HTML Documents? Answer

9. How is hexadecimal used in Windows Device Manager? Answer

10. What does x'23' mean? Answer

6.0 - Interrupt Processing, Serialization and System Messages

Read the Introduction to Memory Management and Task Management

What is interrupt processing? - https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconc_interrupts.htm

Interrupt processing - http://publib.boulder.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=%2Fcom.ibm.ztpf-ztpfdf.doc_put.cur%2Fgtpc3%2Fintrpt1.html

Features and Advantages of Multiprogramming

http://www.laynetworks.com/features%20and%20advantages%20of%20multiprogramming.htm

Chapter 3: Overview of z/OS: Introduction to the Mainframe: z/OS basics (Pages 132-140)

Video - Interrupts and I/O - http://www.youtube.com/watch?v=tn45bY-EA8Y

Video - Interrupt Controllers - http://www.youtube.com/watch?v=yBYtfOJ4hcM

6.1 z/OS Interrupt Processing

The previous discussion described how a multitasking operating system could switch between tasks to improve throughput (multiprogramming) or response (time sharing). An Interrupt is an event that causes a processor to switch execution to another program. Let's return to the analogy of switching your cell phone from a current phone calling to a different phone conversation on call waiting? You heard a beep, an interrupt, and you, the processor, switched to a different conversation (task). Simple? Makes sense?

Computer interrupt processing is very similar, but it has many more different types of interrupts than a simple beep. Sometimes a computer interrupt may be planned, such as your task is out of allocated time and must be switched. Sometimes a computer interrupt may be unplanned, such as you program has a run time error or a hardware malfunction has occurred.

Six of the most popular z/OS Interrupts include:

· Supervisor Call Interrupts

· I/O Interrupts

· External Interrupt

· Restart Interrupts

· Program Interrupts

· Machine Check Interrupts

Z/OS Interrupt Summary

Types of z/OS interrupts

Description

Examples

Supervisor Call Interrupts

A program issues a SVC to request a service from the operating system or other program. These types of interrupts means the executing program cannot perform the service so it is requesting another program to execute the service on its behalf.

The sequence of execution for the processor is changed to a service program.

The interaction of SVC and I/O interrupts is the basing of controlling the operation of multiprogramming context switching

An application program wants the file system to open, close, read or write a data set. The Resource Control Block is updated based on this I/O request by this application.

An application program wants to call a subprogram or external class, package, etc.

An application program issues a request to the operating system to allocate more memory (GETMAIN) or a message to the system operator (WTO), mount this tape.

I/O Interrupts

An I/O channel program sends a signal to the processor concerning the status of a request of an I/O operation.

The Resource Control table is updated by this channel program.

An I/O interrupt does not need to be initiated by an internal event. For example, a request from the TCP/IP network for the service of HTTP, TELNET, FTP, service may initiate a change in the sequence of execution *

The I/O data set or device is ready to start and accept I/O commands (Open a file),

The requested I/O command has been complete

An I/O error has occurred,

The I/O device or data set is no longer available

External Interrupt

An interrupt has occurred external to the execution application or channel program related, but related to normal operations.

System clock has indicated that a time interval expired - the basis of time sharing

The user or console operator has pressed the interrupt key to cancel execution of the program. In Windows, the ctrl-C key was pressed

Another processor has requested processing, e.g., multiprocessing, Sysplex operation

Restart Interrupts

Is issued when an application, console operator or external processor requests a restart operation.

Similar to Ctrl-ALT-DEL in Windows or the Shutdown command in Linux

Program Interrupts

Unplanned interrupt issued by the executing program

Program run-time error, e.g., data exception error, divide by zero

Page fault - the referenced page is not in central storage

Machine Check Interrupts

Hardware malfunction

6.2 Preemptable versus non-preemptable

Which process or routine receives control after an interrupt is processed depends on whether the interrupted unit of work was preemptable. If so, the operating system determines which unit of work should be performed next, that is, the system determines which unit or work, of all the work in the system, has the highest priority, and passes control to that unit of work.

A non-preemptable unit of work can be interrupted, but must receive control after the interrupt is processed. If the routine is interrupted, control returns to the operating system when the interrupt handling completes. z/OS then determines which task, of all the ready tasks, will execute next.

6.3 Serializing the use of resources

In a multitasking, multiprocessing environment, resource serialization is the technique used to coordinate access to resources that are used by more than one application. Programs that change data need exclusive access to the data. Otherwise, if several programs were to update the same data at the same time, the data could be corrupted (also referred to as a loss of data integrity).

6.4 Questions - Interrupt Processing and Multiprogramming

1. What is a computer interrupt? Answer:

2. How are interrupts used in multiprogramming operating systems? Answer:

3. How are interrupts related to multiprogramming operating systems, switching between jobs, and data stored in registers? Answer:

,

Preemptable versus non-preemptable units of work - https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconc_preemptable.htm

4. Explain the main difference between Preemptable and Non-Preemptable Interrupts. [Section 3.7.3] Answer:

6.5 Questions - Types of z/OS Interrupts

5. Describe and provide specific examples for each of the following six types of z/OS interrupts.

z/OS Interrupts

Interrupt Type

Description and Examples

I/O Interrupts

SVC Interrupts

(Supervisor Calls)

External Interrupts

Restart Interrupts

Program Interrupts

Machine Check Interrupts

6. What type of z/OS interrupts is associated with virtual memory paging? Answer:

7. What type of z/OS interrupt is associated with restarting the system (IPL) which is similar to a reboot in Windows? Answer:

8. What type of z/OS interrupt is associated with a memory or hardware failure? Answer:

9. What type of z/OS interrupt is associated with notifying z/OS that the disk as completed saving your program on a DASD (disk)? Answer:

10. What type of z/OS interrupt is associated your COBOL application requesting z/OS to perform some type of service on behalf of your COBOL application? Answer:

6.6 Questions -Resource Serialization and Locking

Serializing the use of resources

http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zconcepts/zconc_serializing.htm

11. Describe the concept of Resource Serialization. Answer:

12. If a multiprogramming operating system did not provide for resource serialization, what would be the most likely problem? Answer:

13. What is a resource lock? Answer:

14. Explain the concepts of ENQUEUNIG and DEQUEUNIG? Answer:

6.7 Question - JES System Message format

Chapter 3: Overview of z/OS: Introduction to the Mainframe: z/OS basics (Pages 146-150)

JES2 message format - https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.hasa100/msgfor.htm

Format of z/OS Messages

http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.ieah700%2Fh7scc.htm

How to interpret messages and codes

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqsao.doc%2Fzm10120_.htm

Review Section 3.10 in your text book

15. Review the following message displayed by JES:

IEF097I MYJOB USER RMUI001 ASSIGNED

Using the following table explain the meaning of previous z/OS/JES message format.

z/OS Message Format

z.OS Message

Description

IEF

097

I

MYJOB USER RMUI001

16. If the message severity code of a z/OS base program is listed as "A", what response should be provided? Answer:

17. What type of information is provided by the three character software component identifier tells you? Answer:

7.0 Job Control Language

Read the Introduction to JCL and EXEC Statement Document

Video - z/OS Job Control Language (JCL) - Unit-06 http://youtu.be/lgg_4lBQHNw

IBM Paul Newton's discussion and demonstration of the functions of JCL, the JCL JOB, EXEC, and DD statements, and the relationship of a program file name to JCL DDNAME.

See Blackboard Folder "Paul Newton's z System Presentations" for a copy of this Presentation

It is recommended that you refer to following chapters in your text book.

Chapter 6: Using Job Control Language and system Display Facility. Text book " Introduction to the Mainframe: z/OS Basics"

Please Read Introduction to JCL handout

JCL Study Material - http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.chapter1.html

Learning about JCL- http://www.barrcentral.com/help/beps/Learning_about_JCL_(SYSIN)_jobs.htm

Job Statement Fundamentals - http://www.mainframes360.com/2009/04/job-statement-tutorial-04.html

DD Statement Part-I

http://www.mainframes360.com/2009/06/jcl-tutorial-07-dd-statement-part-i.html

Modifying Statements in a Cataloged Procedure - http://www.mainframes360.com/2009/07/modifying-statements-in-cataloged.html

JOB Log – How to understand and interpret JES 2 Job Log

https://docs.google.com/file/d/0B1t0eCXXnIcmOGFjMGQ0YTQtM2UwZS00ZDhjLTkxYWEtMWZlODgwZDczNGU4/edit?hl=en&pli=1

7.1 Questions - Introduction to JCL

1. What is JCL (Job Control Language)? Be specific! Answer:

2. What function of a JCL JOB? Be specific! Answer:

3. List four or more functions of using JCL statements used to execute s a JCL Job. Answer:

Sample JCL

4. Job Control Language (JCL is used to tell z/OS what program to execute, followed by a description of the inputs and required for that program. Provide a description of each JCL operator and provide an example from the previous JCL code for three most popular JCL statements.

JCL Statement

Description

Example

JOB

EXEC

DD

5. What does it mean to SUBMIT a JCL JOB? Answer:

6. What is(are) the difference(s) between SUBMITting a JCL JOB and Executing a z/OS application, subsystem or utility program? Answer:

Given the following JCL Job Stream.

7. What is a JCL Stream? Answer:

8. What is a JCL Job Step? Answer:

9. How many JOB steps are to be executed in JOBNUM2? Answer:

10. How is each program to be executed within a job stream identified by which JCL operator?

11. How is each data set to be accessed within a job stream identified by which JCL operator?

12. Assume that some JOB has three EXEC statements. How many programs are executed? Answer:

13. Each EXEC statement in this JOB is referred to as a JOB ______? Answer:

14. How can z/OS distinguish between JCL and COBOL statements coded in the same partitioned data set member? Answer:

15. JCL JOB, EXEC, and DD keywords are classified as JCL _____________. Answer:

16. What are the differences between JCL operators, e.g., JOB, and JCL operands, e.g., NOTIFY? Answer:

17. A JCL statement name must start in which column? Answer:

18. A JCL operator, e.g., JOB, EXEC, or DD, must either begin on or before which column? Answer:

16. If a JCL statement is too long, provide a specific example using JCL code how can one continue a JCL statement to the next line? Answer:

7.2 Questions - JCL JOB Statement

Review the following JCL statement. The first line represent the column marker

1. What is the purpose of coding the characters JPL919 beginning in column 3 in the previous JCL? Answer:

2. What is the purpose of coding the number 1 in column 16 in the previous JCL? Answer:

3. What is the purpose of coding the parameter NOTIFY in column 20 in the previous JCL? Answer:

Given the following two valid examples of a JCL JOB Statement.

4. What is the difference between NOTIFY=&SYSUID and NOTIFY=RMU0137 operators/values? Answer:

5. The previous two JOB Name were coded as JPL919. It is permitted, not necessarily recommended, for two different JOBs to have the same JOB name. What is the limitation of two different JOBs to have the same JOB name? Answer:

One function of the SDSF (System Display Search Facility) is to display the status of previously submitted JOBS. When the Queue column displays the status message of PRINT, the submitted job have has been completed. When the Queue column displays the status of EXECUTION, the submitted job is still execution.

The JobID column will display the JOB number automatically assigned by JES (Job Entry System) to each submitted job.

Review the following SDSF STATUS DISPLAY. The JOBNAME JPL919 had be SUBMITted three times and have been completed.

6. Since each JCL job must be uniquely identified no matter how many times the JOB had been SBMIITted, how is JOBNAME uniquely identified? Answer:

7. How does one identify which JOB JPL919 was the last, or most recent JOB submission? Answer:

8. Which JCL Operator is coded on the JOB statement that is used to assign a JOB ID or JOB number? Answer:

9. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

10. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

11. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

12. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

13. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

13. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

14. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

15. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

16. Given the following example of a JCL JOB, which contains a JCL coding syntax error.

Explain the JCL code syntax error. Answer NONE is there is no JCL Syntax error. Answer:

17. If a JCL statement is too long, provide a specific example using JCL code how can one continue a JCL statement to the next line? Answer:

18. Given the following example JCL JOB statement

//ASSIGN1 JOB A123, ,NOTIFY=&&SYSUID,CLASS=A,MSGLEVEL=(1,1),REGION=6M,TIME=2

Using the following table describe the function of each of the illustrated JOB parameters

JOB Operands, Parameters, and Values

Description

ASSIGN1

A123

TIME=2

MSGLEVEL=(1,1)

REGION=6M

CLASS=A

19. Explain the differences between a JCL POSITIONAL parameter and a JCL KEYWORD. Answer:

20. Provide an example of a JCL Positional parameter using the previous JCL JOB statement. Answer:

21. Explain the function of a JOB or EXEC CLASS parameter. Answer:

22. List several advantages of coding the JOB or EXEC CLASS parameter. Answer:

23. List several advantages of coding the JOB or EXEC TIME parameter. Answer:

23. How does the choice of a CLASS parameter affect how fast your job will be executed? Answer:

24. If two different JOBs are submitted and perform with the same operations, which JCL operand may be used to improve the possibility that your job will be executed faster than the other job? Answer:

7.3 Questions - JCL EXEC Statement

Please Read Introduction to JCL (The EXEC Statement) Document

EXEC Statement Part - I -

http://www.mainframes360.com/2009/06/jcl-tutorial-05-exec-statement-part-i.html

EXEC Statement Part - II

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html

1. How many programs may a JCL EXEC execute? Answer:

.Summer 2018

2. The following JCL statement executes a program named DARNIT, //RMU1 EXEC PGM=DARNIT. Is the program named DARNIT an example of source code, object code or a load module? Answer:

.Summer 2018

3. Programs such as IEBGENER, SORT, IEFBR14, IEBPTPCH and IEBCOPY are examples of _____? Answer:

.

Introduction to problem management - http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zproblem/abovr.htm

Error and ABEND - http://ibmmainframeforum.com/viewtopic.php?f=6&t=5436

What is the diff between Return code and Condition code? - http://ibmmainframeforum.com/viewtopic.php?f=16&t=6985

Bypassing or Executing Steps Based on the Evaluation of Previous Steps - http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ieab500/iea2b55065.htm

Given the following JCL code segment which includes two EXEC statements.

The first EXEC statement executes a program load module named SORT. When using the PGM= parameter the following listed program contains compiled and linked program code. The first EXEC job step is arbitrarily labeled MYSORT.

The second EXEC statement executes a JCL Procedure named IGYWCL. When the EXEC statement does not the PGM= parameter the listed JCL Procedure contains more coded JCL statements which is being reused program. The second EXEC job step is arbitrarily labeled COBOL.

Valid JCL STEP names do not affect the submission of the JCL code or the execution of the program load module or JCL procedures. However, meaningful and descriptive JCL STEP names males it easier to understand the progress JCL JOB and to isolate and debug execution programs for each job step

4. Given the following JCL EXEC statement

//ACTUPT EXEC PGM=FINANCE.ACCTREC.UPDATE,REGION=1M,TIME=(,6),COND=(0,EQ,VALIDATE)

Using the following table describe the function of each of the illustrated EXEC parameters

EXEC Job Step Names and Parameters

Description

ACTUPT

REGION=1M

TIME=(,6),

PGM=FINANCE.ACCTREC.UPDATE

COND=(0,EQ,VALIDATE)

5. If both the JOB and EXEC statement contain a REGION parameter. What happens if the EXEC REGION parameter conflicts with the JOB Region parameter? Answer:

6. What are the advantages of using meaningful and descriptive EXEC step names? Answer:

7.4 Questions - Notify Message, Return Code and the JCL COND parameter

7.4.1 TSO NOTIFY Message

After a JCL is submitted JES job the following message may be displayed on your screen, if your JCL JOB statement includes a NOTIFY parameter. The previous JCL JOB statement does use a NOTIFY= parameter.

Your instructor probably has told you that when you see MAXCC=0000, a maximum error code condition of 0 this is a good sign. While MAXCC=0000 is a good sign, we need to study the NOTIFY content error message a little more carefully.

7.4.2 What is JES

Z/OS uses a job entry subsystem or JES to receive jobs into the operating system, to schedule them for processing by z/OS, and to control their output processing. JES is z/OS subsystem that manages your JCL JOBs after the job has been submitted.

JES is the component of the operating system that provides supplementary job management, data management, and task management functions such as scheduling, control of job flow, and the reading and writing of input and output streams on auxiliary storage devices, concurrently with job execution.

7.4.3 Questions - Notify and JES

Given the following Notify message.

1. Given the previous Notify message what was the JOB Name of the Submitted JCL JOB? Answer:

2. Given the previous Notify message what was the JOB Number of the Submitted JCL JOB? Answer:

3. Given the previous Notify message what time was the JCL job submitted? Answer:

4. Given the previous Notify message what does the $HASP165 submitted? Answer:

5. What is the functions of JES (Job Entry Subsystem)? Answer:

7.4.4 Maximum Error Condition and Return Codes

After submitting a JCL Job, the Notify message may display a 4-Digit Job summary code which summarizes the result of the executing the JCL JOB. For example a MAXCC=0000 indicates that the JCL code and ALL JOB steps had been successfully.

On the other hand, a MAXCC=0012 means that not ALL job steps had been completed. Assume that a JOB contains four JOB steps. Each job step provides a two digit return code to JES after the JOB step has been complete. Job Step 1 may be successful and returns a code of 00. Job Step 2 may also be successful and returns a code of 00. However, Job step 3 contains a major error and returns a return code of 12. Therefore, the Notify message MAXCC will display the maximum return code as MAXCC=0012.

The most common conventional values are:

0 = Normal - all OK

4 = Warning - minor errors or problems.

8 = Error - significant errors or problems.

12 = Severe error - major errors or problems, the results should not be trusted.

16 = Terminal error - very serious problems, do not use the results.

· Maximum Error Condition Code displays the highest return code reported by job step.

· A return code is the individual code reported by each job step.

Normally, a JCL JOB will be aborted if any JOB step returns a code that exceeds 0. You can use the JOB COND parameter to change those abort rules. For example, by using a JOB or EXEC COND parameter that states "if a previous job step returned code not equal to zero is encountered, process this job step and not abort."

MAXCC or Return Codes do NOT display the details of errors. If you compiling a COBOL program, the COBOL compiler will provide the details in your job report. If you are coding a z/OS SORT utility, the z/OS SORT utility will provide the details in your job report. This introductory section will not cover the details of these types of errors. If you received a return code of 8 or 12, this means that you correctly type or modify the code provided your instructor. Just compare your code to the original.

1. Describe the meaning of the following Maximum Error Condition Summary Codes

Maximum Error Condition Codes

Description

0

4

8

12

7.4.5 JCL Syntax Errors and Notify Messages

When one codes an incorrect JCL keyword, parameter or spacing error, a JCL error message. The following message NOTIFY message clearly indicates a JCL error. However, one know little the type or location of the JCL error. If you fail to properly code the JCL JOB statement NOTIFY parameter you will not see the following message since there is no valid JOB.

JES is also responsible for providing you with JCL error information. Assume that your JCL JOB contains a JCL syntax error. A JCL syntax error means that you incorrectly coded a JCL statement, keyword, or parameter.

7.4.6 The JOB or EXEC COND Parameter

Symbol Substitution for batch jobs - http://billlalonde.tripod.com/back/stup019.htm

JCL - Conditional Processing - https://www.tutorialspoint.com/jcl/jcl_conditional_processing.htm

Understanding and Coding JCL COND= Parameters - http://teaching.idallen.com/dat2330/02w/jclnotes/conditionCodes.txt

Examples of the COND parameter - https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab600/iea3b6_Examples_of_the_COND_parameter.htm

1. Explain the difference between a Maximum Error Condition (MAXCC) and a Return Code (RC). Answer:

2. Explain the function of the JCL COND parameter. Answer:

3. Assume that JCL JOB has three job steps named STEP1, STEP2, and STEP3. Code a conditional statement that STEP3 will be executed execute even if STEP1 and STEP2 has MAXCC greater than zero. Answer:

4. Assume that JCL JOB has three job steps named STEP1, STEP2, and STEP3. Code a conditional statement that STEP2 will be executed even if STEP1 has an MAXCC greater than 4. Answer:

5. Assume that JCL JOB has three job steps named STEP1, STEP2, and STEP3. Code a conditional statement that STEP3 will be executed if STEP1 or STEP2 has an MAXCC greater than 8. Answer:

6. What is the cause of a System Abend Code, S806? Answer:

7. What of is the purpose of a COND=EVEN EXEC parameter? Answer:

8. What of is the purpose of a COND=ONLY parameter? Answer:

7.5 Question - JCL DD Statement

Please Read Introduction to JCL (The DD Statement)

JCL DD statements: Advantages of using symbolic names - http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zjcl/zjclc_jclDDsymbolics.htm

DD Statement – Part II

http://www.mainframes360.com/2009/07/jcl-tutorial-08-dd-statement-part-iii.html

DD Statement – Part III. http://www.mainframes360.com/2009/07/jcl-tutorial-09-dd-statement-part-iii.html

COND Statement – How does it work? - http://www.mainframes360.com/2009/04/cond-statement-how-does-it-work.html

1. What are the advantages of using JCL DD NAME? Answer:

2. What is the purpose of a DSN name? Answer:

3. If a DSN does not exist of a system, what should you do? Answer:

4. What is difference between a JCL DD Name and DSN name? Answer:

The JCL input and output DDNAMES, e.g., INFILE and RPTFILE, listed in the execution step above must match the COBOL ASSIGN statement. If it does not match the JCL DDNAME with COBOL ASSIGN name a runtime error will occur.

JCL DD statements

.

COBOL program

A COBOL, JAVA, or C program must use a JCL DD statement to find an Input or output data set.

The format of the COBOL SELECT statement is

SELECT MY_COBOL_NAME TO MYDDNAME

JCL DD statements

.

COBOL program

JCL line 650 designates that data set is defined in the file system as &SYSUID..DATA.STUDENT. JCL line 660 uses SYSOUT, a output location determined by the system program. In our system SYSOUT is directed to SDSF. SYSOUT is a System defined default Output Device.

The next example does not does not match the JCL DDNAME with COBOL ASSIGN name a runtime error will occur. The COBOL program will compile, but when it came to execution it will crash and burn. The DDNAME between the JCL DDNAME, e.g., INFILE, must match the COBOL ASSIGN statement, in this case is MONEY.

ABBENDED S000 U4038

If you had submitted a JCL job which does match the DDNAME you will encounter a S000 U4038 System Error Message. In this case it cannot find the MONEY DDNAME. This message by itself does not provide much information. The 4038 is far too generic to use alone to diagnose a problem. The U4038 means the application ended with a software raised or user raised condition of severity 2 or greater.

Any Notify Error that begins with S is a z/OS System Abend. In this case S000 U4038 means that z/OS cannot find the file when the COBOL program wanted to access it. More Abend errors will be discussed in future assignments.

To Review Notify message format

· MAXCC=0012 is a severe program syntax error.

· JCL ERROR is a severe JCL syntax error.

· Error codes that strat with the letter "S" are severe run-time errors that made the program crash

5. Given the following DD statement: //MOE DD DSN=LARRY(CHEESE),DISP=SHR

Complete the following SELECT statement in COBOL. Which value in the Select statement should logically be used in the ASSIGN Clause, e.g., MOE, DD, DSN, LARRY or CHEESE?

SELECT MY-COBOL-FILE ASSIGN TO _________.

ABBENDED S000 U4038

4. In order to allocate space for a new dataset using JCL the NEW DISP positional value must be used. What minimum parameters are required as information to create a new data set? Answer:

5. The DISP DD parameter can have up to three positional values. Given the following generic illustration of the DISP parameters, e.g., DISP=(A,B,C) describe the use of the following three possible DISP positional values

DISP Positional Values

Description or Disposition

A ( the first listed value)

B (the second listed value)

C ( the third disposition)

6. Assume a DD DISP has only one positional value. If the last two positional values are omitted what will happen? Consider, DISP=(SHR). Answer:

7. Describe and explain the meaning of the following DISP examples

DISP Parameter examples

Description

DISP=(NEW,PASS)

DISP=SHR

DISP=(NEW,CATLG)

DISP=(PASS,NEW)

DISP=OLD

DISP=MOD

DISP=(OLD,DELETE)

DISP=DUMMY

8. What is the purpose of the DD parameter named DUMMY? Answer:

In order to access a dataset, z/OS needs to know the location and name of a data set. The following DD statement does not provide that information: //ZIPCODES DD DSN=PGH.ZIPCODES,DISP=SHR

9. How will z/OS find this data set and know the type of data set it is accessing? Answer:

10. DISP=NEW will create a new dataset. What DD parameters (information) are required to use JCL to create a new data set? Answer:

11. A data set can be created by JCL. What is the name of the TSO command that can create empty JCL datasets? Answer:

7.6 Questions - JCL Concatenation

1. What is the difference between JCL continuation and JCL Concatenation? Answer:

2. What are the advantages of JCL Concatenation? Answer:

7. 7 Questions - Find the JCL Error

Given the following JCL Code which contains errors. List the line number, original syntax which contain the error, an explanation of the error and the corrections. It is recommended that you complete this part of the assignment after the hands-on part.

Line Number

Original Syntax

Explanation of the Error

Corrected Syntax

7.8 JOBLIB, JOBCAT, STEPLIB, STEPCAT

· To review, a library (LIB) is a partitioned dataset which contains members.

· To review, a catalog (CAT) is a logical structure that knows the location of all datasets for a userid or high level qualifier.

Defining the location of Programs and JCL Procedures

If programs are not stored in the libraries predefined for the operating systems then it will be necessary to specify the location of the programs. For example, if program are located in a private library or a test library then use STEPLIB and/or JOBLIB to tell the system the location of the executable programs, not JCL PROCS

The system programmer can specify the location where JES can search for any system wide program. This is the case with compilers, subsystems, assemblers, utilities, etc.

Now consider the situation that one would one to execute a private load module, e.g., like student program. The load module location varies by student and it is not good practice to store JCL PDS members in the same location as a load modules. One way to change your JCL code is to include a JOBLIB or STEPLIB DDname. Consider the following.

The EXEC statement for STEP2 states, if you cannot find the CBL0001 load module in the current PDS data set, try searching for it in &SYSUID,, LOAD, &SYSUID is a system variable that stores the userid of the person who submitted the JOB. In this example, this statement would cause z/OS to search for programs located in RMUXXX,LOAD partitioned data set.

The DDNAMES STEPLIB and JOBLIB require a DD statement that defines the names of the Load Libraries that are searched to find and load the program. As the names imply the STEPLIB statement applies only to an individual job step, the JOBLIB statement applies to the whole job. If you specify both then the STEPLIB statement will override what is specified by the JOBLIB statement but only for the individual step.

A JOBLIB statement must be specified after the Job statement and before any job steps (or EXEC statements). The STEPLIB must be specified after the EXEC PGM statement of the job step.

The JOBLIB and STEPLIB is similar to the Windows and Linux PATH statement or variable. The PATH variable of this computer is

C:\oracle\tools\bin;C:\oracle\ora10g\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\jEdit;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\IBM\Personal Communications\;C:\Program Files\IBM\Trace Facility\;%systemroot%\System32\WindowsPowerShell\v1.0\;%systemroot%\System32\WindowsPowerShell\v1.0\;C:\Program Files\QuickTime\QTSystem\

This means that if you cannot find executable program in the current subdirectory, start searching in the listed directories. In the z/OS file system, the closest concepts comparable to a subdirectory is a PDS data set and User catalog to organize data sets and PDS members.

If both the JOBLIB & STEPLIB statements are coded in JCL, the STEPLIB always is search first, then the JOBLIB is search next, and finally the system-defined libraries are searched last.

Use the JOBCAT STEPCAT DD statement are used to define a private VSAM or integrated catalog facility user catalog for the duration of a job. The system searches the private catalog for data sets before it searches the master catalog or a private catalog associated with the first qualifier of a data set's name

7.9 Questions – Reserved DD names

39. Most IBM installations use the following reserved DD names. Using the following describe the function and purpose of the following reserved DD names?

Reserved DD Names

Description of Function and Purpose

JOBLIB

JOBCAT

STEPLIB

STEPCAT

.Summer 2018

JOBLIB, STEPLIB, JOBCAT, and STEPCAT DDNames were created to search for executable load modules, not JCL Procedures. To search for JCL PROCS not found in system wide JCL libraries, one must use the JCLLIB statement.

Consider the following EXEC statement. The JCL PROC is IGYWCL. How do we know that IGYWCL is a PROC? There is no PGM= prefix. However, IGYWCL is a z/OS system wide PROC that everyone would want to use. The system programmers will code the necessary parameters to search for a system wide PROC like a system wide load module.

Other the other hand, assume that we may want to execute a private PROC or replace a public PROC with our private PROC. Consider the following use of KCLLIB

In line 40, we want to execute a JCL PROC named CICSCBL. How do we know that CICSCBL is a PROC? There is no PGM= prefix.

Line 20 states that we are to search the PDS named RMUI001.CICS.JCL for the PROC named CICSCBL BEFORE anywhere else.

The ORDER parameter may specify multiple PDS to search in the designated order. For those who are familiar with the Windows and LINUX PATH statement, it has a similar search order. Of course the JCL ORDER parameter has been used for over 50 years.

7.10 Questions – Instream Data and Cataloged Procedures

INSTREAM DATA - http://www.tutorialspoint.com/jcl/jcl_input_output.htm

In-Stream and Cataloged Procedures - https://www.ibm.com/support/knowledgecenter/en/SSLTBW_1.13.0/com.ibm.zos.r13.ieab500/cais.htm

JCL - Procedures - https://www.tutorialspoint.com/jcl/jcl_procedures.htm

1. What is function of a JCL Procedure? Answer:

2. When should one consider the use of a JCL Procedure? Answer:

3. List the two types of JCL Procedures? Answer:

4. An Instream JCL Procedure must begin and end with which JCL statements? Answer:

5. List the three requirements to code a JCL Catalog Procedures. Answer:

6. Explain the reason why a JCL Catalog Procedure may be more popularly used that a JCL Instream Procedure. Answer:

7. What is a symbolic parameter in relationship to JCL Procedures? Answer:

8. What is the function of &SYSUID substitution variable? Answer:

Page 2 | 80