Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

RMX (operating

system)

This article includes a list of references, but its


sources remain unclear because it has
Learn more

iRMX is a real-time operating system


designed specifically for use with the
Intel 8080 and 8086 family of
processors. It is an acronym for Real-
time Multitasking eXecutive.
RMX

Developer Intel / Radisys /


TenAsys

OS family Real-time operating


systems

Working state Discontinued

Initial release 1980

Marketing target Embedded systems

Available in English

Platforms 8080, 8086, 80386 or


higher

Default user interface Command-line


interface

License Proprietary

Official website iRMX

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
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]

ATTACHDEVICE
ATTACHFILE
BACKUP
COPY
CREATEDIR
DATE
DEBUG
DELETE
DETACHDEVICE
DETACHFILE
DIR
DISKVERIFY
DOWNCOPY
FORMAT
INITSTATUS
JOBDELETE
LOCDATA
LOCK
LOGICALNAMES
MEMORY
PATH
PERMIT
RENAME
RESTORE
SUBMIT
SUPER
TIME
UPCOPY
VERSION
WHOAMI

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.

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.

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 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 TSR


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).

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

See also
Radisys

You might also like