Document revision date: 19 July 1999
OpenVMS Programming Concepts Manual
Begin
Index
Contents (summary)
Preface
Preface
Chapter 1
Process Creation
Chapter 2
Process Communication
Chapter 3
Process Control
Chapter 4
Symmetric Multiprocessing (SMP) Systems
Chapter 5
Using Asynchronous System Traps
Chapter 6
System Time Operations
Chapter 7
Using Run-Time Library Routines to Access Operating System Components
Chapter 8
Using Cross-Reference Routines
Chapter 9
Run-Time Library Input/Output Operations
Chapter 10
File Operations
Chapter 11
System Service Input/Output Operations
Chapter 12
Logical Name and Logical Name Tables
Chapter 13
Distributed Name Service (VAX Only)
Chapter 14
Using the Distributed Transaction Manager
Chapter 15
Condition-Handling Routines and Services
Chapter 16
Synchronizing Data Access and Program Operations
Chapter 17
Synchronizing Access to Resources
Chapter 18
Image Initialization
Chapter 19
Shareable Resources
Chapter 20
Creating User-Written System Services
Chapter 21
Memory Management Services and Routines (VAX Only)
Chapter 22
Memory Management Services and Routines (Alpha Only)
Chapter 23
Using Run-Time Routines for Memory Allocation
Chapter 24
Alignment on OpenVMS VAX and Alpha Systems
Chapter 25
System Security Services
Index
Figures
Examples
Tables
Contents
Preface
Preface
Preface
Chapter 1
1
Process Creation
1.1
Process Types
1.2
Execution Context of a Process
1.3
Modes of Execution of a Process
1.4
Creating a Subprocess
1.4.1
Using LIB$SPAWN to Create a Spawned Subprocess
1.4.2
Using PPL$SPAWN to Create a Spawned Subprocess
1.4.3
Using SYS$CREPRC to Create a Subprocess
1.4.3.1
Disk and Directory Defaults for Created Processes
1.4.4
Debugging Within a Subprocess
1.5
Creating a Detached Process
1.6
Kernel Threads and the Kernel Threads Process Structure (Alpha Only)
1.6.1
Definition and Advantages of Kernel Threads
1.6.2
Kernel Threads Features
1.6.2.1
Multiple Execution Contexts Within a Process
1.6.2.2
Efficient Use of the OpenVMS and DECthreads Schedulers
1.6.3
Kernel Threads Model and Design Features
1.6.3.1
Kernel Threads Model
1.6.3.2
Kernel Threads Design Features
1.6.3.2.1
Process Structure
1.6.3.2.2
Access to Inner Modes
1.6.3.2.3
Scheduling
1.6.3.2.4
ASTs
1.6.3.2.5
Event Flags
1.6.3.2.6
Process Control Services
1.6.4
Kernel Threads Process Structure
1.6.4.1
Process Control Block (PCB) and Process Header (PHD)
1.6.4.1.1
Effect of a Multithreaded Process on the PCB and PHD
1.6.4.2
Kernel Thread Block (KTB)
1.6.4.3
Floating-Point Registers and Execution Data Block (FRED)
1.6.4.4
Kernel Threads Region
1.6.4.5
Per-Kernel Thread Stacks
1.6.4.6
Per-Kernel-Thread Data Cells
1.6.4.7
Summary of Process Data Structures
Chapter 2
2
Process Communication
2.1
Communication Within a Process
2.1.1
Using Local Event Flags
2.1.2
Using Logical Names
2.1.2.1
Using Logical Name Tables
2.1.2.2
Using Access Modes
2.1.2.3
Creating and Accessing Logical Names
2.1.3
Using Command Language Interpreter Symbols
2.1.3.1
Local and Global Symbols
2.1.3.2
Creating and Using Global Symbols
2.1.4
Using the Common Area
2.1.4.1
Creating the Process Common Area
2.1.4.2
Common I/O Routines
2.1.4.3
Modifying or Deleting Data in the Common Block
2.1.4.4
Specifying Other Types of Data
2.2
Communication Between Processes
2.2.1
Mailboxes
2.2.1.1
Creating a Mailbox
2.2.1.2
Creating Temporary and Permanent Mailboxes
2.2.1.3
Assigning an I/O Channel Along with a Mailbox
2.2.1.4
Reading and Writing Data to a Mailbox
2.2.1.5
Using Synchronous Mailbox I/O
2.2.1.6
Using Immediate Mailbox I/O
2.2.1.7
Using Asynchronous Mailbox I/O
2.3
Intra-Cluster Communication
2.3.1
Programming with Intra-Cluster Communications
2.3.1.1
ICC Concepts
2.3.1.2
Design Considerations
2.3.1.2.1
Naming
2.3.1.2.2
Message Ordering
2.3.1.2.3
Flow Control
2.3.1.2.4
Transfer Sizes and Receiving Data
2.3.1.2.5
Transfer Sizes and Transceive
2.3.1.2.6
Disconnection
2.3.1.2.7
Error Recovery
2.3.1.3
General Programming Considerations
2.3.1.4
Servers
2.3.1.4.1
Connection Events
2.3.1.4.2
Disconnection Events
2.3.1.5
Clients
Previous
Next
Contents
Index
privacy and legal statement
5841PRO_CONTENTS.HTML