OpenVMS Internals I
Course Code: U3719S
Length: 5 days
Schedule and Registration
This course is not currently scheduled.
Course Description
This course is designed to examine the components, structures and mechanisms of the OpenVMS operating system. It is intended for those students requiring an extensive understanding of these areas. This part of the course lays the foundations for understanding the mechanisms that will be used throughout the rest of the internals offerings at a programming level. the course will use the System Dump Analyzer to illustrate the concepts presented in the course materials. The majoity of the code will be written in DEC C and will be current as OpenVMS Version 8.3.
Who Should Attend
HP OpenVMS system programmers
Prerequisites
Before taking this course, students should be able to:
- Completion of OpenVMS Academy Programming Features - course code VM310
- Read and ideally write code, in VAX macro.
- Ability to program in DEC C.
Benefits of Attending this Class
This course features the foundations for understanding the mechanisms that will be used throughout the rest of the internals offerings. Students will learn the mechanisms that support the system and how to interact with them at a programming level.
Course Contents
Internals concepts
- Data Structures
- Data Structure
- Fields Linked
- Lists Stacks
- Asynchronous Events and Context
- Synchronization
- OpenVMS Symbolic Naming Conventions
General Alpha architecture
- CISC vs. RISC Architectures
- Computer Architectures
- Alpha RISC Architecture Overview
- Privileged Architecture Library
- VAX vs. Alpha Architecture
Data formats and general instructions
- Data Representation
- Floating Point Data Representation
- Instruction Formats
- Data Alignment Issues
HP OpenVMS calling standard
- Alpha Calling Standard
- Descriptors
- Alpha Calling Standard Mechanics
- Procedure Descriptors Variable-Size Stack Frame
- Alpha Calling Standard
HP OpenVMS PAL code
- General Non-Privileged PALcode
- OpenVMS Queues
- OpenVMS Internal Processor Regis
Synchronization: Alpha architectural issues
- Atomicity
- Unintentionally Shared Data
- Read/write Ordering
Introduction to SDA
- Debugging Tools Available
- SDA Requirements and Uses
- Command Summary
- Commonly Used SDA SHOW Options
- Symbols and Operators
- CLUE
The process
- Process concepts
- The Process and Kernel Threads
- Process Data Structures Overview
- Job Information Block (JIB)
- Kernel Threads
- PCB Vector Table
- Virtual Address Spa
Interrupts and exceptions
- Interrupts and Exceptions
- Processor Status Register
- SCB
- OpenVMS Access Modes
- Change Mode Instructions
- System Service Dispatching
Programming and system context synchronization
- The Change Mode System Services
- Using IPL for Synchronization
- Symmetric Multiprocessing Systems
- Spinlock Acquire Timeouts
- Mutual Exception Semaphores (Mutexes)
- Mutex Tracing
- Dynamic Memory Mechanisms
- v7.3 (v7.2-1H1) Pool Reclamation Change Review
Process context synchronization
- AST Concepts
- Timer Queue Entries
- Timer Queue Entry Changes
- Distributed Locking Mechanism
- Dynamic Resource Remastering
- Pre-v8.3 Dydnamic Resource Remastering
- v8.3 Lock Manager Changes
- Pre v7.3 Remastering Method
- Deadlock Detection in a Cluster
- Sub-Second Deadlock Wait
- Lock Review
- Monitoring Lock Activity
- Resolving Lock Resource Contention
- Dedicated CPU Lock Manager
- Dedicated CPU Lock Manager Interaction
Big picture review
- Calling Standard
- Process Structures
- Locating Structures
- Kernel Threads
- System Mechanisms
- AST Delivery
- Synchronization
- Nonpaged Pod Summary