Compaq OpenVMS Alpha Programming Features I
Course Code: 910
Length: 5 Days
This course presents OpenVMS capabilities available to system programmers.
This course features:
- OpenVMS programming fundamentals
- Process and Scheduling management
- Synchronization
- Major system services and run-time library procedures.
Who Should Attend
OpenVMS System Programmers
Prerequisites
Before taking this course, students should be able to:
- Log in and out of an OpenVMS system
- Set up terminal characteristics
- Issue DCL commands
- Create and edit text files
- Send messages to other system users
- Write a simple command procedure
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, specifically system services
- Create a process
- Communicate with a process
- Synchronize using event flags and locks
Course Contents
GENERAL PROGRAMMING
- General Alpha Architecture
- Registers and Data Types
- Instruction Overview
- PALcode
- Virtual Address Space and Address Translation
- OpenVMS Calling Standard
- Register Usage
- Procedure Types
- Data Passing/Returning
- By Immediate Value
- By Reference
- By Descriptor
- Status Values and System Messages
- Procedure Descriptors
- Programming Languages
- AMACRO
- MACRO32
- DEC C
- BLISS
- Producing Programs
- Symbolic Naming Conventions
- Program Sections
- Compiling and Object Modules
- Linking and Executable Images
- Generating and Reading Maps
- The Symbolic Debugger
- Libraries
- Text Libraries
- C header "files"
- Object Libraries
- Help Libraries
- DCLTABLES and COMMAND DEFINITION UTILITY BASICS
- $ SET COMMAND
- CLI$PRESENT/CLI$GET_VALUE
- Support Procedures
- Run-Time Libraries
- System Services
- Record Management Services
THE PROCESS AND SCHEDULING SUBSYSTEM
- The Process
- Software Context
- Identification
- Privileges and Rights
- Privileges
- UIC
- Identifiers
- Quotas and Limits
- Priority
- Process Permanent I/O
- Hardware Context
- Memory Management Context
- Methods for Process Creation/Management
- The Create Process (SYS$CREPRC) System Service
- Spawning (LIB$SPAWN)
- Adjusting Priority (SYS$SETPRI)
- Deleting Processes/Running Down Images
- (SYS$FORCEX/SYS$DELPRC)
- Exit Handlers (SYS$DCLEXH)
- Suspending and Resuming Processes
- (SYS$SUSPND/SYS$RESUME)
- Hibernating and Waking Processes
- (SYS$HIBER/SYS$WAKE)
- Obtaining Information about Processes
- SYS$GETJPI/LIB$GETJPI
- SYS$PROCESS_SCAN
- SYNCHRONiZATION
- Asynchronous Events
- Local Event Flags
- (SYS$WAITFR/SYS$WFLOR/SYS$WFLAND/
- SYS$READEF/SYS$SYNCH/SYS$SETEF/SYS$CLREF)
- (LIB$GET_EF/LIB$FREE_EF/LIB$RESERVE_EF)
- Asynchronous System Traps
- Timers and Time
- Time Based Events
- SYS$SETIMR/SYS$CANTIM
- SYS$BINTIM/SYS$ASCTIM
- LIB$CONVERT_DATE_STRING/
- LIB$CVTF_FROM_INTERNAL_TIME,...
- Lock Management
- (SYS$ENQ/SYS$DEQ/SYS$GETLKI)
- Locks and Resources
- Lock Modes
- Lock Conversion
- Value Blocks
- Process Synchronization/Communication
- Common Event Flags
- Logical Names
- (SYS$CRELNM/SYS$CRELNT/SYS$TRNLNM)
- Mailboxes (SYS$CREMBX/SYS$QIO)
- Termination Mailboxes
- Intracluster Communication
|