OpenVMS Internals II
Course Code: U3720S
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 course discusses some of the interrelationships between code, data structures and synchronization techniques used in the operating system. System managers and application programmers will find useful technical background to assist them in their roles. Topics will include the effects of altering certain sysgen parameters, resource allocation and implications of granting privileges.
Who Should Attend
OpenVMS System Programmers
Prerequisites
- Completion of OpenVMS Academy Programming Features - course code VM310
- Completion of OpenVMS Alpha Internals I - course code U3719S
- Read and ideally write code, in VAX macro.
- Ability to program in DEC C.
Benefits of Attending this Class
Students attending this course should leave with knowledge and understanding of:
- The data structures that constitute a process and examine them using SDA
- The HP OpenVMS scheduling mechanism and change system parameters which affect scheduling
- The reasons for processes entering and leaving wait states
- The process to examine the contents of HP OpenVMS virtual address space
- Process and system stalls caused by process resource wait states
- The activities occurring in the various HP OpenVMS access modes
Course Contents
Internals Review Big Picture
- Calling Standard
- Process Structures
- Locating Structures
- Kernel Threads
- System Mechanisms
- AST Delivery
- Synchronization
- Nonpaged Pool Summary
Execlets
- Modular Executive
- Granularity Hint Regions
- Building an Excelet
Debugging tools
- Bugchecks
- SDA and Clue with Crashes
- Debugging Tools Available
- System Code Debugger
- SDA Extensions
- I/O Tracing PC Sampling
- Mutex Tracing
- TR Print Debugging
- SDA Extension Routines
OpenVMS scheduling
- Thread States
- Computable Queries
- Boost Classes
- Report System Event (RSE)
- Quantum End Activities
- Class Scheduler
Resource wait states
- Resource Wait States
- RWAST Table
- RWMBX Waits
- RWSCS Waits
- Mutex Waits
Process/kernel thread creation and deletion
- Techniques for Creating a Process
- PQL Parameters
- Process Types
- Process Exit Handler Support
- Kernel Thread Creation
- Kernel Thread Deletion
I/O: channel assignment and FDT routines
- General Terms
- Paths from I/O Initiation to Completion
- Channel Assignment
- Data Structures Involved In Channel Assignment
- I/O dB Lockup Routines
- $QIO Routine Processing
I/O: start I/O-to-I/O completion
- Start I/O Routine
- I/O Post Processing
- Kernel Processes
- Kernel Process Blocks
- Using KP Service Routines
- Extended File Cache
Multiprocessing issues
- CPU Sanity Timeout Crashes
- Inter-processor Interrupts
Scheduling and I/O big picture
- Scheduling Queries
- Rescheduling Interrupt
- Reporting an Event
- Channel Assignment
- FDT Routines Start I/O
- I/O Post Processing
- Cluster I/O