You are here:
OpenVMS 7.x Alpha Programming Features I and II
This course is designed for FORTRAN (and C) application programmers who need access to the system dependent facilities of an OpenVMS system. It will teach the mechanics of calling system services, record management services, and general library procedures. This course was previously called: UTILIZING OpenVMS PROGRAMMING FEATURES FROM DEC FORTRAN and UTILIZING OpenVMS PROGRAMMING FEATURES FROM DEC C.
 
Who Should Attend
OpenVMS applications programmers.
 
Prerequisites
It is assumed that the student has completed the OpenVMS Fundamentals course, and has a working knowledge of the FORTRAN (or C) languages.
 
Features of this Course
Interactive lecture-lab delivery.
 
Course Contents

System Architecture

  • Layout of virtual address space
  • Access modes
  • Location of OpenVMS callable routines

Calling procedures

  • OpenVMS procedure calling standard
  • Calling routines
  • Passing arguments
  • Checking arguments
  • Calling supplied OpenVMS routines: RTL (LIB$), RMS$, CLI$, and system services (SYS$)

Synchronizing processes

  • Time services (SYS$SETIMR, SYS$BINTIM)
  • Events flags: local and common (SYS$WAITFR)
  • ASTs
  • Lock manager routines (SYS$ENQ, SYS$DEQ)

Accessing devices

  • Logical name services (SYS$CRELNM, SYS$TRNLNM)
  • Mounting volumes (SYS$MOUNT)
  • The QIO system services (SYS$QIO[W])
  • Device informational routines (SYS$GETDVI)
  • Creating and accessing mailboxes (SYS$CREMBX)

Managing other processes

  • Creating detached and subprocesses with and without DCL (SYS$CREPRC, LIB$SPAWN)
  • Controlling (other) processes (SYS$SETPRI)
  • Scheduling process execution (SYS$HIBER, SYS$WAKE)
  • Obtaining process and system information (SYS$GETJPI, SYS$GETSYI)

Building human interfaces (Command Definition Utility – CDU)

  • Creating DCL command definitions ($ SET COMMAND)
  • Using CLI callbacks (CLI$PRESENT, CLI$GET_VALUE)
  • Defining and using DCL foreign commands and DCL$PATH

Communicating between processes

  • Using the P1 common area (LIB$PUT_COMMON)
  • Accessing DCL symbols in programs (LIB$GET_SYMBOL)
  • Private and global sections (SYS$CRMPSC, SYS$MGBLSC)
  • Communicating with operators from images (SYS$SNDOPR)

Accessing terminals

  • Using the SMG$ routines
  • Handling control/C and control/Y routines

Sharing code

  • Creating and using shareable images

Handling exceptions and exits

  • VAX/Alpha condition handling facility
  • Using and defining a condition handler (LIB$ESTABLISH)
  • Unwinding the call stack (SYS$UNWIND)
  • Declaring and using exit handlers (SYS$DCLEXH)
  • Accessing termination mailboxes

Measuring and improving performance

  • Obtaining program performance statistics
  • (LIB$SHOW_TIMER)
  • Modifying the working set size (SYS$ADJWSL)

Using the callable MAIL interface

  • Callable MAIL routines (MAIL$)
  • Defining item lists for callable MAIL
 
 

 
 
Disclaimer: HP-UX, Tru64 Unix, OpenVMS and are registered trademarks of the Hewlett Packard Corporation. Solaris and Java are registered trademarks of Sun Corporation. AIX is a registered trademark of IBM. Oracle is a registered trademark of Oracle Corporation.