stringtranslate.com

РТ-11

RT-11 ( Real-time 11 ) — это снятая с производства небольшая бюджетная [2] однопользовательская операционная система реального времени для всей линейки 16-разрядных компьютеров Digital Equipment Corporation PDP-11 . RT-11 был впервые реализован в 1970 году. Он широко использовался для вычислительных систем реального времени , управления процессами и сбора данных во всех PDP-11. Он также использовался для недорогих вычислений общего назначения. [2]

Функции

Исходный код

RT-11 был написан на языке ассемблера . Интенсивное использование функций условной сборки и макропрограммирования ассемблера MACRO-11 обеспечило значительную степень конфигурируемости и позволило программистам указывать инструкции высокого уровня, которые иначе не были бы предусмотрены в машинном коде. Дистрибутивы RT-11 включали исходный код операционной системы и ее драйверы устройств со всеми удаленными комментариями, а также программу под названием «SYSGEN», которая собирала операционную систему и драйверы в соответствии с конфигурацией, указанной пользователем. Документация разработчика включала список ядра с комментариями.

Драйверы устройств

В RT-11 драйверы устройств [3] [4] были загружаемыми, за исключением того, что до версии V4.0 драйвер устройства для системного устройства (загрузочного устройства) был встроен в ядро ​​во время конфигурации. Поскольку RT-11 обычно использовался для управления устройствами и сбора данных, разработчики часто писали или улучшали драйверы устройств. DEC поощряла такую ​​разработку драйверов, делая свои аппаратные подсистемы (от структуры шины до кода) открытыми, документируя внутреннюю часть операционной системы, поощряя сторонних поставщиков оборудования и программного обеспечения, а также способствуя развитию Общества пользователей компьютеров цифрового оборудования .

Многозадачность

Системы RT-11 не поддерживали вытесняющую многозадачность , но большинство версий могли запускать несколько приложений одновременно. Во всех вариантах мониторов предусмотрена фоновая работа . Мониторы FB, XM и ZM также обеспечивали задание приоритетного плана и шесть системных заданий , если они были выбраны с помощью программы создания системы SYSGEN . Эти задачи имели фиксированные приоритеты : фоновое задание было самым низким, а приоритетное — самым высоким. Можно было переключаться между заданиями из пользовательского интерфейса системной консоли , а SYSGEN мог генерировать монитор, обеспечивающий одно фоновое задание (варианты SB, XB и ZB). [2] Термины «передний план» и «фон» противоречат здравому смыслу; фоновым заданием обычно был интерпретатор командной строки пользователя ; задание на переднем плане может выполнять что-то вроде неинтерактивного сбора данных.

Человеческий интерфейс

Конец вывода команды HELP от RT-11SJ отображается на VT100 .

Пользователи обычно управляли RT-11 через печатный терминал или видеотерминал , первоначально через токовую петлю с выбираемым ремешком (для обычных телетайпов) или через интерфейс RS-232 (позже также RS-422 ) на одной из плат ЦП. ; DEC также поддерживала устройства графического отображения VT11 и VS60 ( терминалы векторной графики с генератором графических символов для отображения текста и световым пером для графического ввода). Сторонним фаворитом было семейство Tektronix 4010 .

Монитор клавиатуры (KMON) интерпретировал команды, выдаваемые пользователем, и вызывал различные утилиты с формами команд интерпретатора командной строки (CSI). Командный язык RT-11 имел множество функций (таких как команды и имена устройств), которые позже можно было найти в линейке операционных систем DOS , которые в значительной степени заимствованы из RT-11. CSI формирует ожидаемые имена и параметры входных и выходных файлов («переключается» на RT-11) в точном порядке и синтаксисе. Параметры командной строки разделялись косой чертой ( ), а не тире ( ), используемым в Unix-подобных операционных системах. Все команды имели полную форму и краткую, до которой их можно было свернуть. Например, команду RENAME можно сократить до REN ./-

Пакетные файлы и пакетный процессор можно использовать для выдачи серии команд с некоторым элементарным потоком управления . Пакетные файлы имели расширение .BAT.

В более поздних версиях RT-11 можно было вызывать серию команд с помощью командного файла .COM, но они выполнялись последовательно без управления потоком. Даже позже стало возможным выполнять ряд команд с большим контролем за счет использования процессора косвенных командных файлов (IND), который принимал управляющие файлы .CMD в качестве входных данных.

Файлы с расширением .SAV представляли собой своего рода исполняемые файлы. Они были известны как «файлы сохранения», потому что команда SAVE RT-11 могла использоваться для сохранения содержимого памяти в файл на диске, который можно было загрузить и выполнить позже, позволяя сохранить любой сеанс.

Команда SAVE, наряду с GET, START , REENTER, EXAMINE и DEPOSIT, была базовыми командами, реализованными в KMON. Некоторые команды и утилиты позже были заимствованы из линейки операционных систем DOS . К этим командам относятся DIR , COPY , RENAME , ASSIGN , CLS , DELETE , TYPE , HELP и другие. Команда FORMAT использовалась для форматирования физического диска, хотя она не имела возможности создания файловой системы, для чего использовалась команда INIT (аналог DOS-команды FORMAT /Q). Большинство команд поддерживают использование подстановочных знаков в именах файлов.

Имена физических устройств задавались в форме «dd{n}:», где «dd» — двухзначное буквенное имя устройства, а необязательный «n» — номер устройства (0–7). Если номер единицы был опущен, предполагалась единица 0. Например, TT: относится к консольному терминалу, LP: (или LP0:) относится к параллельному принтеру, а DX0:, DY1:, DL4: относится к дисковым томам (RX01, модуль 0, RX02, модуль 1, RL01 или RL02). блок 4 соответственно). Имена логических устройств состояли из 1–3 буквенно-цифровых символов и использовались вместо имени физического устройства. Это было достигнуто с помощью ASSIGNкоманды. Например, может возникнуть проблема ASSIGN DL0 ABC, из-за которой все будущие ссылки на «ABC:» будут сопоставляться с «DL0:». Зарезервированное логическое имя DK: относится к текущему устройству по умолчанию. Если устройство не было включено в спецификацию файла, предполагалось DK:. Зарезервированное логическое имя SY: относится к системному устройству (устройству, с которого была загружена система).

Более поздние версии RT-11 позволяли указывать до 64 единиц (0–77 восьмеричных) для определенных устройств, но имя устройства по-прежнему ограничивалось тремя буквенно-цифровыми символами. Эта функция была включена посредством выбора SYSGEN и применялась только к обработчикам устройств DU и LD. В этих двух случаях форма имени устройства стала «dnn:», где «d» было «D» для устройства DU и «L» для устройства LD, а «nn» было 00–77 (восьмеричное).

Программное обеспечение

RT-11 распространялся вместе с утилитами для выполнения многих действий. Утилиты DIR , DUP , PIP и FORMAT предназначались для управления томами диска. TECO , EDIT и визуальные редакторы KED (для DEC VT100 ) и K52 (для DEC VT52 ) использовались для создания и редактирования исходных файлов и файлов данных. MACRO , LINK и LIBR предназначались для создания исполняемых файлов. ODT , VDT и устройство SD использовались для отладки программ. Версия Runoff [5] от DEC предназначалась для создания документов. Наконец, VTCOM использовался для подключения и использования (или передачи файлов в/из) другой компьютерной системы по телефону через модем.

Система была достаточно полной, чтобы справиться со многими современными задачами персональных компьютеров. Программное обеспечение для повышения производительности, такое как LEX-11, пакет текстового процессора и электронная таблица от Saturn Software, используемое в других операционных системах PDP-11, также работало на RT-11. [6] Большое количество бесплатного программного обеспечения для RT-11, предоставленного пользователями, было доступно от Общества пользователей компьютеров цифрового оборудования (DECUS), включая реализацию C . Хотя были предоставлены инструменты для разработки и отладки программ на языке ассемблера, другие языки, включая C, Fortran , Pascal [7] и несколько версий BASIC , были доступны от DEC как «многоуровневые продукты» за дополнительную плату. Версии этих и других языков программирования также были доступны из других, сторонних источников. Можно даже объединить машины RT-11 в сеть, используя DECNET , Интернет и протоколы, разработанные другими сторонними источниками.

Дистрибутивы и минимальная конфигурация системы

Операционная система RT-11 могла загружаться и выполнять полезную работу на машине, состоящей из двух 8-дюймовых дискет по 250 КБ и памяти 56 КБ, и могла поддерживать 8 терминалов. Другие варианты загрузки включают съемный жесткий диск RK05 емкостью 2,5 МБ или магнитную ленту . Дистрибутивы были доступны в предустановленном виде или на перфоленте , магнитной ленте, кассетной ленте или дискете. Минимальная, но полная система, поддерживающая одного пользователя в режиме реального времени, может работать на одной дискете и в 8 КБ 16-битных слов (16 КБ) ОЗУ, включая пользовательские программы. Этому способствовала поддержка подкачки и наложения. Чтобы реализовать работу в такой небольшой системе памяти, пользовательский интерфейс командной клавиатуры должен быть заменен во время выполнения пользовательской программы, а затем заменен в память после завершения программы. Система поддерживала часы реального времени , печатающий терминал, векторный графический блок VT11, 16-канальный аналого-цифровой преобразователь 100 кГц с 2-канальным цифро-аналоговым преобразователем, последовательный порт 9600 бод, 16-битные двунаправленные платы и т. д.

Файловая система

RT-11 реализовал простую и быструю файловую систему , использующую шестизначные имена файлов с трехсимвольными расширениями (6.3), закодированные в RADIX-50 , который упаковывал эти девять символов всего в три 16-битных слова (шесть байтов). Это привело к тому, что допустимыми символами имени файла были «A»-»Z», «a»-»z» были переведены в верхний регистр, «0»-»9», «$», «%», «*». Имена файлов могут иметь префикс имени устройства, чтобы указать устройство, отличное от устройства DK: по умолчанию, также закодированного в RADIX-50.

Все файлы были смежными, то есть каждый файл занимал на диске последовательные блоки (минимально адресуемая единица дискового пространства, 512 байт). Это означало, что весь файл можно было прочитать (или записать) очень быстро. Побочным эффектом такой структуры файловой системы было то, что по мере того, как файлы создавались и удалялись на томе с течением времени, неиспользуемые блоки диска, скорее всего, не оставались смежными , что могло стать ограничивающим фактором при создании больших файлов; Решением проблемы было периодическое «сжатие» (или «раздавливание») диска для объединения неиспользуемых частей. [8] [9]

Каждый том имеет только один каталог, который был предварительно выделен в начале тома. Каталог состоит из массива записей, по одной на каждый файл или нераспределенное пространство. Каждая запись каталога состоит из 8 (или более) 16-битных слов, хотя опция sysgen допускает дополнительное хранилище для конкретного приложения. [10]

Совместимость с другими операционными системами DEC.

Многие программы RT-11 (те, которые не нуждались в специализированных периферийных устройствах или прямом доступе к оборудованию) могли быть напрямую выполнены с использованием RT=11 RTS ( системы времени выполнения ) системы разделения времени RSTS/E или под RTEM (эмулятор RT). на различных выпусках RSX-11 и VMS .

Внедрение DCL для RT-11 повысило его совместимость с другими операционными системами DEC. Хотя каждая операционная система имела команды и параметры, уникальные для этой операционной системы, существовал ряд команд и опций, которые были общими.

Другие операционные системы PDP-11

DEC также продавала RSX-11 , многопользовательскую, многозадачную операционную систему с функциями реального времени, и RSTS/E (первоначально называвшуюся RSTS-11) многопользовательскую систему с разделением времени, но RT-11 оставалась предпочтительной операционной системой для систем сбора данных , где требовался ответ в режиме реального времени. Операционная система Unix также стала популярной, но ей не хватало функций реального времени и чрезвычайно маленького размера, как RT-11.

Аппаратное обеспечение

RT-11 работал на всех членах семейства DEC PDP-11, как на базе Q-Bus , так и на базе Unibus , начиная с PDP-11/05 (его первая цель была выпущена в 1970 году (обратите внимание, что PDP-11/05 был выпущен) 1972 года, так что это, вероятно, был PDP-11/20)), до последних реализаций PDP-11 (PDP-11/93 и /94). Кроме того, он работал на системах Professional Series и PDT-11 «Programmed Data Terminal», также от DEC. Поскольку архитектура PDP-11 была реализована в продуктах-заменителях других компаний (например, M100 и семейство от Mentec ) или в виде реверс-инженерных клонов в других странах (например, ДВК из Советского Союза), RT-11 работает на эти машины тоже.

Периферийные устройства

Добавление поддержки драйверов для периферийных устройств, таких как плоттер CalComp , [11] обычно включало копирование файлов и не требовало SYSGEN. [2]

Совместимые операционные системы

Фаззбол

Fuzzball , программное обеспечение маршрутизации для интернет-протоколов , было способно запускать программы RT-11. [12]

SHAREplus

HAMMONDsoftware распространила ряд операционных систем, совместимых с RT-11, включая STAReleven, раннюю многокомпьютерную систему, и SHAREplus, многопроцессную и многопользовательскую реализацию RT-11, которая заимствовала некоторые архитектурные концепции из операционной системы VAX/ VMS . Для работы требовались драйверы устройства RT-11. Прозрачный доступ устройств к другим PDP-11 и VAX/VMS поддерживался с помощью сетевой опции. Также была доступна ограниченная совместимость приложений RSX-11 . У SHAREplus была самая сильная база пользователей в Европе.

ТСХ-11

TSX-11 [ 13] , разработанный S&H Computing, представлял собой многопользовательскую и многопроцессорную реализацию RT-11. Единственное, что он не делал, — это обрабатывал процесс загрузки, поэтому любая машина TSX-Plus должна была сначала загрузить RT-11, прежде чем запускать TSX-Plus в качестве пользовательской программы. Как только TSX-Plus заработает, он возьмет на себя полный контроль над машиной от RT-11. Он обеспечивал настоящую защиту памяти пользователей от других пользователей, предоставлял учетные записи пользователей и поддерживал разделение учетных записей на дисковых томах, а также реализовал расширенный набор запрограммированных запросов RT-11 EMT.

S&H написала оригинальный TSX, потому что «потратила 25 тысяч долларов на компьютер, который мог поддерживать только один пользователь, прослушивающий [основатель Гарри Сандерс]»; Результатом стал первый четырехпользовательский TSX в 1976 году. [14] TSX-Plus (выпущенный в 1980 году) был преемником TSX, выпущенного в 1976 году. [14] Система была популярна в 1980-х годах. Программы RT-11 обычно запускались без изменений под управлением TSX-Plus, и фактически большинство утилит RT-11 использовались под управлением TSX-Plus как есть. Драйверы устройств обычно требовали лишь небольших изменений.

В зависимости от модели PDP-11 и объема памяти система могла поддерживать минимум 12 пользователей [14] (14–18 пользователей на 2 МБ 11/73, в зависимости от рабочей нагрузки). [15] Последняя версия TSX-Plus имела поддержку TCP/IP .

Версии

Варианты

Пользователи могли выбирать из вариантов с разными уровнями поддержки многозадачности , размером памяти и отдельным адресным пространством I&D (инструкции и данные):

Несопоставленная память

Сопоставленная память

Специализированные версии

На базе РТ-11 было продано несколько специализированных систем PDP-11:

Клоны в СССР

В СССР было изготовлено несколько клонов РТ-11:

Смотрите также

Рекомендации

  1. ^ «РТ-11 - История выпусков» . www.oshistory.net . Архивировано из оригинала 28 сентября 2007 года . Проверено 18 марта 2022 г.
  2. ^ abcdef Кэмпбелл, Милтон (декабрь 1982 г.). «Перспектива РТ-11». Твердая копия .
  3. ^ «Включены драйверы устройств DEC RP02/RP03» . Компьютерный мир . 20 июля 1981 г. с. 58.
  4. ^ «Драйверы программного обеспечения 3Com» . Компьютерный мир . 26 октября 1981 г. с. 51.
  5. ^ "Сток дорабатывает текст на RSTS/E, RT-11" . Компьютерный мир . 25 сентября 1978 г. с. 35.
  6. ^ «LEX-11 во всех операционных системах DEC» . Компьютерный мир . 20 апреля 1981 г. с. 59.
  7. ^ "ПАСКАЛЬ на РТ-11". Компьютерный мир . 10 марта 1980 г. с. 102.
  8. ^ «Руководство по системным сообщениям RT-11» (PDF) . БитСейверы . Сожмите громкость с помощью команды монитора SQUEEZE.
  9. ^ «Руководство пользователя системы RT-11, 1977 г.» (PDF) . Команда SQUEEZE объединяет в одной области все неиспользуемые...
  10. ^ "Файловая система RT-11 Digital" . 20 октября 2013 года . Проверено 1 января 2015 г.
  11. ^ Ученый Google В.Л. Палья; Б. Браун (1981). «Графическое программное и аппаратное обеспечение систем РТ-11». Методы и инструменты исследования поведения . 13 (2): 255–261. дои : 10.3758/BF03207944 .
  12. ^ Миллс, DL (1988). «Пушиный ком» (PDF) . Обзор компьютерных коммуникаций ACM SIGCOMM . 18 (4): 115–122. дои : 10.1145/52325.52337 . Проверено 6 мая 2009 г.
  13. ^ Милтон Кэмпбелл (январь 1985 г.). «Перспектива РТ-11». Твердая копия (журнал) . п. 125.
  14. ^ abc «S&H TSX-Plus 23 ноября, 34 ноября» . Компьютерный мир . 1 декабря 1980 г. с. 67. Эффективное разделение времени общего назначения для 20 пользователей 23/34 и 23/11 на основе...
  15. ^ «TSX-Plus: Таймшер RT-11» . Твердая копия (журнал) . Октябрь 1982 г. с. 9.
  16. ^ Руководство по установке и созданию системы RT-11. Мейнард, Массачусетс: Корпорация цифрового оборудования. Март 1980 г. с. 1-6.
  17. ^ Руководство по установке abcd RT-11 (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. Август 1991. стр. 1–2, 1–3.

Внешние ссылки