- RMX
:"This article is about the iRMX Operating System; for the mail protocol, see
Reverse MX ".Infobox OS
name = iRMX
caption =
developer = Intel / [http://www.tenasys.com/ TenAsys Corporation]
source_model =
kernel_type =
supported_platforms = 8080, 8086, 80386 or higher
ui =
family =Real-time operating system s
released = 1980
latest_release_version =
latest_release_date =
latest_test_version =
latest_test_date =
marketing_target =Embedded system s
programmed_in =
prog_language =PL/M ,Fortran , C
language =
updatemodel =
package_manager =
working_state = Current
license =
website = [http://www.tenasys.com/rmx iRMX]iRMX is a
real-time operating system designed specifically for use with theIntel 8080 andIntel 8086 family of processors. It is an acronym for "Real-time Multitasking eXecutive".Intel developed iRMX in the late 1970s and originally released it in 1980 to support and create demand for their processors and Multibus system platforms. [Real-time Elements, Donald J. Ewing, Professor Emeritus, Electrical Engineering and Computer Science University of Toledo, "EECS 4170/5170/7170 Class Notes" [http://www.eecs.utoledo.edu/~ewing/Real_Time/RTOS/RMX/IntelNotes/Chapter_1.pdf] ]Effective
2000 iRMX is supported, maintained, and licensed worldwide by [http://www.tenasys.com/ TenAsys Corporation] , under an exclusive licensing arrangement withIntel .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 tasks 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).iRMX 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 anIntel 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 (seex86 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 originalx86 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.Note: 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 editorTX , process and data acquisition applications and so on. Cross compilers hosted on theVAX/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 andINtime .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,
MS-DOS and iRMX operate concurrently on a singleIBM 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 insure 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 andINtime .In practice, DOS-RMX appears as a TSR to the
MS-DOS kernel. Once loaded as a TSR, iRMX takes over the CPU, changing toprotected mode and running DOS in avirtual machine within an RMX task. This combination provides RMX real-time functionality as well as full MS-DOS services.iRMX for Windows
Like DOS-RMX, this system provides a hybrid mixture of services and capabilities defined by
MS-DOS ,Microsoft Windows , and iRMX. Inter-application communication via an enhanced Windows DDE capability allows RMX tasks to communicate with Windows processes. [Rajamani K. et.al.: "Windows Goes Real Time", pages 121-122. "BYTE", April 1992]iRMX for Windows was originally intended for use in combination with the 16-bit version of
Microsoft Windows . In 2002 iRMX for Windows was reintroduced by adding these RMX personalities to theINtime RTOS for Windows, allowing it to be used in conjunction with the 32-bit protected-mode versions of Windows (Windows NT, Windows 2000, etc.). [ [http://www.tenasys.com/products/irmx_windows.php Merge the RMX operating system with Windows ] ]INtime
Like its iRMX predecessors,
INtime is a real-time operating system. And, like DOS-RMX and iRMX for Windows, it runs conncurrently with a general-purpose operating system on a single hardware platform. INtime 1.0 was originally introduced in 1997 in conjunction with theWindows NT operating system. Since then it has been upgraded to include support for all subsequent protected-modeMicrosoft Windows platforms, including Windows Vista.Like iRMX, 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 anIntel 80386 or equivalent processor. Current versions of the Windows operating system generally require at least aPentium level processor 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 ofasymmetric 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 [http://www.tenasys.com/ TenAsys] website.
Notes
References
*cite journal | author=Dennis P. Geller and Anita Sanders | title=20th Anniversary: Mastering a real-time operating system | journal=Embedded Systems Design | month=March | year=2008 | url=http://www.embedded.com/design/207000570 , originally published in "Embedded Systems Programming" in 1989
*cite journal | author=Richard Carver | title=The iRMX Family Of Operating Systems | journal=Dr. Dobb's Journal | month=January | year=1991 | url=http://www.ddj.com/cpp/184402293
*cite journal | author=Krishnan Rajamani, Narjala Bhasker, Rick Gerber, and Steve Snyder | title=Windows Goes Real Time | journal=BYTE | month=April | year=1992 |id=Vol. 17 No. 4 | pages=119–130
*cite journal | author=David Potter | title=Designing a Real-Time Debugger (the best of both worlds) | journal=Dr. Dobb's Journal | month=November | year=1992 | url=http://www.ddj.com/184408877?pgno=3
* Christopher Vickery, "Real-Time and Systems Programming for PCs: Using the iRMX® for Windows® Operating System", McGraw-Hill (1993) ISBN 0-07-067466-3 [http://lccn.loc.gov/92042856]
*External links
* [http://www.tenasys.com/rmx iRMX information page]
* [http://www.tenasys.com/rfw iRMX for Windows information page]
* [http://www.tenasys.com/intime INtime information page]
* [http://www.geocities.com/irmxstuff/ Richard Carver's iRMXStuff.com]
Wikimedia Foundation. 2010.