HeliOS

HeliOS

Infobox_OS
name = HeliOS



caption =
developer = Perihelion Software
family = Unix-like
source_model = Proprietary
working_state = Historic
latest_release_version = 1.3.1
latest_release_date = (date unknown)
kernel_type = Microkernel
license =
website =

HeliOS was a Unix-like operating system for parallel computers developed and sold by Perihelion Software. It was most commonly used on various Transputer systems, but also supported other architectures. The system provided a micro-kernel that implemented a distributed name space and messaging protocol, through which services were accessed. A POSIX compatibility library enabled the use of Unix application software, and the system provided most of the usual Unix utilities.

Work on Helios began in the autumn of 1986. [The Helios parallel operating system, p9] Its success was limited by the commercial failure of the Transputer, and efforts to move to other architectures met with limited success. Perihelion ceased trading in 1998. [cite web|last=King|first=Tim|title=Tim King - CV|url=http://www.tim-king.com/cv.html|accessdate=2007-03-18]

Development

In the early 1980s, Tim King joined MetaComCo from Bath University, bringing with him some rights to an operating system called TRIPOS. [citation
last1=Richards|first1=M.
last2=Aylward|first2=A.R.
last3=Bond|first3=P.
last4=Evans|first4=R.D.
last5=Knight|first5=B.J.
title=TRIPOS -- a Portable Operating System for Mini-computers
journal=Software Practice and Experience
volume=9|pages=513-526|date=September 1979|year=1979
] MetaComCo secured a contract from Commodore to work on AmigaOS, with the AmigaDOS component being derived from TRIPOS. In 1986, King left MetaComCo to found Perihelion Software, and began development of a parallel operating system, initially targeted at the INMOS Transputer series of processors. Helios extended TRIPOS' use of a light-weight message passing architecture to networked parallel machines.

Helios 1.0 was the first commercial release in the summer of 1988, followed by version 1.1 in autumn 1989, 1.1a in early 1990, 1.2 in December 1990 followed by 1.2.1 and 1.2.2 updates. Version 1.3 was a significant upgrade with numerous utility, library, server and driver improvements. The last commercial release was 1.3.1.

Kernel and Nucleus

Helios was designed for a network of multiple nodes, connected by multiple high-bandwidth communications links. Nodes could be dedicated processing nodes, or processors with attached I/O devices. Small systems might consist of a host PC or workstation connected to a set of several processing nodes, while larger systems might have hundreds of processing nodes supported by dedicated nodes for storage, graphics, or user terminals.

A Helios network requires at least one I/O Server node that is able to provide a file system server, console server and reset control for the processing nodes. At power on, the Helios Nucleus is bootstrapped from the I/O server into the network. Each node is booted using a small first-stage loader that then downloads and initialises the nucleus proper. Once running, a node communicates with its neighbours, booting them in turn, if required.

The Helios Nucleus is composed of the kernel, libraries, loader service and the processor manager service.

Kernel

The Helios kernel is effectively a micro-kernel, providing a minimal abstraction above the hardware with most services implemented as non-privileged server processes. It provides memory allocation, process management, message passing and synchronisation primitives.

Libraries

The Helios Nucleus contains three libraries: the system, server and utility libraries. The utility library provides some basic library routines for C programming that are shared by the other libraries. The system library provides the basic kernel interface, converting C function calls into messages sent to and from the kernel. It implements an abstraction that allows communication between processes regardless of their location in the network. The server library provides name space support functions for writing Helios servers, as described below.

Loader and Processor Manager

The remaining components of the nucleus are the loader and processor manager servers. Once the kernel is loaded, these processes are bootstrapped, and they integrate the newly running node into the Helios network.

Naming and Servers

A key feature in Helios is its distributed name system. A Helios network implements a single unified name space, with a virtual root node, optional virtual network structuring nodes, nodes for each processor, and sub-processor name spaces provides by services. Names are similar to those in Unix, using a forward slash separating character and textual naming elements.

The name space is managed by the "network server", which is started by the I/O server once the nucleus is booted on its first attached node. The network server uses a provided network map to allocate processor names and initialise drivers for hardware devices at specific nodes in the network. The kernel includes a name resolver, and manages a local cache of routes to previously resolved names.

Servers are Helios processes that implement the "General Server Protocol", typically with the support of the server library. The server protocol is conceptually similar to the Unix VFS API, and more closely to Plan9's 9P. It requires that servers represent their resources as files, with standardised open/read/write/close-style operations. Like Plan9, Linux's /proc and other pseudo-filesystems and Unix, files, I/O devices, users, processes and other resources are all represented as virtual files in the namespace served by their managing process.

Key servers in Helios are the previously mentioned loader, processor manager and network server, together with the session manager, the window server and the file server. Others include the keyboard, mouse, rs232 and centronics servers (built into the host I/O server), the null server (like Unix's /dev/null), the logger server (like Unix's Syslog), etc.

Programming and Utilities

From a user's perspective, Helios is quite similar to Unix. Most of the usual utility programs were provided, some with extensions to reflect the availability of multiple machines.

What is not immediately apparent is that Helios extends the notion of Unix pipes into a language called "Component Distribution Language" (CDL). In CDL, a typical Unix shell pipeline such as ls | more is called a "task force", and is transparently distributed by the "Task Force Manager" server across the available CPUs. CDL extended traditional Unix syntax with additional operators for bi-direction pipes, sequential and parallel process farm operators, load balancing and resource management.

Helios applications can be written using C, C++, FORTRAN and Modula-2. The POSIX library assists in porting existing Unix software, and provides a familiar environment for programmers. Helios does not support occam programs.

Hardware

Helios was predominantly an operating system for Transputer systems. It supported products from various manufacturers including INMOS' TRAM systems, the Meiko CS, Parsytec MultiCluster and SuperCluster, and the Telmat T.Node. The Atari Transputer Workstation was perhaps the highest profile Helios hardware, at least outside academia.

Helios ran on T4xx and T8xx, 32 bit Transputers (but not the T2xx 16 bit models) and offered device drivers for various SCSI, Ethernet and graphics hardware from Inmos, Transtech, and others.

In its later versions, Helios was ported to the TI TMS320C40 DSP, and the ARM architecture.

References

Further reading

*
*

External links

* [http://www.classiccmp.org/transputer/ Ram Meenakshisundaram's Transputer Home Page]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Helios — mit siebenstrahliger Gloriole und Brustplatte; Bronzestatuette, römisch, 2. 3. Jh. n. Chr., Unterägypten (Musée du Louvre de Paris) In der griechischen Mythologie war Helios (altgriech. Ἥλιος, „Sonne“) der Sonnengott. Zusammen mit Selene… …   Deutsch Wikipedia

  • Helios — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Dans la mythologie grecque, Hélios est un Titan qui personnifie le Soleil. En référence à celui ci, ce nom peut également désigner : les satellites… …   Wikipédia en Français

  • Hélios II-A — Helios II A (satellite) Helios II A Caractéristiques Organisation France Domaine Observation militaire Masse 4 200 kg …   Wikipédia en Français

  • HÉLIOS — Descendant d’Ouranos et de Gaia par ses parents, le Titan Hypérion et la Titanide Thèia, Hélios, le Soleil, est frère de l’Aurore (Éos) et de la Lune (Séléné). D’une génération antérieure aux Olympiens, il est quelque peu éclipsé par ces derniers …   Encyclopédie Universelle

  • Helios — (Врасна,Греция) Категория отеля: Адрес: Vrasna, Врасна, 54498, Греция Опис …   Каталог отелей

  • Helios — Helios, in der griech. Mythologie Gott der Sonne, Sohn der Titanen Hyperion (so heißt er auch selbst bei Homer) und Theia, Bruder der Selene und Eos, bei Dichtern wegen seiner Abkunft häufig Titan, als Lichtbringer Phaëthon (der Leuchtende)… …   Meyers Großes Konversations-Lexikon

  • Helios — {{Helios}} Der Sonnengott, Sohn des Titanen* Hyperion*, Bruder der Selene* und der Eos*, Vater der Kirke*, der Pasiphae*, des Aietes*, des Phaethon* und weiterer Kinder. Helios fährt täglich mit dem Sonnenwagen über den Himmel, wobei er alles… …   Who's who in der antiken Mythologie

  • Helios 2 — (Пафос,Кипр) Категория отеля: Адрес: Chloraka Ave, CY 8102 Пафос, Кипр О …   Каталог отелей

  • Helios B&B — (Кастелламмаре дель Гольфо,Италия) Категория отеля: Адрес: Via Generale Michele di Gaeta …   Каталог отелей

  • Helios — (Кап дАгд,Франция) Категория отеля: 3 звездочный отель Адрес: 12 rue Labech, 34300 Кап д Агд, Франц …   Каталог отелей

  • Helios 2A — is a French military observation satellite which was launched on December 18, 2004 by an Ariane 5 rocket from French Guiana. The ground resolution is about 30 cm.ee also* Helios 1BExternal links* [http://tf1.lci.fr/infos/sciences/2004/0,,3191568,0… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”