This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Developer | Perihelion Software |
---|---|
OS family | Unix-like |
Working state | Historic |
Source model | Open source |
Initial release | 1988 |
Latest release | 1.3.1 / September 1992 |
Kernel type | Microkernel |
License | GPL v3 |
Official website | https://github.com/axelmuhr/Helios-NG |
Helios is a discontinued Unix-like operating system for parallel computers. It was developed and published by Perihelion Software. Its primary architecture is the Inmos Transputer. Helios' microkernel implements a distributed namespace and messaging protocol, through which services are accessed. A POSIX compatibility library enables the use of Unix application software, and the system provides most of the usual Unix utilities.
Work on Helios began in the autumn of 1986. [1] 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. [2]
The name of the product was Helios. In the materials they produced, Perihelion Software never referred to the operating system as HeliOS.
In the early 1980s, Tim King joined MetaComCo from the University of Bath, bringing with him some rights to the TRIPOS operating system. [3] 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. Later Tim King and Nick Garnett gave permission to release the sources under the GNU General Public License v3. [4] Helios 1.4 Alpha was planned to include support for OpenLook, OpenMotif, KDE, Gnome, and X11R6 support for the Transputer, Linux, Solaris, and Windows. This release was not completed. [5]
Helios was designed for a network of multiple nodes, connected by multiple high-bandwidth communications links. Nodes can 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.
The Helios kernel is effectively a microkernel, 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.
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.
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.
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 provided 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 Plan 9's 9P. It requires that servers represent their resources as files, with standardised open/read/write/close-style operations. Similar to facilities such as /proc in Plan 9 and other Unix-like operating systems, resources such as files, I/O devices, users, and processes 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, RS-232 and Centronics servers (built into the host I/O server), the null server (like Unix's /dev/null), and the logger server (like Unix's syslog).
From a user's perspective, Helios is quite similar to Unix. Most of the usual utility programs are 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 more is called a task force, and is transparently distributed by the Task Force Manager server across the available CPUs. CDL extends traditional Unix syntax with additional operators for bi-directional 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 was predominantly intended to be used with Transputer systems. It is compatible with 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 can run on T4xx and T8xx, 32-bit Transputers (but not the T2xx 16-bit models) and includes 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 to the ARM architecture, [6] the latter used by the Active Book tablet device. [7]
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC).
An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has been free and open-source. The final official release was in early 2015.
In computer networking, a thin client, sometimes called slim client or lean client, is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as network computers, or in their simplest form as zero clients. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a rich client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.
DNIX is a discontinued Unix-like real-time operating system from the Swedish company Dataindustrier AB (DIAB). A version named ABCenix was developed for the ABC 1600 computer from Luxor. Daisy Systems also had a system named Daisy DNIX on some of their computer-aided design (CAD) workstations. It was unrelated to DIAB's product.
The Atari Transputer Workstation is a workstation class computer released by Atari Corporation in the late 1980s, based on the INMOS Transputer. It was introduced in 1987 as the Abaq, but the name was changed before sales began. Sales were almost non-existent, and the product was canceled after only a few hundred units were made.
The transputer is a series of pioneering microprocessors from the 1980s, intended for parallel computing. To support this, each transputer had its own integrated memory and serial communication links to exchange data with other transputers. They were designed and produced by Inmos, a semiconductor company based in Bristol, United Kingdom.
Meiko Scientific Ltd. was a British supercomputer company based in Bristol, founded by members of the design team working on the Inmos transputer microprocessor.
A rootkit is a collection of computer software, typically malicious, designed to enable access to a computer or an area of its software that is not otherwise allowed and often masks its existence or the existence of other software. The term rootkit is a compound of "root" and the word "kit". The term "rootkit" has negative connotations through its association with malware.
XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.
These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.
udev is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the /dev directory. At the same time, udev also handles all user space events raised when hardware devices are added into the system or removed from it, including firmware loading as required by certain devices.
Perihelion Software Limited was a United Kingdom company founded in 1986 by Dr. Tim King along with a number of colleagues who had all worked together at MetaComCo on AmigaOS and written compilers for both the Amiga and the Atari ST.
Spring is a discontinued project in building an experimental microkernel-based object-oriented operating system (OS) developed at Sun Microsystems in the early 1990s. Using technology substantially similar to concepts developed in the Mach kernel, Spring concentrated on providing a richer programming environment supporting multiple inheritance and other features. Spring was also more cleanly separated from the operating systems it would host, divorcing it from its Unix roots and even allowing several OSes to be run at the same time. Development faded out in the mid-1990s, but several ideas and some code from the project was later re-used in the Java programming language libraries and the Solaris operating system.
Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries—many of which are provided by the GNU Project—to create a complete operating system, designed as a clone of Unix and released under the copyleft GPL license.
HAL is a software subsystem for UNIX-like operating systems providing hardware abstraction.
A kernel is a computer program at the core of a computer's operating system that generally has complete control over everything in the system. The kernel is also responsible for preventing and mitigating conflicts between different processes. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.
Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley (BSD), Microsoft (Xenix), Sun Microsystems (SunOS/Solaris), HP/HPE (HP-UX), and IBM (AIX).
A supercomputer operating system is an operating system intended for supercomputers. Since the end of the 20th century, supercomputer operating systems have undergone major transformations, as fundamental changes have occurred in supercomputer architecture. While early operating systems were custom tailored to each supercomputer to gain speed, the trend has been moving away from in-house operating systems and toward some form of Linux, with it running all the supercomputers on the TOP500 list in November 2017. In 2021, top 10 computers run for instance Red Hat Enterprise Linux (RHEL), or some variant of it or other Linux distribution e.g. Ubuntu.
Isra Vision Parsytec AG, a subsidiary of Isra Vision, was originally founded in 1985 as Parsytec in Aachen, Germany.