hp.com home products and services support and drivers solutions how to buy
cd-rom home
End of Jump to page title
HP OpenVMS systems
documentation

Jump to content


HP OpenVMS Programming Concepts Manual

HP OpenVMS Programming Concepts Manual


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Overview of Manuals and Introduction to Development on OpenVMS Systems
Part 1 Process and Synchronization
Chapter 2 Process Creation
Chapter 3 Process Communication
Chapter 4 Process Control
Chapter 5 Symmetric Multiprocessing (SMP) Systems
Chapter 6 Synchronizing Data Access and Program Operations
Chapter 7 Synchronizing Access to Resources
Part 2 Interrupts and Condition Handling
Chapter 8 Using Asynchronous System Traps
Chapter 9 Condition-Handling Routines and Services
Part 3 Addressing and Memory Management
Chapter 10 Overview of Alpha and I64 Virtual Address Space
Chapter 11 Support for 64-Bit Addressing (Alpha and I64 Only)
Chapter 12 Memory Management Services and Routines on OpenVMS Alpha and OpenVMS I64
Chapter 13 Memory Management Services and Routines on OpenVMS VAX
Chapter 14 Using Run-Time Routines for Memory Allocation
Chapter 15 Alignment on VAX, Alpha, and I64 Systems
Chapter 16 Memory Management with VLM Features
Part 4 OpenVMS Programming Interfaces: Calling a System Routine
Chapter 17 Call Format to OpenVMS Routines
Chapter 18 Basic Calling Standard Conventions
Chapter 19 Calling Run-Time Library Routines
Chapter 20 Calling System Services
Chapter 21 STARLET Structures and Definitions for C Programmers
Part 5 I/O, System, and Programming Routines
Chapter 22 Run-Time Library Input/Output Operations
Chapter 23 System Service Input/Output Operations
Chapter 24 Using Run-Time Library Routines to Access Operating System Components
Chapter 25 Using Cross-Reference Routines
Chapter 26 Shareable Resources
Chapter 27 System Time Operations
Chapter 28 File Operations
Chapter 29 Overview of Extended File Specifications (Alpha and I64 Only)
Chapter 30 Distributed Transaction Manager (DECdtm)
Chapter 31 Creating User-Written System Services
Chapter 32 System Security Services
Chapter 33 Authentication and Credential Management (ACM) System Service (Alpha and I64 Only)
Chapter 34 Logical Name and Logical Name Tables
Chapter 35 Image Initialization
Part 6 Glossary and Appendixes: Authentication Glossary, Macros, and Examples of 64-Bit Programming
  Glossary
Appendix A C Macros for 64-Bit Addressing
Appendix B 64-Bit Example Program
Appendix C VLM Example Program
Appendix D Generic Macros for Calling System Services
Appendix E OpenVMS Data Types
Appendix F Distributed Name Service Clerk (VAX Only)
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Overview of Manuals and Introduction to Development on OpenVMS Systems
     1.1     Overview of the Manual
     1.2     Overview of the OpenVMS Operating System
     1.3     Components of the OpenVMS Operating System
         1.3.1         OpenVMS Systems on Multiple Platforms
             1.3.1.1             System Compatibility and Program Portability Across Platforms
         1.3.2         OpenVMS Computing Environments
             1.3.2.1             Open System Capabilities
             1.3.2.2             Application Portability
                 1.3.2.2.1                 Other Application Portability Features
         1.3.3         Distributed Computing Capabilities
             1.3.3.1             Client/Server Style of Computing
             1.3.3.2             OpenVMS Client/Server Capabilities
     1.4     The OpenVMS Programming Environment
         1.4.1         Programming to Standards
             1.4.1.1             Common Environment for Writing Code
             1.4.1.2             Common Language Environment
     1.5     OpenVMS Programming Software
         1.5.1         Creating Program Source Files
         1.5.2         Creating Object Files
         1.5.3         Creating Runnable Programs
         1.5.4         Testing and Debugging Programs
             1.5.4.1             Special Modes of Operation for Debugging
         1.5.5         Using Other Program Development Utilities
         1.5.6         Managing Software Development Tasks
     1.6     Using Callable System Routines
         1.6.1         Using the POSIX Threads Library Routines
         1.6.2         Using OpenVMS Run-Time Library Routines
         1.6.3         Using OpenVMS System Services
         1.6.4         Using OpenVMS Utility Routines
     1.7     Programming User Interfaces
     1.8     Optional HP Software Development Tools
     1.9     Managing Data
         1.9.1         RMS Files and Records
         1.9.2         RMS Utilities
Part 1
Part 1 Process and Synchronization
Chapter 2
2 Process Creation
     2.1     Process Types
     2.2     Execution Context of a Process
     2.3     Modes of Execution of a Process
     2.4     Creating a Subprocess
         2.4.1         Naming a Spawned Subprocess
         2.4.2         Using LIB$SPAWN to Create a Spawned Subprocess
         2.4.3         Using the C system() Call
         2.4.4         Using SYS$CREPRC to Create a Subprocess
             2.4.4.1             Disk and Directory Defaults for Created Processes
     2.5     Creating a Detached Process
     2.6     Process Quota Lists
     2.7     Debugging a Subprocess or a Detached Process
     2.8     Kernel Threads and the Kernel Threads Process Structure (Alpha and I64 Only)
         2.8.1         Definition and Advantages of Kernel Threads
         2.8.2         Kernel Threads Features
             2.8.2.1             Multiple Execution Contexts Within a Process
             2.8.2.2             Efficient Use of the OpenVMS and POSIX Threads Library Schedulers
             2.8.2.3             Terminating a POSIX Threads Image
         2.8.3         Kernel Threads Model and Design Features
             2.8.3.1             Kernel Threads Model
             2.8.3.2             Kernel Threads Design Features
                 2.8.3.2.1                 Process Structure
                 2.8.3.2.2                 Access to Inner Modes
                 2.8.3.2.3                 Scheduling
                 2.8.3.2.4                 ASTs
                 2.8.3.2.5                 Event Flags
                 2.8.3.2.6                 Process Control Services
         2.8.4         Kernel Threads Process Structure
             2.8.4.1             Process Control Block (PCB) and Process Header (PHD)
                 2.8.4.1.1                 Effect of a Multithreaded Process on the PCB and PHD
             2.8.4.2             Kernel Thread Block (KTB)
             2.8.4.3             Floating-Point Registers and Execution Data Blocks (FREDs)
             2.8.4.4             Kernel Threads Region
             2.8.4.5             Per-Kernel Thread Stacks
             2.8.4.6             Per-Kernel-Thread Data Cells
             2.8.4.7             Summary of Process Data Structures
             2.8.4.8             Kernel Thread Priorities
     2.9     THREADCP Command Not Supported on OpenVMS I64
     2.10     KPS Services (Alpha and I64 only)
Chapter 3
3 Process Communication
     3.1     Communication Within a Process
         3.1.1         Using Local Event Flags
         3.1.2         Using Logical Names
             3.1.2.1             Creating and Accessing Logical Names
         3.1.3         Using Command Language Interpreter Symbols
             3.1.3.1             Local and Global Symbols
             3.1.3.2             Creating and Using Global Symbols
         3.1.4         Using the Common Area
             3.1.4.1             Creating the Process Common Area
             3.1.4.2             Common I/O Routines
             3.1.4.3             Modifying or Deleting Data in the Common Block
             3.1.4.4             Specifying Other Types of Data
     3.2     Communication Between Processes
         3.2.1         Using Logical Name Tables
         3.2.2         Mailboxes
             3.2.2.1             Creating a Mailbox
             3.2.2.2             Creating Temporary and Permanent Mailboxes
             3.2.2.3             Assigning an I/O Channel Along with a Mailbox
             3.2.2.4             Reading and Writing Data to a Mailbox
             3.2.2.5             Using Synchronous Mailbox I/O
             3.2.2.6             Using Immediate Mailbox I/O
             3.2.2.7             Using Asynchronous Mailbox I/O
     3.3     Intracluster Communication
         3.3.1         Programming with Intracluster Communications
             3.3.1.1             ICC Concepts
             3.3.1.2             Design Considerations
                 3.3.1.2.1                 Naming
                 3.3.1.2.2                 Message Ordering
                 3.3.1.2.3                 Flow Control
                 3.3.1.2.4                 Transfer Sizes and Receiving Data
                 3.3.1.2.5                 Transfer Sizes and Transceive
                 3.3.1.2.6                 Disconnection
                 3.3.1.2.7                 Error Recovery
             3.3.1.3             General Programming Considerations
             3.3.1.4             Servers
                 3.3.1.4.1                 Connection Events
                 3.3.1.4.2                 Disconnection Events
             3.3.1.5             Clients


Previous Next Contents Index