Migrating an Application from OpenVMS VAX to OpenVMS Alpha 7.0 199512

Order Number: AA-QSBKA-TE

This document, "Migrating an Application from OpenVMS VAX to OpenVMS Alpha" (December 1995), serves as a comprehensive guide for developers transitioning applications from the VAX architecture to the Alpha architecture, both running the OpenVMS operating system (Version 7.0).

The manual outlines a detailed application migration process, starting with:

  1. Evaluation and Planning: This involves taking inventory of application components, identifying dependencies on VAX-specific architectural features, and assessing portability. It helps in deciding the most suitable migration method.
  2. Migration Methods: Two primary paths are presented:
    • Recompiling and Relinking: The preferred method for optimal Alpha performance, especially for applications written in standard high-level languages using native Alpha compilers.
    • Translating: Utilizing tools like the VAX Environment Software Translator (VEST) and the Translated Image Environment (TIE) for applications where source code is unavailable or recompilation is impractical due to deep VAX dependencies. Translated images maintain VAX compatibility but typically run slower than native Alpha code.

A significant portion of the document is dedicated to identifying and resolving architectural differences and incompatibilities, which are critical for a successful transition. Key areas of focus include:

  • Differences between VAX (CISC, 32-bit) and Alpha (RISC, 64-bit) architectures, including instruction sets, data processing, and memory management.
  • Challenges related to data alignment and data types (e.g., Hfloating, Dfloating, packed decimal) due to Alpha's stricter requirements and different floating-point precision.
  • Maintaining the integrity of shared data by addressing VAX's implicit atomicity guarantees versus Alpha's explicit synchronization requirements, especially concerning read/write operations and memory access granularity.
  • Adapting applications to the larger page sizes on Alpha systems, which affects memory allocation and mapping routines.
  • Handling VAX-specific condition-handling mechanisms and the differences in arithmetic exception reporting.
  • Guidance on migrating VAX MACRO and privileged code, which often require significant modifications.

The document also covers the practical aspects of migration, such as setting up the migration environment, debugging, testing the migrated application, and integrating it into a software system. It highlights various Digital-provided tools (e.g., compilers, linkers, debuggers, VEST) and support services.

Finally, it addresses interoperability between native Alpha and translated VAX images, detailing how they can coexist and call each other. The document concludes with specific compatibility information and behavioral differences for common programming languages (Ada, C, COBOL, FORTRAN, Pascal) when compiled for OpenVMS Alpha.

AA-QSBKA-TE
2000
233 pages
Quality

Original
10MB

Site structure and layout ©2025 Majenko Technologies