HP OpenVMS Systems Documentation

Content starts here

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 Virtual Address Space
Chapter 11 Support for 64-Bit Addressing (Alpha Only)
Chapter 12 Memory Management Services and Routines on OpenVMS Alpha
Chapter 13 Memory Management Services and Routines on OpenVMS VAX
Chapter 14 Using Run-Time Routines for Memory Allocation
Chapter 15 Alignment on OpenVMS Alpha and VAX 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 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
Chapter 34 Logical Name and Logical Name Tables
Chapter 35 Image Initialization
Part 6 Glossary and Appendices: 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     Developing Real-Time Applications
     1.9     Optional Compaq Software Development Tools
     1.10     Managing Data
         1.10.1         RMS Files and Records
         1.10.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         Using LIB$SPAWN to Create a Spawned Subprocess
         2.4.2         Using the C system() Call
         2.4.3         Using SYS$CREPRC to Create a Subprocess
             2.4.3.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 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
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             Using Logical Name Tables
             3.1.2.2             Using Access Modes
             3.1.2.3             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         Mailboxes
             3.2.1.1             Creating a Mailbox
             3.2.1.2             Creating Temporary and Permanent Mailboxes
             3.2.1.3             Assigning an I/O Channel Along with a Mailbox
             3.2.1.4             Reading and Writing Data to a Mailbox
             3.2.1.5             Using Synchronous Mailbox I/O
             3.2.1.6             Using Immediate Mailbox I/O
             3.2.1.7             Using Asynchronous Mailbox I/O
     3.3     Intra-Cluster Communication
         3.3.1         Programming with Intra-Cluster 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