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.