Stella General Descriptions

Stella is an operating system which is very different from most conventional operating systems in a large number of ways. The general documentation for Stella is intended to give an overall impression of its structure and capabilities without getting lost in detail. It is divided into a number of separate "briefs" to make it slightly less indigestible.


Stella Reliability Concepts - Predictability (October 1997)

The predictability of a system is rarely given the attention it deserves. In order to design for predictability, it is necessary to evaluate the execution time of all operations which can effect the system response to select the most appropriate algorithms. This attention to minute detail in Stella is directly opposed to the classical "academic" approach to operating system design.

  Predictability for reliability
    Contention for resources
    Response to external events


Stella Reliability Concepts - Security (October 1997)

The Stella approach to reliability is to tackle reliability problems at source. Rather than the classical, and largely ineffective, approach of damage limitation, Stella aims to make the whole system (including the applications) intrinsically sound.

  Operating system security
    Competition for shared resources
    Protection against programming errors
    System reconfiguration


Stella Module and Context Structure (October 1997)

A complete Stella system, including applications, is built from a number of modules. The Stella module structure has two levels: core modules, to maximise the efficiency at the low levels, and "entities", to maximise the flexibility at the higher levels. The Stella context structure is related to the module structure but, unlike classical "virtual machine" and "object" systems, it is open and flexible to simplify the modular construction of complex applications.

  Stella Core Module and Entity Structure
    Stella core modules
    Stella entities
  Stella context structure
    Context sharing
    Composite contexts


Stella Module and Entity Linkage (October 1997)

Stella provides several mechanisms to make the facilities in one module accessible to other modules. Each of these mechanisms provides a different compromise between performance, flexibility and ease of use.

  Linking and binding
  Linking mechanisms
    Core operating system modules
    Entities
  Special linkages


Stella Privilege Structure (October 1997)

The privilege structure of a Stella system is fairly classic, but the concept of privilege is more important in Stella than in most "modern" operating systems.

  Privilege for protection against erroneous accesses
    Hardware memory management
    Low cost hardware and high performance systems
    Levels of security
  Privilege for protection against access conflicts
    Two-level protection
    Atomised protection
    Self synchronous protection
    Comparison table for the Stella access conflict avoidance mechanisms


Stella Jobs and Handlers (October 1997)

Stella provides two separate, but compatible, task management facilities. These can handle the whole range of requirements from microsecond response to human time-scale interaction.

  Stella jobs
  Stella handlers
  Management of jobs and handlers


Stella External Event Management (October 1997)

Stella external event managers are efficient deadline and repitition rate schedulers designed to handle critical external events with guaranteed response times.

  External event management principles
  Run-time code generation


Stella Task Management (October 1997)

Stella task managers provide services for event handling, including periodic and one-shot timed events, as well as extensive facilities for more conventional multilevel prioritised multitasking.

  Stella task managers
    Timed handlers
    Stella schedulers
  Task management services


Stella Memory Management (October 1997)

Stella has a range of memory managers to support a wide variety of hardware configurations from micro controllers with a few kilobytes of memory, up to massive database servers. The basic memory model is designed to ensure that the memory manager interface remains consistent across the whole range of different types of systems.

  Standard Memory Model
    Memory Pools
    Additional Private Memory Pools
    Remove Linkages
    Common memory model
    Virtual memory model
    Temporary Memory


Stella Performance (October 1997)

All suppliers of operating systems claiming high performance include "comparative performance" figures in their blurb. The figures for Stella are no more misleading than most.


Copyright (c) 1997 Tony Tebby.