H Y P E R C P / M
       
               SYSTEM ARCHITECTURE DOCUMENTATION
       
       DOCUMENTATION
       -------------
       
 (DIR) 1. HyperCP/M Architecture Specification
 (DIR) 2. Virtual Resource Manager (VRM) Specification
       3. Kernel Services Specification
       4. Personality Specification
       5. Session Specification
       6. Storage Specification
       7. Compatibility & Validation Specification
 (DIR) 8. Future Ideas
       
       Documents 3-7 are not yet available.
       
       INTRODUCTION
       ------------
       
       HyperCP/M is an experimental architecture for a Z80-based
       virtualized operating-system environment.
       
       The system is designed to host operating-system personalities
       within isolated sessions while providing common resource
       management and hardware abstraction through HyperCP/M.
       
       The initial reference personality is CP/M 2.2.  The architecture,
       however, is personality-centric rather than CP/M-centric and is
       intended to permit additional personalities without requiring
       redesign of the underlying system.
       
       This documentation set defines the architecture, interfaces,
       components, and design principles of HyperCP/M.
       
       PROJECT GOALS
       -------------
       
       The principal goals of HyperCP/M are:
       
         * Compatibility
           Preserve compatibility with historical operating systems
           and applications where practical.
       
         * Simplicity
           Keep the architecture understandable and appropriate to a
           Z80-class system.
       
         * Modularity
           Separate hardware abstraction, kernel services, personalities,
           sessions, storage, and other major responsibilities through
           defined interfaces.
       
         * Extensibility
           Permit new personalities, devices, services, and hardware
           capabilities to be added without redesigning the existing
           architecture.
       
         * Isolation
           Provide each session with an isolated execution environment
           and prevent unintended interference between sessions.
       
         * Incremental Development
           Permit HyperCP/M to be developed and validated in stages.
       
         * Historical Preservation
           Provide an environment in which historical operating systems
           and software can continue to operate according to their
           expected interfaces and assumptions.
       
         * Native Evolution
           Permit HyperCP/M-specific capabilities to develop without
           requiring them to be incorporated into or understood by
           historical operating-system personalities.
       
       SCOPE
       -----
       
       The HyperCP/M architecture encompasses:
       
         * Virtualization of the Z80 execution environment.
         * Management and isolation of system resources.
         * Operating-system personalities.
         * Sessions and session state.
         * Console and management services.
         * Storage abstraction.
         * Interfaces between HyperCP/M components.
         * Compatibility and validation requirements.
       
       The initial reference implementation is centered on a CP/M 2.2
       personality.  This provides a concrete environment against which
       the architecture can be developed and tested without making
       CP/M 2.2 the architectural definition of HyperCP/M itself.
       
       NON-GOALS
       ---------
       
       HyperCP/M is not intended to replace the internal design of the
       operating systems that it hosts.
       
       A personality remains responsible for providing the operating-
       system environment expected by software running within that
       personality.
       
       HyperCP/M also does not require every proposed capability to be
       part of the initial implementation.  Features and architectural
       possibilities that have not been incorporated into the current
       design are documented separately as future ideas.
       
       The initial architecture should not be expanded merely to
       accommodate speculative future requirements.
       
       TERMINOLOGY
       -----------
       
       HyperCP/M
           The complete system architecture described by this
           documentation set.
       
       Personality
           An operating-system environment hosted by HyperCP/M.  A
           personality defines the environment and interfaces expected
           by software running within it.
       
       Session
           An instantiated execution environment using a particular
           personality.  A session owns or is assigned the resources
           necessary to preserve its execution state.
       
       Console
           A user-visible interactive display and input environment.
       
       Session Console
           The console associated with a running session.
       
       Management Services Console
           The HyperCP/M console used to access system-management
           facilities rather than an operating-system personality.
       
       Management Services Shell
           The command environment provided through the Management
           Services Console.
       
       Management Services Interface
           The defined interface through which HyperCP/M management
           facilities may be accessed.
       
       Management Services
           HyperCP/M facilities for controlling and inspecting the
           system independently of services supplied by an operating-
           system personality.
       
       VRM
           Virtual Resource Manager.  The HyperCP/M component that
           provides the virtual hardware and resource abstraction used
           by kernel subsystems.
       
       DOCUMENT OVERVIEW
       -----------------
       
       The HyperCP/M System Architecture Documentation Set is divided
       into the following documents:
       
 (DIR) 1. HyperCP/M Architecture Specification
           Defines the architectural principles, overall system
           architecture, and boundaries between major components.
       
 (DIR) 2. Virtual Resource Manager (VRM) Specification
           Defines the virtual hardware environment and resource model
           provided to HyperCP/M kernel subsystems and sessions.
       
       3. Kernel Services Specification
           Defines services provided by the HyperCP/M kernel.
       
       4. Personality Specification
           Defines the personality model and the interfaces between
           personalities and HyperCP/M.
       
       5. Session Specification
           Defines session creation, state, isolation, switching, and
           lifecycle.
       
       6. Storage Specification
           Defines HyperCP/M storage architecture and the mapping of
           storage resources to personalities and sessions.
       
       7. Compatibility & Validation Specification
           Defines compatibility objectives, conformance requirements,
           and methods used to validate implementations.
       
 (DIR) 8. Future Ideas
           Records proposed capabilities and architectural possibilities
           that are not part of the current specification.
       
       READING GUIDE
       -------------
       
       Readers seeking an overview of HyperCP/M should begin with the
       HyperCP/M Architecture Specification.
       
       The Virtual Resource Manager Specification describes the virtual
       hardware foundation upon which the remainder of the system is
       built.
       
       The Kernel Services, Personality, Session, and Storage
       specifications describe individual architectural components and
       their interfaces.
       
       The Compatibility & Validation Specification defines how the
       resulting implementation is evaluated against its architectural
       and compatibility requirements.
       
       Future Ideas is intentionally non-normative.  Material appearing
       there should not be treated as part of the HyperCP/M architecture
       unless it is subsequently incorporated into the appropriate
       specification.