The Magic7 Operating System

There are several software functions, such as memory management, multitasking, and interprocess communications, which are commonly centralized into an operating system, either by necessity or virtue. The operating system running on each processor module in a Cheops system is called Magic7, and was developed here at the MIT Media Lab.

Unlike most multitasking operating systems, Magic7 permits processes to specify the points in their execution at which they may be "swapped out" and another process executed. This guarantees time critical portions of an application continuous execution. The swap points are indicated either explicitly by a call to proc_sleep() or implicitly by a file input/output function call.

A message passing facility is provided for commmunication among multiple processes executing on a single processor, or on other processor modules. Processes executing on the host computer may also use this facility to communicate with processes executing on the Cheops system.

Although Cheops is solely a target device on the SCSI bus, a resident client/server protocol allows Cheops programs downloaded and executed from the host to access files on the host filesystem, and to print and input on the host's console devices, using the same function calls as any ordinary host program under UNIX. See Chex Details for more information.

A monitor, or debug console, is provided as a destination for system (and application) error messages, as well as for aiding software and hardware debug. For reliability, it uses one of the serial ports on the Cheops processor module for it's I/O.

Why Magic7 ?


Modifying Magic7


Jump to Cheops Homepage
cheops-web@media.mit.edu
This is a "fix it yourself" page, located at /mas/garden/cheops/WWW/magic7/index.html