Misplaced Pages

RMX (operating system): Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 22:33, 30 November 2005 editDarkain (talk | contribs)177 editsmNo edit summary← Previous edit Latest revision as of 11:27, 1 January 2024 edit undoAnomieBOT (talk | contribs)Bots6,580,055 editsm Dating maintenance tags: {{Dead-link}} 
(126 intermediate revisions by 73 users not shown)
Line 1: Line 1:
{{Short description|Real-time operating system}}
:''This article is about the RMX Operating System; for the application, see ]''.
{{More footnotes needed|date=November 2011}}
{{Redir|BOS (operating system)|the unrelated IBM operating system|BOS/360}}
{{Use dmy dates|date=February 2020|cs1-dates=y}}
{{Infobox OS
| name = RMX
| logo =
| screenshot =
| caption =
| developer = ]<br/>]<br/>]
| source model =
| kernel type = ]
| supported platforms = ], ], ] or higher
| ui = ]
| family =
| released = {{Start date and age|1980|df=yes}}
| latest release version =
| latest release date =
| marketing target = ]s
| programmed in = ], ], ]
| language = ]
| update model =
| package manager =
| working state = Discontinued
| license = ]
| website = {{URL|www.tenasys.com/rmx}}
}}
'''Real-time Multitasking eXecutive''' ('''iRMX''') is a ] designed for use with the ] ] and ] family of processors.


==Overview==
'''RMX''' is a ] for the ] & ]. It was created in the late ] by ] and is still in use and being sold commercially in products as of ]. RMX literature indicates that RMX is an acronym for ''Real-time Multitasking eXecutive''.
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 ] system platforms.<ref name="Ewing_1998"/>


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 ] to ]. 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.
The kernel is configurable with various modules: communication subsystems, a filesystem, extended memory management, etc. The native filesystem is specific to RMX, but has many similarities to the original ] (V6) filesystem, such as 14 character path name components, file nodes, sector lists, application readable directories, etc.


Effective 2000 iRMX is supported, maintained, and licensed worldwide by ], under an exclusive licensing arrangement with Intel.
RMX is most popular in the telecommunications industry where it has been advertised as the industry standard. There have been many different versions of RMX such as iRMX I-III, RMX286, and RMX-86. Siemens' uses a modified version of iRMX on the Siemens HiPath 4000 which is used in conjunction with ]7/8 and ]. The RMX interface is used for security from ] attacks.


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 ] (V6) filesystem, such as 14 character path name components, file nodes, sector lists, application readable directories, etc.
{{comp-stub}}


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 ], ], pre-emptive, ] (RTOS).


===Commands===
]]
The following list of ]s are supported by iRMX 86.<ref></ref>

{{div col|colwidth=9em}}
* ATTACHDEVICE
* ATTACHFILE
* ]
* ]
* CREATEDIR
* ]
* ]
* DELETE
* DETACHDEVICE
* DETACHFILE
* ]
* DISKVERIFY
* DOWNCOPY
* ]
* INITSTATUS
* JOBDELETE
* LOCDATA
* LOCK
* LOGICALNAMES
* MEMORY
* ]
* PERMIT
* ]
* RESTORE
* SUBMIT
* SUPER
* ]
* UPCOPY
* VERSION
* ]
{{div col end}}

===Historical uses===
iRMX III on Intel Multibus hardware is used in the majority core systems on CLSCS the ] ] signals control system was supplied by Westinghouse (now ]) 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 ] on ] 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.{{fact|date=December 2018}}{{Update inline|date=December 2018}}

] uses a similar, although less complex, Westinghouse-supplied iRMX control system through the central ] tracks. This was expected to be decommissioned in 2011.{{fact|date=December 2018}}{{Update inline|date=December 2018}}

=={{anchor|I|II|III|86|286}}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 ] equivalent or higher processor to run.

A significant architectural difference between the ] RTOS and all other iRMX variants is the support for address segments (see ]). 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 ]. 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 (], ], ]), an editor (Aedit), process and data acquisition applications and so on. Cross compilers hosted on the ] system were also made available by Intel. iRMX III is still supported today{{when?|date=June 2018}} and has been used as the core technology for newer real-time virtualization RTOS products including iRMX for Windows and INtime.

==={{anchor|DOS}}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, ] and iRMX operate concurrently on a single ] 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) program to the DOS kernel. Once loaded as a TSR, iRMX takes over the CPU, changing to ] and running DOS in a ] within an RMX task. <!-- A DOS-RMX library is included to facilitate the exchange of data and coordinate activities between tasks running on the iRMX kernel and applications running on the DOS kernel. --> 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 ] capability allows RMX tasks to communicate with Windows processes.<ref>Rajamani K. et al.: "Windows Goes Real Time", pages 121-122. ''BYTE'', April 1992</ref>

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

===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 ] 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 ] 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 ]. INtime is not an ] operating system, thus support for multi-core processors is restricted to a special form of ]. 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 ] in Dresden in the 1980s.<ref name="BOS_1989"/><ref name="Robotron_2021_BOS1810"/>

==Uses==
Use cases can be viewed on the TenAsys<ref></ref> website.

==See also==
* ]

==References==
{{Reflist|refs=
<ref name="Ewing_1998">{{cite report |author-last=Ewing |author-first=Donald J. |date=September 1998 |title=Real-time Elements (EECS 4170/5170/7170 Class Notes) |publisher=Electrical Engineering and Computer Science, University of Toledo |url=http://www.eecs.utoledo.edu/~ewing/Real_Time/RTOS/RMX/IntelNotes/Chapter_1.pdf}}</ref>
<ref name="Robotron_2021_BOS1810">{{cite web |title=Betriebssystem BOS 1810 |language=de |website=robotrontechnik.de |date=2021-01-02 |orig-date=2010 |url=https://www.robotrontechnik.de/html/software/bos.htm |access-date=2021-12-03 |url-status=live |archive-url=https://web.archive.org/web/20211203131608/https://www.robotrontechnik.de/index.htm?/html/software/bos.htm |archive-date=2021-12-03}}</ref>
<ref name="BOS_1989">В. С. Кравченко, А. Д. Азаров. Большая операционная система реального времени (БОС 1810) — состав, основные характеристики и примеры применения. — М.: Заоч. ин-т ЦП ВНТО приборостроителей, 1989.</ref>
}}

==Further reading==
* {{cite book |title=Software Handbook |date=1984 |orig-date=1983 |publisher=] |id=230786-001 |url=http://bitsavers.trailing-edge.com/components/intel/_dataBooks/230786-001_Intel_Software_Handbook_1984.pdf |access-date=2020-01-29 |url-status=live |archive-url=https://web.archive.org/web/20200129010534/http://bitsavers.trailing-edge.com/components/intel/_dataBooks/230786-001_Intel_Software_Handbook_1984.pdf |archive-date=2020-01-29}}
* {{cite journal |author-last1=Geller |author-first1=Dennis P. |author-last2=Sanders |author-first2=Anita |title=20th Anniversary: Mastering a real-time operating system |journal=Embedded Systems Design |date=March 2008 |url=http://www.embedded.com/design/prototyping-and-development/4007537/20th-Anniversary-Mastering-a-real-time-operating-system}}, originally published in ''Embedded Systems Programming'' in 1989.
* {{cite journal |author-last=Carver |author-first=Richard |title=The iRMX Family of Operating Systems |journal=] |date=January 1991 |url=http://www.ddj.com/cpp/184402293}}
* {{cite journal |author-last1=Rajamani |author-first1=Krishnan |author-last2=Bhasker |author-first2=Narjala |author-last3=Gerber |author-first3=Rick |author-last4=Snyder |author-first4=Steve |title=Windows Goes Real Time |journal=] |date=April 1992 |volume=17 |issue=4 |pages=119–130}}
* {{cite journal |author-last=Potter |author-first=David |title=Designing a Real-Time Debugger (the best of both worlds) |journal=] |date=November 1992 |url=http://www.ddj.com/184408877?pgno=3}}
* {{cite book |author-last=Vickery |author-first=Christopher |date=1993 |title=Real-Time and Systems Programming for PCs: Using the iRMX for Windows Operating System |publisher=] |isbn=0-07-067466-3 |url=http://lccn.loc.gov/92042856}}
* {{cite report |author-last=Ewing |author-first=Donald J. |date=September 1998 |title=iRMX Training Notes |publisher=Electrical Engineering and Computer Science, University of Toledo |url=http://www.eecs.utoledo.edu/~ewing/Real_Time/RTOS/RMX/IntelNotes/iRMX_Notes.html}}{{dead-link|date=January 2024}}
* {{cite magazine |title=An Integral Real-Time Executive For Microcomputers |author-first1=Kenneth "Ken" |author-last1=Burgett |author-first2=Edward F. |author-last2=O'Neil |location=Santa Clara, California, USA |date=July 1977 |magazine=Computer Design |issn= |volume=16 |number=7 |publisher=Cahners Publishing Co., Inc. |pages=77–82 |postscript=none}}; reprinted in: {{cite book |title=iSBC Applications Manual |chapter=An Integral Real-Time Executive For Microcomputers |author-first1=Kenneth "Ken" |author-last1=Burgett |author-first2=Edward F. |author-last2=O'Neil |location=Santa Clara, California, USA |id=AR-41 |date=1979 |publisher=] |publication-place=Hillsboro, Oregon, USA |pages=2-74 – 2-79 |url=https://archive.org/details/bitsavers_inteldataBtionsManual_34906960 |access-date=2023-11-26}}
* {{cite web |title=Chat |editor-first=Roger |editor-last=Arrick |author-first=Kenneth "Ken" |author-last=Burgett |date=2017 |url=https://www.rogerarrick.com/osiris/kenburgett1.txt |access-date=2023-11-25 |url-status=live |archive-url=https://web.archive.org/web/20231124165937/https://www.rogerarrick.com/osiris/kenburgett1.txt |archive-date=2023-11-24}} (NB. Interview with the developerof RMX-80.)
* {{cite web |title=Development of Intel ISIS Operating System - An interview with Ken Burgett |author-first=Kenneth "Ken" |author-last=Burgett |date=2017-11-10 |url=https://www.rogerarrick.com/kenburgett/ |access-date=2023-11-25 |url-status=live |archive-url=https://web.archive.org/web/20231125121523/https://www.rogerarrick.com/kenburgett/ |archive-date=2023-11-25 |quote= There is no commonality between RMX-80, which I built in 1977, with RMX-86, which was developed over the years by a large team in Aloha, Oregon. RMX-80 was designed around a very small set of principles, whereas RMX-86 provided a full kitchen sink of parts and features. I was contacted by a desperate Marketing dept in Oregon in the late 70s, asking me to develop RMX-88, which they could market on the SBC boards, since RMX-86 had such a huge footprint. }} (NB. Recollections by the developer of RMX-80 and RMX-88.)

==External links==
* {{Official website|www.tenasys.com/products/irmx.php}}, iRMX

{{Real-time operating systems}}

]
]

Latest revision as of 11:27, 1 January 2024

Real-time operating system
This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (November 2011) (Learn how and when to remove this message)
"BOS (operating system)" redirects here. For the unrelated IBM operating system, see BOS/360.

Operating system
RMX
DeveloperIntel
Radisys
TenAsys
Written inPL/M, Fortran, C
Working stateDiscontinued
Initial release1980; 45 years ago (1980)
Marketing targetEmbedded systems
Available inEnglish
Platforms8080, 8086, 80386 or higher
Kernel typeReal-time
Default
user interface
Command-line interface
LicenseProprietary
Official websitewww.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.

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.

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.

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

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

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.

Uses

Use cases can be viewed on the TenAsys website.

See also

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 . Archived from the original on 2021-12-03. Retrieved 2021-12-03.
  7. TenAsys

Further reading

External links

Real-time operating systems (RTOS)
Operating
systems
POSIX support
Unix-like
LiteOS
Partial
TRON support
Partial
Capability-based
Java virtual machine
DOS
L4 kernel
Psion
Microsoft
IBM
Texas Instruments
DEC PDP-11 VAX
Low resource
Frameworks, kits
  • Robot Operating System° 2
  • RTAI°
  • TI-RTOS
  • Xenomai°
  • Developers
    Categories: