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

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

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

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

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

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

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

Ядро и неядерные процессы

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

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

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

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

 drwxr-xr-x корень 64  Вс дек 4   2003     / cft xrwxr-xr-x корень 64  Пн дек 11  2013     / no5text Crwxr-xr-x корень 256  Вт дек 12  2014     / no5data

Эмулятор Lucent и VCDX

AT&T, тогда Lucent, и сейчас Alcatel-Lucent, являются поставщиком SPARC на основе и Солярис -OEM-пакет ATT3bem (который находится в 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 (хотя они будут работать с программным обеспечением нормально). WE32000 процессор, в то время как 21 использует WE32100. Могут быть и другие отличия. Одна вещь необычная в процессоре - это направление роста стека: вверх.

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

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


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

    ATOMSW (1) 5ESS UNIX ATOMSW (1) НАЗВАНИЕ ATOMSW - файлы атомарного переключателя ОБЗОР ATOMSW file1 file2 ОПИСАНИЕ Атомарный переключатель двух файлов. Содержимое, права доступа и владельцы двух файлов переключаются за одну операцию. В случае системного сбоя во время выполнения этой команды file2 либо будет иметь свое исходное содержимое, разрешения и владельца, либо будет иметь содержимое, разрешения и владельца file1. Таким образом, file2 считается драгоценным. File1 может быть усечен в случае системной ошибки. ОГРАНИЧЕНИЯ Оба файла должны существовать. Оба файла должны находиться в одной файловой системе. Ни один из файлов не может быть «специальным устройством» (например, портом TTY). Чтобы ввести эту команду из оболочки craft, переключив файл «/ 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. ^ а б c Bayer, D. L .; Ликлама, Х. (1975). MERT: операционная система реального времени с несколькими средами. Пятый симпозиум ACM по принципам операционных систем. Остин, Техас. Дои:10.1145/800213.806519. Получено 2008-08-18.
  2. ^ а б c d Lycklama, H .; Байер, Д. Л. (июль – август 1978 г.). «Операционная система MERT». Технический журнал Bell System. 57 (6): 2049–2086. Дои:10.1002 / j.1538-7305.1978.tb02142.x.
  3. ^ Bodenstab, D. E .; Houghton, T. F .; Келлеман, К. А .; Ронкин, Г .; Шан, Э. П. (1984). «Опыт переноса операционной системы UNIX». Технический журнал AT&T Bell Laboratories. 63 (8): 1769–1790. Дои:10.1002 / j.1538-7305.1984.tb00064.x.
  4. ^ Kane, J. R .; Андерсон, Р. Э .; МакКейб, П. С. (январь 1983 г.). «Процессор 3B20D и операционная система DMERT: обзор, архитектура и производительность DMERT». Технический журнал Bell System. 62 (1): 291–301. Дои:10.1002 / j.1538-7305.1983.tb04396.x.
  5. ^ Grzelakowski, M.E .; Кэмпбелл, Дж. Х .; Дубман М. Р. (январь 1983 г.). «Процессор 3B20D и операционная система DMERT: операционная система DMERT». Технический журнал Bell System. 62 (1): 303–322. Дои:10.1002 / j.1538-7305.1983.tb04397.x.
  6. ^ а б Уоллес, Джон Дж .; Барнс, Уолтер В. (август 1984 г.). «Разработка для сверхвысокой доступности: операционная система Unix RTR» (PDF). IEEE Computer. IEEE. 17 (8): 31–39.
  7. ^ Ричи, Деннис М. (1977). Система разделения времени Unix: ретроспектива. Десятая Гавайская международная конференция по системным наукам. Архивировано из оригинал 5 февраля 2015 г.