Syllabus of Streaming Courses in mainframe assembler and z/OS internals for everyone who interested to become a real systems programmer or system-level software developer for IBM mainframe platform, especially in z/OS system environment.
3. (C) 2009 Deru Sudibyo 3
PrefacePreface
Training will be conducted by an instructor whoTraining will be conducted by an instructor who
has “real experience” in developing system-levelhas “real experience” in developing system-level
software. He is an author of zJOS-XDI, ansoftware. He is an author of zJOS-XDI, an
integrated automation solution for z/OS system.integrated automation solution for z/OS system.
Each student may expect to be a “real systemsEach student may expect to be a “real systems
programmer” who ready to develop system-levelprogrammer” who ready to develop system-level
software for mainframe technology.software for mainframe technology.
Unless with special deal, training is conducted inUnless with special deal, training is conducted in
Indonesia, in either Bogor or Pemalang. This toIndonesia, in either Bogor or Pemalang. This to
avoid crowded situation and get fresher air.avoid crowded situation and get fresher air.
Especially in Pemalang, class will be located inEspecially in Pemalang, class will be located in
deep rural with beautiful views and originaldeep rural with beautiful views and original
Nusantara culture.Nusantara culture.
6. (C) 2009 Deru Sudibyo 6
Basic AssemblyBasic Assembly (cont’d)(cont’d)
Prereq:Prereq:
– Familiar with basic operational of z/OSFamiliar with basic operational of z/OS
– Familiar with z/OS development environmentFamiliar with z/OS development environment
(TSO, ISPF, SDSF and JES2)(TSO, ISPF, SDSF and JES2)
– Familiar with JCL codingFamiliar with JCL coding
– Optionally hold computer science relatedOptionally hold computer science related
backgroundbackground
Objective:Objective:
– Give audience a basic skill in assemblyGive audience a basic skill in assembly
programmingprogramming
Duration:Duration:
– 10 days10 days
8. (C) 2009 Deru Sudibyo 8
Advanced AssemblyAdvanced Assembly
Assembler instructionsAssembler instructions
Assembler macroAssembler macro
– Conding rules of assembler macroConding rules of assembler macro
– Multitier macro designMultitier macro design
Assorted system macros in generalAssorted system macros in general
programmingprogramming
– Macros for I/OMacros for I/O
– Macros for messagingMacros for messaging
9. (C) 2009 Deru Sudibyo 9
Advanced AssemblyAdvanced Assembly (cont’d)(cont’d)
Prereqs:Prereqs:
– Have passed basic assembly courseHave passed basic assembly course
Objective:Objective:
– Give audience an advance skill inGive audience an advance skill in
general assembly programminggeneral assembly programming
Duration:Duration:
– 5 days5 days
10. Basic ArchitecturalBasic Architectural
ProgrammingProgramming
Controls & Interruptions 15 daysControls & Interruptions 15 days
Channel programming 5 daysChannel programming 5 days
Bootstrap procedure 5 daysBootstrap procedure 5 days
Standalone programming 20 daysStandalone programming 20 days
11. (C) 2009 Deru Sudibyo 11
Basic Architectural ProgrammingBasic Architectural Programming
Controls & InterruptionsControls & Interruptions
– Control mechanism in z/SeriesControl mechanism in z/Series
– Interrupts handlingInterrupts handling
Channel programmingChannel programming
– CCWCCW
– Further handling for I/O interruptsFurther handling for I/O interrupts
Bootstrap procedureBootstrap procedure
– CCW and interrupt used in IPL processCCW and interrupt used in IPL process
– Placing IPL record and IPL program in I/O devicePlacing IPL record and IPL program in I/O device
Standalone programmingStandalone programming
– Preemptive programming workshopPreemptive programming workshop
12. (C) 2009 Deru Sudibyo 12
Controls and InterruptionsControls and Interruptions
Control mechanism in z/SeriesControl mechanism in z/Series
– PSW, control registers and PSAPSW, control registers and PSA
– Control instructionsControl instructions
– Controlling logic of operationControlling logic of operation
Interrupts handlingInterrupts handling
– InterruptionsInterruptions
– Memory map for interrupt controlMemory map for interrupt control
– Stages of interrupt handlingStages of interrupt handling
13. (C) 2009 Deru Sudibyo 13
Controls and InterruptionsControls and Interruptions (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in advenced assemblyHave a proven skill in advenced assembly
– Have a good knowledge in digital control or OSHave a good knowledge in digital control or OS
theorytheory
Objective:Objective:
– Give audience a skill of basic systemsGive audience a skill of basic systems
programming which drives to haveprogramming which drives to have
High ability to learn mainframe OS fasterHigh ability to learn mainframe OS faster
Ability to develop machine-level program for CPUAbility to develop machine-level program for CPU
Duration:Duration:
– 15 days15 days
14. (C) 2009 Deru Sudibyo 14
Channel ProgrammingChannel Programming
CCWCCW
– Channel commandsChannel commands
– Coding rulesCoding rules
– Logic of CCWLogic of CCW
Further handling for I/O interruptsFurther handling for I/O interrupts
– Uniques of I/O interruptionsUniques of I/O interruptions
– I/O instructions and related informationI/O instructions and related information
format in memoryformat in memory
– Managing I/O operationManaging I/O operation
15. (C) 2009 Deru Sudibyo 15
Channel ProgrammingChannel Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in controls andHave a proven skill in controls and
interruptions for z/Series mainframe machineinterruptions for z/Series mainframe machine
Objective:Objective:
– Give audience a skill of basic systemsGive audience a skill of basic systems
programming which drives to haveprogramming which drives to have
High ability to learn mainframe OS filesystem fasterHigh ability to learn mainframe OS filesystem faster
Ability to develop machine-level program for I/OAbility to develop machine-level program for I/O
Duration:Duration:
– 5 days5 days
16. (C) 2009 Deru Sudibyo 16
Bootstrap ProcedureBootstrap Procedure
CCW and interrupt used in IPL processCCW and interrupt used in IPL process
– Preparing IPL record: CCW to load content ofPreparing IPL record: CCW to load content of
I/O deviceI/O device
– Preparing IPL program: Routine to initializePreparing IPL program: Routine to initialize
PSA and all necessary interrupt handlersPSA and all necessary interrupt handlers
– Understanding IPL program in z/OS and z/VMUnderstanding IPL program in z/OS and z/VM
(VM SAPL)(VM SAPL)
Placing IPL record and IPL program in I/OPlacing IPL record and IPL program in I/O
devicedevice
– Placing IPL record and IPL program in DASDPlacing IPL record and IPL program in DASD
volume using ICKDSF utilityvolume using ICKDSF utility
– Placing IPL record and IPL program in tapePlacing IPL record and IPL program in tape
volumevolume
17. (C) 2009 Deru Sudibyo 17
Bootstrap ProcedureBootstrap Procedure (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in controls, interruptionsHave a proven skill in controls, interruptions
and channel programming for z/Seriesand channel programming for z/Series
mainframe machinemainframe machine
Objective:Objective:
– Give audience a skill of basic systemsGive audience a skill of basic systems
programming which drives to haveprogramming which drives to have
High ability to learn overall mainframe OS fasterHigh ability to learn overall mainframe OS faster
Ability to develop preemptive machine-level programAbility to develop preemptive machine-level program
Duration:Duration:
– 5 days5 days
18. (C) 2009 Deru Sudibyo 18
Standalone ProgrammingStandalone Programming
Preemptive programming workshopPreemptive programming workshop
– Tries to implement all skills gathered in allTries to implement all skills gathered in all
previous subjects to develop a smallprevious subjects to develop a small
application that runs directly from boot to endapplication that runs directly from boot to end
without any OS on z/Series machine or underwithout any OS on z/Series machine or under
z/VM virtual machine or on Hercules emulator.z/VM virtual machine or on Hercules emulator.
– This workshop can also be used (on yourThis workshop can also be used (on your
choice) to develop a miniature of OS with thechoice) to develop a miniature of OS with the
simplest filesystem and task management.simplest filesystem and task management.
19. (C) 2009 Deru Sudibyo 19
Standalone ProgrammingStandalone Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in controls, interruptions, channelHave a proven skill in controls, interruptions, channel
programming and bootstrap procedure for z/Seriesprogramming and bootstrap procedure for z/Series
mainframe machinemainframe machine
Objective:Objective:
– Give audience a skill of basic systems programmingGive audience a skill of basic systems programming
which drives to havewhich drives to have
High ability to learn overall mainframe OS fasterHigh ability to learn overall mainframe OS faster
Ability to develop preemptive machine-level softwareAbility to develop preemptive machine-level software
productproduct
Ability to be a team member of OS development projectAbility to be a team member of OS development project
Duration:Duration:
– 20 days20 days
21. (C) 2009 Deru Sudibyo 21
Basic Systems ProgrammingBasic Systems Programming
MVS programmingMVS programming
– Using memoryUsing memory
– MultitaskingMultitasking
– Using I/O servicesUsing I/O services
– Deal with supervisor state in z/OSDeal with supervisor state in z/OS
TSO programmingTSO programming
– Command processorsCommand processors
– Interfacing with ISPF and RexxInterfacing with ISPF and Rexx
JES2 programmingJES2 programming
– Accessing JES2 propertiesAccessing JES2 properties
– Communicate with JES2Communicate with JES2
22. (C) 2009 Deru Sudibyo 22
MVS ProgrammingMVS Programming
Using memoryUsing memory
– Allocating/deallocating private memoryAllocating/deallocating private memory
– Extended addressingExtended addressing
Using access registersUsing access registers
Using dataspace, hyperspace and DIVUsing dataspace, hyperspace and DIV
MultitaskingMultitasking
– Asynchronous processingAsynchronous processing
– Synchronizing asynchronous processesSynchronizing asynchronous processes
– Designing multitasking programDesigning multitasking program
– Intertasks communicationIntertasks communication
23. (C) 2009 Deru Sudibyo 23
MVS ProgrammingMVS Programming (cont’d)(cont’d)
Using I/O servicesUsing I/O services
– Using DFSMS macros for I/OUsing DFSMS macros for I/O
Deal with supervisor stateDeal with supervisor state
– Privileged instructionsPrivileged instructions
– Understanding control mechanismUnderstanding control mechanism
– Using common segment memoryUsing common segment memory
– Protecting memoryProtecting memory
– Inter address spaces communicationInter address spaces communication
24. (C) 2009 Deru Sudibyo 24
MVS ProgrammingMVS Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in advenced assemblyHave a proven skill in advenced assembly
– Have MVS sysadmin related experienceHave MVS sysadmin related experience
Objective:Objective:
– Give audience a skill of basic systemsGive audience a skill of basic systems
programming which drives to haveprogramming which drives to have
Advanced debuggig skillAdvanced debuggig skill
Ability to develop system interface in applicationAbility to develop system interface in application
programprogram
Ability to develop system-level software productsAbility to develop system-level software products
Duration:Duration:
– 30 days30 days
25. (C) 2009 Deru Sudibyo 25
TSO ProgrammingTSO Programming
Command processorsCommand processors
– Passing parameters to commandPassing parameters to command
processorprocessor
– Using TSO/E servicesUsing TSO/E services
Interfacing with ISPF and RexxInterfacing with ISPF and Rexx
– Using ISPF servicesUsing ISPF services
– Interact with Rexx programInteract with Rexx program
26. (C) 2009 Deru Sudibyo 26
TSO ProgrammingTSO Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in advenced assemblyHave a proven skill in advenced assembly
– Have advanced ISPF skillHave advanced ISPF skill
– Have rexx programming skillHave rexx programming skill
Objective:Objective:
– Give audience a skill of basic systems andGive audience a skill of basic systems and
applications programming for TSO/ISPFapplications programming for TSO/ISPF
application developmentapplication development
Duration:Duration:
– 5 days5 days
28. (C) 2009 Deru Sudibyo 28
JES2 ProgrammingJES2 Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in basic systemsHave a proven skill in basic systems
programmingprogramming
Objective:Objective:
– Give audience a skill of basic systemsGive audience a skill of basic systems
and applications programming for JES2and applications programming for JES2
application developmentapplication development
Duration:Duration:
– 5 days5 days
30. (C) 2009 Deru Sudibyo 30
Network ProgrammingNetwork Programming
Socket programmingSocket programming
– Using EZASMI macro for socketUsing EZASMI macro for socket
manipulationmanipulation
– Logic construction of server programLogic construction of server program
– Logic construction of client programLogic construction of client program
Interfacing to TCP/IP applicationInterfacing to TCP/IP application
– Interfacing to FTP programInterfacing to FTP program
– Interfacing to other TCP/IP programInterfacing to other TCP/IP program
31. (C) 2009 Deru Sudibyo 31
Network ProgrammingNetwork Programming (cont’d)(cont’d)
Prereqs:Prereqs:
– Have a proven skill in advenced assemblyHave a proven skill in advenced assembly
– Have a proven skill in multitasking usingHave a proven skill in multitasking using
assembly in MVS programmingassembly in MVS programming
Objective:Objective:
– Give audience a skill of assembly programmingGive audience a skill of assembly programming
for TCP/IP application developmentfor TCP/IP application development
Duration:Duration:
– 10 days10 days
32. (C) 2009 Deru Sudibyo 32
AboutAbout Ir.Ir. Deru SudibyoDeru Sudibyo
Author of many mainframe system-level softwareAuthor of many mainframe system-level software
– zJOS-XDIzJOS-XDI
An integrated automation solution for z/OS systemAn integrated automation solution for z/OS system
Currently marketed byCurrently marketed by PT SSHPT SSH
– SSRF/MVS (paid as professional services)SSRF/MVS (paid as professional services)
MVS spool splitter and router facilityMVS spool splitter and router facility
– SPICO/VM (paid as professional services)SPICO/VM (paid as professional services)
Automation tools for VM systemAutomation tools for VM system
– Many freeare inMany freeare in CBT TAPECBT TAPE
Author of 3 mainframe handbooksAuthor of 3 mainframe handbooks
– Arsitektur dan Teknologi Server ESAArsitektur dan Teknologi Server ESA
Architecture and technology of mainframe ESAArchitecture and technology of mainframe ESA
– Panduan AssemblerPanduan Assembler
Assembler GuideAssembler Guide
– Teknik Dasar Systems ProgrammingTeknik Dasar Systems Programming
Principle of system programming techniquesPrinciple of system programming techniques