Phone: +1.978.451.0110

css button by

OpenVMS Internals I TR-1PL301-VMS
Price: $4,000 / 5 days
Format: Lecture Lab
Course Description:
This course is designed to examine the components, structures and mechanisms of the OpenVMS Alpha 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. HP Course ID: u3719s.
OpenVMS System Managers
OpenVMS System Programmers
- Completion of the Programming with system services courses
- The ability to read Macro
- Ability to program in C
Course Objectives:

- Describe and differentiate between system context and process context
- Describe process creation and supporting process related data structures
- Describe the implementation of selected interrupt service routines including AST delivery, scheduling, hardware clock and software timer routines
- Describe the processing and roles of interrupts and exceptions on OpenVMS
- Describe the roles of the following synchronization techniques: IPL, spinlocks, mutexes, and locks
- Describe the data structures that constitute a process and examine them using SDA

Course Outline:

Internals Concepts
- Data Structures
- Data Structure Fields
- Linked Lists
- Stacks
- Asynchronous Events and Context
- Synchronization
- OpenVMS Symbolic Naming Conventions

General Alpha Architecture
- CISC versus RISC Architectures
- Computer Architectures
- Alpha RISC Architecture Overview
- Privileged Architecture Library
- VAX versus Alpha Architecture

Data Formats and General Instructions
- Data Representation
- Floating Point Data Representation
- Instruction Formats
- Data Alignment Issues

OpenVMS Calling Standard
- Alpha Calling Standard
- Descriptors
- Alpha Calling Standard Mechanics
- Procedure Descriptors
- Variable-Size Stack Frame
- Alpha Calling Standard

OpenVMS PAL Code
- General Non-Privileged PALcode
- OpenVMS Queues
- OpenVMS Internal Processor Registers

Synchronization and Architectural Considerations
- 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

The Process
- Process concepts
- The Process and Kernel Threads
- Process Data Structures Overview
- Job Information Block (JIB)
- Kernel Threads
- PCB Vector Table
- Virtual Address Space

Interrupts and Exceptions
- Interrupts and Exceptions
- Processor Status Register
- OpenVMS Access Modes
- Change Mode Instructions
- System Service Dispatching

Programming and System Content
- The Change Mode System Services
- Using IPL for Synchronization
- Symmetric Multiprocessing Systems
- Spinlock Acquire Timeouts
- Mutual Exception Semaphores (Mutexes)
- Mutex Tracing
- Dynamic Memory Mechanisms
- Pool Reclamation

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
- 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

The Big Picture Review
- Calling Standard
- Process Structures
- Locating Structures
- Kernel Threads
- System Mechanisms
- AST Delivery
- Synchronization
- Nonpaged Pod Summary

Click for the latest schedule