Мульти-окружающая среда в реальном времени

редактировать
Не путать с Penn MERT.
Мульти-окружающая среда в реальном времени
Разработчик Bell Labs
Написано в C
Семейство ОС Unix-подобный
Рабочее состояние Версия UNIX-RTR / 3B21D все еще используется.
Маркетинговая цель Вычислительные приложения в реальном времени
Доступно в английский
Платформы ПДП-11, 3Б20Д, 3Б21Д
Тип ядра Микроядро ОСРВ

Multi-Environment Real-Time ( MERT), позже переименованная в UNIX Real-Time ( UNIX-RT), представляет собой гибридную операционную систему с разделением времени и реального времени, разработанную в 1970-х годах в Bell Labs для использования во встроенных мини-компьютерах (особенно PDP- 11с ). Версия под названием Duplex Multi Environment Real Time ( DMERT) была операционной системой для миникомпьютера с телефонной коммутацией ATamp;T 3B20D, разработанной для обеспечения высокой доступности ; Позднее DMERT был переименован в Unix RTR (Real-Time Reliable).

Являясь обобщением операционной системы Unix с разделением времени, разработанной Bell Labs, MERT содержал переработанное модульное ядро, способное запускать программы Unix и привилегированные вычислительные процессы в реальном времени. Структуры данных этих процессов были изолированы от других процессов, при этом передача сообщений была предпочтительной формой межпроцессного взаимодействия (IPC), хотя также была реализована общая память. MERT также имеет настраиваемую файловую систему со специальной поддержкой для больших непрерывных файлов статического размера, которая используется в приложениях для работы с базами данных в реальном времени. На дизайн MERT повлияли THE Дейкстры, Hansen Monitor и IBM CP-67.

Операционная система MERT была четырехуровневой в порядке убывания защиты :

  • Ядро: выделение ресурсов памяти, процессорного времени и прерываний
  • Процессы режима ядра, включая драйверы устройств ввода / вывода (I / O), файловый менеджер, менеджер подкачки, корневой процесс, который подключает файловый менеджер к диску (обычно в сочетании с менеджером подкачки)
  • Супервизор операционной системы
  • Пользовательские процессы

Стандартным супервизором был MERT / UNIX, эмулятор Unix с расширенным интерфейсом системного вызова и оболочкой, которая позволяла использовать настраиваемые механизмы IPC MERT, хотя существовал и эмулятор RSX-11.

СОДЕРЖАНИЕ
  • 1 Ядро и неядерные процессы
  • 2 Бита файловой системы
  • 3 эмулятор Lucent и VCDX
  • 4 ссылки
Ядро и неядерные процессы

Одна интересная особенность, которую представил DMERT - UNIX-RTR, - это понятие процессов ядра. Это связано с его микроядерными корнями в архитектуре. Для поддержки существует отдельная команда ( /bin/kpkill), а не ( /bin/kill), которая используется для отправки сигналов процессам ядра. Скорее всего, есть два разных системных вызова ( kill(2)и kpkill(2)первый для завершения пользовательского процесса, а второй для завершения процесса ядра). Неизвестно, какая часть нормального механизма сигнализации пользовательского пространства используется /bin/kpkill, если предполагается, что для него существует системный вызов, неизвестно, можно ли отправлять различные сигналы или просто отправлять их. Также неизвестно, есть ли у процесса ядра способ перехвата сигналов, которые ему доставляются. Возможно, разработчики UNIX-RTR реализовали весь интерфейс прикладного программирования сигналов и сообщений (API) для процессов ядра.

Биты файловой системы

Если у кого-то есть root в системе UNIX-RTR, они наверняка скоро обнаружат, что их ls -lрезультат немного отличается от ожидаемого. А именно, в drwxr-xr-xполе есть два совершенно новых бита. Оба они находятся в первом столбце и являются C(смежными) и x( экстентами ). Оба они имеют отношение к непрерывным данным, однако один может иметь отношение к индексным дескрипторам, а другой - к неметаданным.

Пример ls -l(который не включает имена групп, так как ls -lне использовался для их печати).

 drwxr-xr-x root 64 Sun Dec 4 2003 /cft xrwxr-xr-x root 64 Mon Dec 11 2013 /no5text Crwxr-xr-x root 256 Tue Dec 12 2014 /no5data
Эмулятор Lucent и VCDX

ATamp;T, затем Lucent, а теперь Alcatel-Lucent, являются поставщиком пакета ATT3bem на базе SPARC и Solaris -OEM (который находится на Solaris SPARC в / opt / ATT3bem). Это полноценный эмулятор 3B21D (известный как 3B21E, система, лежащая в основе Very Compact Digital eXchange или VCDX), который предназначен для обеспечения производственной среды для части административного модуля (AM) коммутатора 5ESS. Есть части 5ESS, которые вообще не являются частью микрокомпьютера 3B21D: SM и CM. В эмуляторе рабочая станция называется «AW» (административная рабочая станция). Эмулятор устанавливается с Solaris 2.6 / SPARC, а также поставляется с Solstice X.25 9.1 (SUNWconn), ранее известным как SunLink X.25. Причина для упаковки стека X.25 с эмулятором 3B21D заключается в том, что Bell System, региональные операционные компании Bell и ILEC по-прежнему используют сети X.25 для своих наиболее важных систем (телефонные коммутаторы могут работать на X.25 или Datakit VCS. II, аналогичная сеть, разработанная в Bell Labs), но у них нет стеков TCP / IP).

Эмулятор ATamp;T / Alcatel-Lucent - непростая программа для правильной работы, даже если удастся получить изображение из выходного файла dd на жестком диске 5ESS. Во-первых, есть довольно много ошибок, по которым пользователь должен перемещаться в процессе установки. Как только это будет сделано, появится файл конфигурации, который соединяет периферийные устройства с эмулируемыми периферийными устройствами. Но на компакт-диске есть скудная документация, описывающая это. Имя этого файла - em_devmap для SS5 и em_devmap.ultra для Ultra60.

Кроме того, одна из ошибок, упомянутых в процессе установки, - это неработающий скрипт для правильного выполнения fdisk и образа жестких дисков: определенные вещи необходимо записать в определенные смещения, потому что процесс / opt / ATT3bem / bin / 3bem ожидает или, кажется, нужны эти жестко запрограммированные местоположения.

Эмулятор работает на SPARCstation-5s и UltraSPARC-60s. Вероятно, что 3B21D эмулируется на современном SPARC быстрее, чем фактически работает процессор микрокомпьютера 3B21D, измеренный в MIPS. Самым сложным в использовании эмулятора является получение образа жесткого диска DMERT / UNIX-RTR для фактического запуска. Операционная система для 5ESS ограничена несколькими людьми, сотрудниками и клиентами поставщика, которые либо работают с ней, либо пишут для нее код. Наличие образа работающей системы, который можно получить на eBay, извлечь из работающего 3B21D и скопировать в файл или поместить в Ultra60 или SPARCstation-5, предоставляет ресурсы для попытки запустить систему UNIX-RTR.

Результат uname -a оболочки Bourne, работающей под UNIX-RTR (Real-time Reliable):

 # uname -a lt;3B21Dgt; lt;3B21Dgt;

Хотя в системах 3B20D он будет печатать 20 вместо 21, хотя 3B20D встречаются редко, в настоящее время большинство не-VCDX 5ESS - это оборудование 3B21D, а не 3B20D (хотя они будут нормально запускать программное обеспечение). 3B20D использует процессор WE32000, а 21 использует WE32100. Могут быть и другие отличия. Одна вещь необычная в процессоре - это направление роста стека: вверх.

Страница руководства для falloc (который может отвечать за распределение непрерывного или расширенного файлового пространства):

 FALLOC(1) 5ESS UNIX FALLOC(1) NAME falloc - allocate a contiguous file SYNOPSIS falloc filename size DESCRIPTION A contiguous file of the specified filename is allocated to be of 'size' (512 byte) blocks. DIAGNOSTICS The command complains a needed directory is not searchable, the final directory is not writable, the file already exists or there is not enough space for the file.

UNIX-RTR включает атомарную команду подкачки файлов (atomw, страница руководства ниже):

 ATOMSW(1) 5ESS UNIX ATOMSW(1) NAME atomsw - Atomic switch files SYNOPSIS atomsw file1 file2 DESCRIPTION Atomic switch of two files. The contents, permissions, and owners of two files are switched in a single operation. In case of a system fault during the operation of this command, file2 will either have its original contents, permissions and owner, or will have file1's contents, permissions and owner. Thus, file2 is considered precious. File1 may be truncated in case of a system fault. RESTRICTIONS Both files must exist. Both files must reside on the same file system. Neither file may be a "special device" (for example, a TTY port). To enter this command from the craft shell, switching file "/tmp/abc" with file "/tmp/xyz", enter for MML: EXC:ENVIR:UPROC,FN="/bin/atomsw",ARGS="/tmp/abc"-"/tmp/xyz"; For PDS enter: EXC:ENVIR:UPROC,FN"/bin/atomsw",ARGS("/tmp/abc","/tmp/xyz")! NOTE File 1 may be lost during a system fault. FILES /bin/atomsw
использованная литература
Последняя правка сделана 2024-01-05 10:24:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте