PARSEC Group has moved. Our new address is:
5610 Ward Road, Arvada, CO 80002.
See our moving page for details.
999 18th Street, Denver, CO 80202.
Log in Contact Us Now! +1 888 472 7732

OpenVMS Academy Programming Features

Course Code: VM310
Length: 5 days

Schedule and Registration

Course Description

This course is intended to quickly bring the application programmer up to speed for programming in an OpenVMS environment. The scope of material is fairly broad from basic compiling to advanced system services. Although some of the material is provided as an exposure to capabilities available to the programmer, it is expected that the students will be able to program at an in depth level upon completion of this course. The course covers the following categories: General Programming, Synchronization, File System and RMS, Processes and Scheduling, and Memory Management.

Who Should Attend

OpenVMS Application and System Programmers


Before taking this course, students should:

  • Have a fundamental understanding of OpenVMS
  • Be able to issue DCL commands
  • Be able to create and edit text files
  • Be familiar with one of the programming languages supported on OpenVMS

Benefits of Attending this Class

Upon completion of this course, students will be able to:

  • Compile and link a program
  • Read listing and map files
  • Call procedures, including system services and run-time library routines
  • Create and manage processes
  • Communicate with other processes
  • Synchronize using event flags and locks

Course Contents

  • System Architecture
  • OpenVMS Clusters
  • Access Modes
  • Processes
  • Memory Management Concepts
The Application Development Cycle
  • Development Cycle
  • OpenVMS Compilers
  • Common Compiler Options
  • OpenVMS Linker
  • Image Activation
  • Example Build and Activation
  • Symbolic Debuggere
  • Symbolic Naming Conventions
  • Libraries
  • Layered Products for Developers
Data Formats
  • Integral Values
  • Floating Point Values
  • Data Alignment
  • Calling Standard
  • Item Lists
  • Procedure Status
Library Routines
  • Run Time Library Routines
  • System Services
  • Utility Routines
  • Cross-Platform Routines
  • Extension and Integration Routines
  • String Manipulation Example
  • Convert Floating Point Data
  • Foreign Commands
  • System Messages
  • Sorting Data
Events and Synchronization
  • Synchronization
  • Specialized Instructions
  • Event Flags
  • I/O Status Block
  • Asynchronous System Traps
  • Recursive Programming
  • System Events
Time and Timers
  • Time Formats
  • System Time
  • Time Conversion
  • Mathematical Operations on Time
  • Components of Time
  • Coordinated Universal Time
  • Process Times and Counts
  • System Timers
Condition Handling
  • Conditions and Exceptions
  • Signaling an Exception
  • Condition Handlers
  • Exit Handlers
Record Management Services
  • RMS Concepts
  • RMS Structures
  • RMS Services
  • Sequential File Example
  • Indexed File Example
  • RMS Synchronization with Others
  • Language Specific Options
  • File Definition Language
  • RMS Utilities
Low Level I/O
  • Overview
  • File I/O
  • Mailbox I/O
  • Terminal I/O
  • Getting Device Information
  • Other QIO Interfaces
Lock Manager
  • Overview
  • Lock Modes
  • Blocking ASTs
  • Lock Implementation
Managing Processes
  • Image Activation
  • Process Creation
  • Process Selection for System Services
  • Getting Job/Process Information
  • Process Management and Control
Memory Management
  • Overview
  • Dynamic Memory Allocation
  • Process Sections
  • Virtual Memory and Physical Memory
  • 64-bit Memory Usage
Shareable Images
  • Shareable Images
  • Dynamically Loading Shareable Images
  • Common Blocks