Введение
Операционная система реального времени Real time Multitasking eXecutive (iRMX) — операционная система реального времени, разработанная для использования с процессорами семейства Intel 8080 и 8086.
Real time Multitasking eXecutive (iRMX) is a real time operating system designed for use with the Intel 8080 and 8086 family of processors.
Историческое использование
iRMX III на аппаратном обеспечении Intel Multibus используется в большинстве основных систем CLSCS. Система управления сигналами центральной линии лондонского метрополитена была поставлена компанией Westinghouse (ныне Invensys) и введена в эксплуатацию в конце 1990-х годов. Центральная линия – это линия с автоматическим ведением поездов. Автоматическая защита поездов осуществляется с помощью оборудования, установленного вдоль путей и на самих поездах, которое не использует iRMX. Элементы автоматического контроля за движением поездов используют комбинацию iRMX на Multibus и Solaris на компьютерах SPARC. Вдоль центральной линии распределены 16 локальных компьютеров iRMX, а в центре управления – 6 центральных компьютеров iRMX. Все 22 компьютера iRMX имеют двойное резервирование. По состоянию на 2011 год система iRMX CLSCS продолжает функционировать в полном объеме. Метро Осло использует аналогичную, хотя и менее сложную, систему управления iRMX, поставленную Westinghouse для центральных участков общего туннеля. Ожидалось, что она будет выведена из эксплуатации в 2011 году.
Варианты
С момента своего первоначального появления на Intel 8080 было разработано несколько вариантов iRMX: iRMX I, II и III, iRMX 86, iRMX 286, DOS RMX, iRMX для Windows и, наиболее недавно, INtime. Хотя многие из оригинальных вариантов iRMX все еще используются, в настоящее время поддержка разработки новых приложений реального времени осуществляется только для iRMX III, iRMX для Windows и INtime. Для работы каждого из этих трех поддерживаемых вариантов iRMX требуется процессор, эквивалентный Intel 80386 или более мощный. Значительным архитектурным отличием INtime RTOS от всех остальных вариантов iRMX является поддержка адресных сегментов (см. сегментацию памяти x86). Первоначальное семейство процессоров 8086 в значительной степени полагалось на сегментные регистры для преодоления ограничений, связанных с адресацией больших объемов памяти посредством 16-битных регистров. Операционная система iRMX и компиляторы, разработанные для iRMX, включают в себя функции для использования возможностей сегментированной адресации оригинальной архитектуры x86. Вариант iRMX INtime не включает в себя явную поддержку сегментации, предпочитая более простую и распространенную 32-битную схему плоской адресации. Несмотря на то, что собственные процессы, написанные для INtime, могут работать только с использованием несегментированной плоской адресации, возможно портирование и запуск некоторых старых приложений iRMX, использующих сегментированную адресацию, в ядре INtime. Когда Intel представила процессор Intel 80386, помимо расширения iRMX RTOS для поддержки 32-битных регистров, iRMX III также включил поддержку четырех различных уровней защиты (кольца 0–3), описывающих механизм защищенного режима 32-битной архитектуры Intel. На практике очень немногие системы использовали более чем кольца 0 и 3 для реализации схем защиты.
iRMX
Варианты I, II, III, 286 и 86 предназначены для использования в качестве независимых операционных систем реального времени. Для iRMX было разработано множество инструментов и приложений, включая компиляторы (PL/M, Fortran, C), редактор (Aedit), приложения для обработки и сбора данных и многое другое. Intel также предоставляла кросс-компиляторы, работающие в системе VAX/VMS. iRMX III до сих пор поддерживается и используется в качестве базовой технологии для новых RTOS-продуктов, предназначенных для виртуализации в реальном времени, таких как iRMX для Windows и INtime.
DOS-RMX
DOS RMX – это вариант автономной операционной системы iRMX, разработанный для обеспечения совместного использования одной аппаратной платформы двумя операционными системами. Говоря простыми словами, DOS и iRMX работают одновременно на одном IBM PC-совместимом компьютере, при этом задачи (процессы) iRMX имеют приоритет в планировании по сравнению с ядром DOS, прерываниями и приложениями. События iRMX (например, аппаратные прерывания) прерывают работу ядра DOS, чтобы обеспечить реагирование задач на события реального времени в детерминированном режиме. В функциональном плане DOS RMX является предшественником iRMX для Windows и INtime. На практике DOS RMX представляется ядру DOS как программа Terminate and Stay Resident (TSR). После загрузки как TSR, iRMX получает управление процессором, переключается в защищенный режим и запускает DOS в виртуальной машине внутри задачи RMX. Такое сочетание обеспечивает функциональность iRMX в реальном времени, а также полный набор служб DOS.
iRMX для Windows
Как и DOS RMX, эта система предоставляет гибридное сочетание сервисов и возможностей, определенных DOS, Windows и iRMX. Межпроцессное взаимодействие через расширенную функцию Windows DDE позволяет задачам RMX взаимодействовать с процессами Windows. iRMX для Windows изначально разрабатывался для использования в сочетании с 16-битной версией Windows. В 2002 году iRMX для Windows был представлен вновь, путем добавления этих функциональных возможностей RMX в INtime RTOS для Windows, что позволило использовать его совместно с 32-битными защищенными версиями Windows (Windows NT, Windows 2000 и т.д.).
В течение времени
Как и его предшественники iRMX, INtime является операционной системой реального времени. И, как DOS RMX и iRMX для Windows, она работает одновременно с операционной системой общего назначения на единой аппаратной платформе. INtime 1.0 была впервые представлена в 1997 году вместе с операционной системой Windows NT. С тех пор она была обновлена для поддержки всех последующих защищенных режимов платформ Microsoft Windows, включая Windows Vista и Windows 7. INtime также может использоваться как автономная RTOS. Бинарные файлы INtime могут выполняться без изменений при работе на автономном узле RTOS INtime. В отличие от Windows, INtime может работать на процессоре Intel 80386 или его эквиваленте. Современные версии операционной системы Windows обычно требуют как минимум процессор уровня Pentium для загрузки и выполнения. Введение INtime 3.0 включало в себя несколько важных усовершенствований, среди которых поддержка многоядерных процессоров и возможность отладки процессов реального времени на ядре INtime с использованием Microsoft Visual Studio. INtime не является SMP-операционной системой, поэтому поддержка многоядерных процессоров ограничена специальной формой асимметричной многопроцессорности. При использовании на многоядерном процессоре INtime может быть настроена для работы на одном ядре процессора, в то время как Windows работает на оставшихся ядрах.
СВО
Операционная система BOS (BOS1810, BOS1820) была клонирована восточногерманским предприятием VEB Robotron Projekt в Дрездене в 1980-х годах. Веб-сайт.