[comp.os.research] Harmony Realtime Operating System

mackay@nrcctis.UUCP (Stephen MacKay) (05/28/88)

It has come to our attention that you are compiling a list of operating
systems research projects.  You might be interested in including our work
on the Harmony realtime operating system.
-----------------

Harmony is a multitasking multiprocessor operating system for realtime
control developed at the National Research Council of Canada.  Message
passing is the mechanism used for task communication and synchronization in
Harmony.  Harmony is an open system; that is, it is easy to use the system
on many different configurations of hardware, and in particular to support
peripherals not thought of when Harmony itself was originally designed.
Servers written for Harmony include: a TTY server, a virtual terminal
server, a UW (Unix Windows) server, a clock server, file system and file
device servers, a graphics tablet server, an explicit scheduler, a robot
arm server, and an ethernet TCP/IP server.  Work on an MDE (multi-device
emulator) server is in progress.

Harmony is a portable system.  It currently runs on a variety of Motorola
68000, 68010 and 68020 based, single-processor or multiprocessor, Multibus
or VMEbus hardware configurations.  A multiprocessor system to run Harmony
can be built using any off-the-shelf single-board microcomputers satisfying
certain requirements:
        - a single flat address space
        - a reasonable amount of on-board dual ported memory
        - a mechanism by which any processor can interrupt any
          other processor, including itself.
A thin-wire implementation of Harmony is in the planning stages, which
will eliminate the flat address space requirement.  Two interesting
single processor implementations of Harmony are on a VAX 750 and an Atari
520/1040 ST.

The operating system is written in C (plus a very small amount of assembly
code).  Harmony itself is not designed to support a program development
environment.  Program development is done on some host computer.  Any
computer with a C cross-compiler for the target processor, a tree-
structured file system, and a reasonable amount of disk space could be used
as a host for Harmony development.  We do our development on a network of
Apple Macintoshes, while Unix and VMS are the development systems of choice
for some other users of Harmony.

An NRCC technical report titled "Using the Harmony Operating System" by
W.M. Gentleman is available.  Release 3.0 of the Harmony source will be
available in the summer of 1988. Inquiries about Harmony should be
directed to:
        W. Morven Gentleman
        Laboratory for Intelligent Systems
        Division of Electrical Engineering
        National Research Council of Canada
        Ottawa, Ontario, Canada K1A 0R8
        Phone: (613) 993-3857
        Email: gentleman%nrcctis@watcgl.waterloo.edu    or
               gentleman@nrcctis.UUCP

Commercial support of Harmony is supplied by:
        P-CAN Research Inc.
        80 Galaxy Boulevard, Unit 7
        Rexdale, Ontario, Canada M9W 4Y8
        Phone: (416) 674-6600
        Telex: 06-989305
        Fax:   (416) 674-6918

-----------------
Stephen MacKay  DEE/NRCC
        mackay%nrcctis@watcgl.waterloo.edu    or
        mackay@nrcctis.UUCP