Из Википедии, бесплатной энциклопедии
  (Перенаправлено из UNIX-RTR )
Перейти к навигации Перейти к поиску

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

Обобщение рабочего времени совместного использования системы Bell Labs' Unix , [7] МЭРТ признаки переработаны, модульное ядро , что было в состоянии запускать программы Unix и привилегированного вычислительных реального времени процессов. Структуры данных этих процессов были изолированы от других процессов, при этом передача сообщений была предпочтительной формой межпроцессного взаимодействия (IPC), хотя также была реализована общая память . MERT также имеет специальную файловую систему со специальной поддержкой для больших непрерывных файлов статического размера, которая используется в приложениях для работы с базами данных в реальном времени . На дизайн MERT повлияли идеи Дейкстры.THE , монитор Хансена и IBM CP-67 . [2]

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

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

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

Ядро и неядерные процессы [ править ]

Одна интересная особенность, которую представил 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 вс, 4 декабря 2003 г. / cft xrwxr-xr-x root 64 Пн 11 дек 2013 / no5text Crwxr-xr-x root 256 Вт 12 декабря 2014 г. / no5data

Эмулятор Lucent и VCDX [ править ]

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

Эмулятор AT&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  <3B21D> <3B21D>

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

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

 FALLOC (1) 5ESS UNIX FALLOC (1) ИМЯ falloc - выделить непрерывный файл ОБЗОР размер файла falloc ОПИСАНИЕ Непрерывный файл с указанным именем назначается иметь размер (512 байт) блоков. ДИАГНОСТИКА Команда жалуется, что необходимый каталог недоступен для поиска, последний каталог недоступен для записи, файл уже существует или для файла недостаточно места.


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

 ATOMSW (1) 5ESS UNIX ATOMSW (1) ИМЯ atomw - файлы атомарных переключателей ОБЗОР atomw file1 file2 ОПИСАНИЕ Атомарный переключатель двух файлов. Содержимое, разрешения и переключение владельцев двух файлов выполняется за одну операцию. В в случае сбоя системы при выполнении этой команды, file2 либо будет иметь исходное содержимое, разрешения и владелец, или будет иметь содержимое, разрешения и владелец. Таким образом, file2 считается драгоценным. File1 может быть усекается в случае сбоя системы. ОГРАНИЧЕНИЯ Оба файла должны существовать. Оба файла должны находиться на одном и том же файловая система. Ни один из файлов не может быть "специальным устройством" (для Например, порт TTY). Чтобы ввести эту команду из командной оболочки, переключите файл "/ tmp / abc" с файлом "/ tmp / xyz", введите для MML: EXC: ENVIR: UPROC, FN = "/ bin / atomw", ARGS = "/ tmp / abc" - "/ tmp / xyz"; Для PDS введите: EXC: ENVIR: UPROC, FN "/ bin / atomw", ARGS ("/ tmp / abc", "/ tmp / xyz")! ПРИМЕЧАНИЕ Файл 1 может быть утерян из-за сбоя системы. ФАЙЛЫ / bin / atomw

Ссылки [ править ]

  1. ^ a b c Байер, DL; Ликлама, Х. (1975). MERT: операционная система реального времени с несколькими средами . Пятый симпозиум ACM по принципам операционных систем. Остин, Техас. DOI : 10.1145 / 800213.806519 . Проверено 18 августа 2008 .
  2. ^ a b c d Lycklama, H .; Байер, Д.Л. (июль – август 1978 г.). «Операционная система MERT». Технический журнал Bell System . 57 (6): 2049–2086. DOI : 10.1002 / j.1538-7305.1978.tb02142.x . S2CID 8711402 . 
  3. ^ Bodenstab, DE; Houghton, TF; Kelleman, KA; Ронкин, Г .; Шан, EP (1984). «Опыт переноса операционной системы UNIX». Технический журнал AT&T Bell Laboratories . 63 (8): 1769–1790. DOI : 10.1002 / j.1538-7305.1984.tb00064.x . S2CID 35326182 . 
  4. ^ Кейн, младший; Андерсон, RE; МакКейб, PS (январь 1983 г.). «Процессор 3B20D и операционная система DMERT: обзор, архитектура и производительность DMERT». Технический журнал Bell System . 62 (1): 291–301. DOI : 10.1002 / j.1538-7305.1983.tb04396.x . S2CID 31828139 . 
  5. ^ Grzelakowski, ME; Кэмпбелл, JH; Дубман, MR (январь 1983 г.). «Процессор 3B20D и операционная система DMERT: операционная система DMERT». Технический журнал Bell System . 62 (1): 303–322. DOI : 10.1002 / j.1538-7305.1983.tb04397.x . S2CID 12901173 . 
  6. ^ a b Уоллес, Джон Дж .; Барнс, Уолтер В. (август 1984 г.). «Разработка для сверхвысокой доступности: операционная система Unix RTR» (PDF) . Компьютер IEEE . IEEE . 17 (8): 31–39. DOI : 10,1109 / MC.1984.1659215 . S2CID 17689432 .  
  7. ^ Ричи, Деннис М. (1977). Система разделения времени Unix: ретроспектива . Десятая Гавайская международная конференция по системным наукам. Архивировано из оригинала 5 февраля 2015 года.