RMX (operating system)

Last updated

RMX
Developer Intel
Radisys
TenAsys
Written in PL/M, Fortran, C
Working stateDiscontinued
Initial release1980;44 years ago (1980)
Marketing target Embedded systems
Available in English
Platforms 8080, 8086, 80386 or higher
Kernel type Real-time
Default
user interface
Command-line interface
License Proprietary
Official website www.tenasys.com/rmx

Real-time Multitasking eXecutive (iRMX) is a real-time operating system designed for use with the Intel 8080 and 8086 family of processors.

Contents

Overview

Intel developed iRMX in the 1970s and originally released RMX/80 in 1976 and RMX/86 in 1980 to support and create demand for their processors and Multibus system platforms. [1]

The functional specification for RMX/86 was authored by Bruce Schafer and Miles Lewitt and was completed in the summer of 1978 soon after Intel relocated the entire Multibus business from Santa Clara, California to Aloha, Oregon. Schafer and Lewitt went on to each manage one of the two teams that developed the RMX/86 product for release on schedule in 1980.

Effective 2000 iRMX is supported, maintained, and licensed worldwide by TenAsys Corporation, under an exclusive licensing arrangement with Intel.

iRMX is a layered design: containing a kernel, nucleus, basic I/O system, extended I/O system and human interface. An installation need include only the components required: intertask synchronization, communication subsystems, a filesystem, extended memory management, command shell, etc. The native filesystem is specific to iRMX, but has many similarities to the original Unix (V6) filesystem, such as 14 character path name components, file nodes, sector lists, application readable directories, etc.

iRMX supports multiple processes (known as jobs in RMX parlance) and multiple threads are supported within each process (task). In addition, interrupt handlers and threads exist to run in response to hardware interrupts. Thus, iRMX is a multi-processing, multi-threaded, pre-emptive, real-time operating system (RTOS).

Commands

The following list of commands are supported by iRMX 86. [2]

Historical uses

iRMX III on Intel Multibus hardware is used in the majority core systems on CLSCS the London Underground Central line signals control system was supplied by Westinghouse (now Invensys) and commissioned in the late 1990s. The Central line is an automatic train operation line. Automatic train protection is by trackside and train borne equipment that does not use iRMX. It is the automatic train supervision elements that use a mix of iRMX on Multibus, and Solaris on SPARC computers. 16 iRMX local site computers are distributed along the Central line together with 6 central iRMX computers at the control centre. All 22 iRMX computers are dual redundant. As of 2011 iRMX CLSCS continues in full operation.[ citation needed ][ needs update ]

Oslo Metro uses a similar, although less complex, Westinghouse-supplied iRMX control system through the central Common Tunnel tracks. This was expected to be decommissioned in 2011.[ citation needed ][ needs update ]

Variants

Several variations of iRMX have been developed since its original introduction on the Intel 8080: iRMX I, II and III, iRMX-86, iRMX-286, DOS-RMX, iRMX for Windows, and, most recently, INtime. While many of the original variants of iRMX are still in use, only iRMX III, iRMX for Windows, and INtime are currently supported for the development of new real-time applications. Each of these three supported variants of iRMX require an Intel 80386 equivalent or higher processor to run.

A significant architectural difference between the INtime RTOS and all other iRMX variants is the support for address segments (see x86 memory segmentation). The original 8086 family of processors relied heavily on segment registers to overcome limitations associated with addressing large amounts of memory via 16-bit registers. The iRMX operating system and the compilers developed for iRMX include features to exploit the segmented addressing features of the original x86 architecture. The INtime variant of iRMX does not include explicit support for segmentation, opting instead to support only the simpler and more common 32-bit flat addressing scheme.

Despite the fact that native processes written for INtime can only operate using unsegmented flat-mode addressing, it is possible to port and run some older iRMX applications that use segmented addressing to the INtime kernel.

When Intel introduced the Intel 80386 processor, in addition to expanding the iRMX RTOS to support 32-bit registers, iRMX III also included support for the four distinct protection rings (named rings 0 through 3) which describe the protected-mode mechanism of the Intel 32-bit architecture. In practice very few systems have ever used more than rings 0 and 3 to implement protection schemes.

iRMX

The I, II, III, -286 and -86 variants are intended as standalone real-time operating systems. A number of development utilities and applications were made for iRMX, such as compilers (PL/M, Fortran, C), an editor (Aedit), process and data acquisition applications and so on. Cross compilers hosted on the VAX/VMS system were also made available by Intel. iRMX III is still supported today[ when? ] and has been used as the core technology for newer real-time virtualization RTOS products including iRMX for Windows and INtime.

DOS-RMX

DOS-RMX is a variant of the standalone iRMX operating system designed to allow two operating systems to share a single hardware platform. In simplest terms, DOS and iRMX operate concurrently on a single IBM PC compatible computer, where iRMX tasks (processes) have scheduling priority over the DOS kernel, interrupts, and applications. iRMX events (e.g., hardware interrupts) pre-empt the DOS kernel to ensure that tasks can respond to real-time events in a time-deterministic manner. In a functional sense, DOS-RMX is the predecessor to iRMX for Windows and INtime.

In practice, DOS-RMX appears as a Terminate-and-stay-resident (TSR) program to the DOS kernel. Once loaded as a TSR, iRMX takes over the CPU, changing to protected mode and running DOS in a virtual machine within an RMX task. This combination provides RMX real-time functionality as well as full DOS services.

iRMX for Windows

Like DOS-RMX, this system provides a hybrid mixture of services and capabilities defined by DOS, Windows, and iRMX. Inter-application communication via an enhanced Windows DDE capability allows RMX tasks to communicate with Windows processes. [3]

iRMX for Windows was originally intended for use in combination with the 16-bit version of Windows. In 2002 iRMX for Windows was reintroduced by adding these RMX personalities to the INtime RTOS for Windows, allowing it to be used in conjunction with the 32-bit protected-mode versions of Windows (Windows NT, Windows 2000, etc.). [4]

INtime

Like its iRMX predecessors, INtime is a real-time operating system. And, like DOS-RMX and iRMX for Windows, it runs concurrently with a general-purpose operating system on a single hardware platform. INtime 1.0 was originally introduced in 1997 in conjunction with the Windows NT operating system. Since then it has been upgraded to include support for all subsequent protected-mode Microsoft Windows platforms, including Windows Vista and Windows 7.

INtime can also be used as a stand-alone RTOS. INtime binaries are able to run unchanged when running on a stand-alone node of the INtime RTOS. Unlike Windows, INtime can run on an Intel 80386 or equivalent processor. Current versions of the Windows operating system generally require at least a Pentium level processor in order to boot and execute.

The introduction of INtime 3.0 included several important enhancements. Among them, support for multi-core processors and the ability to debug real-time processes on the INtime kernel using Microsoft Visual Studio. INtime is not an SMP operating system, thus support for multi-core processors is restricted to a special form of asymmetric multiprocessing. When used on a multi-core processor INtime can be configured to run on one CPU core while Windows runs on the remaining processor core(s).

BOS

Named BOS (BOS1810, BOS1820), the operating system was cloned by the East-German VEB Robotron-Projekt in Dresden in the 1980s. [5] [6]

Uses

Use cases can be viewed on the TenAsys [7] website.

See also

Related Research Articles

i386 32-bit microprocessor by Intel

The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistors and were the central processing unit (CPU) of many workstations and high-end personal computers of the time.

i486 Successor to the Intel 386

The Intel 486, officially named i486 and also known as 80486, is a microprocessor. It is a higher-performance follow-up to the Intel 386. The i486 was introduced in 1989. It represents the fourth generation of binary compatible CPUs following the 8086 of 1978, the Intel 80286 of 1982, and 1985's i386.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

x86 Family of instruction set architectures

x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors. Colloquially, their names were "186", "286", "386" and "486".

OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and was purchased again in 2013 by its current owner Microware LP.

Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit segmented memory address space and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels.

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as segmentation, virtual memory, paging and safe multi-tasking designed to increase an operating system's control over application software.

x86-64 64-bit version of x86 architecture

x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

In computing, the DOS Protected Mode Interface (DPMI) is a specification introduced in 1989 which allows a DOS program to run in protected mode, giving access to many features of the new PC processors of the time not available in real mode. It was initially developed by Microsoft for Windows 3.0, although Microsoft later turned control of the specification over to an industry committee with open membership. Almost all modern DOS extenders are based on DPMI and allow DOS programs to address all memory available in the PC and to run in protected mode.

<span class="mw-page-title-main">Conventional memory</span> First 640 KB of RAM under DOS

In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system and application programs. As memory prices rapidly declined, this design decision became a limitation in the use of large memory capacities until the introduction of operating systems and processors that made it irrelevant.

The PL/M programming language (an acronym of Programming Language for Microcomputers) is a high-level language conceived and developed by Gary Kildall in 1973 for Hank Smith at Intel for its microprocessors.

The LynxOS RTOS is a Unix-like real-time operating system from Lynx Software Technologies. Sometimes known as the Lynx Operating System, LynxOS features full POSIX conformance and, more recently, Linux compatibility. LynxOS is mostly used in real-time embedded systems, in applications for avionics, aerospace, the military, industrial process control and telecommunications. As such, it is compatible with military-grade security protocol such as wolfSSL, a popular Transport Layer Security (TLS/SSL) library.

<span class="mw-page-title-main">Blackfin</span> Family of 16-/32-bit microprocessors

The Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality supplied by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.

Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.

<span class="mw-page-title-main">Multibus</span> Computer bus standard

Multibus is a computer bus standard used in industrial systems. It was developed by Intel Corporation and was adopted as the IEEE 796 bus.

In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preemptive scheduler usually runs in the most privileged protection ring, meaning that interruption and then resumption are considered highly secure actions. Such changes to the currently executing task of a processor are known as context switching.

LynxSecure is a least privilege real-time separation kernel hypervisor from Lynx Software Technologies designed for safety and security critical applications found in military, avionic, industrial, and automotive markets.

<span class="mw-page-title-main">TenAsys</span> American software company

TenAsys is a privately owned company providing real-time software and services based on the x86 Intel Architecture and Microsoft Windows operating system.

The INtime Real Time Operating System (RTOS) family is based on a 32-bit RTOS conceived to run time-critical operations cycle-times as low as 50μs. INtime RTOS runs on single-core, hyper-threaded, and multi-core x86 PC platforms from Intel and AMD. It supports two binary compatible usage configurations; INtime for Windows, where the INtime RTOS runs alongside Microsoft Windows®, and INtime Distributed RTOS, where INtime runs one.

References

  1. Ewing, Donald J. (September 1998). Real-time Elements (EECS 4170/5170/7170 Class Notes) (PDF) (Report). Electrical Engineering and Computer Science, University of Toledo.
  2. iRMX86 INTRODUCTION AND OPERATOR'S REFERENCE MANUAL For Release 6
  3. Rajamani K. et al.: "Windows Goes Real Time", pages 121-122. BYTE, April 1992
  4. Merge the RMX operating system with Windows
  5. В. С. Кравченко, А. Д. Азаров. Большая операционная система реального времени (БОС 1810) — состав, основные характеристики и примеры применения. — М.: Заоч. ин-т ЦП ВНТО приборостроителей, 1989.
  6. "Betriebssystem BOS 1810". robotrontechnik.de (in German). 2021-01-02 [2010]. Archived from the original on 2021-12-03. Retrieved 2021-12-03.
  7. TenAsys

Further reading