stringtranslate.com

РТ-11

RT-11 ( Real-time 11 ) — это снятая с производства небольшая, бюджетная, [2] однопользовательская операционная система реального времени для всей линейки 16-разрядных компьютеров PDP-11 компании Digital Equipment Corporation . 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, но они выполнялись бы последовательно без управления потоком. Еще позже стало возможным выполнять ряд команд с большим контролем с помощью Indirect Command File Processor (IND), который принимал файлы управления .CMD в качестве входных данных.

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

Команда 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 unit 0, RX02 unit 1, RL01 или RL02 unit 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, было доступно в Digital Equipment Computer Users Society (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 ( Run-time system ) системы разделения времени RSTS/E или с помощью RTEM (RT Emulator) на различных версиях 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 ), или в качестве реверс-инжиниринговых клонов в других странах (например, DVK из Советского Союза), 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 была самая сильная пользовательская база в Европе.

TSX-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, потому что «трата $25K на компьютер, который мог поддерживать только одного пользователя, раздражала [основателя Гарри Сандерса]»; результатом стал первый 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 (инструкции и данные):

Неотображенная память

Картографированная память

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

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

Клоны в СССР

В СССР было создано несколько клонов РТ-11:

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

Ссылки

  1. ^ "RT-11 - История выпуска". www.oshistory.net . Архивировано из оригинала 28 сентября 2007 года . Получено 18 марта 2022 года .
  2. ^ abcdef Кэмпбелл, Милтон (декабрь 1982 г.). «Перспектива RT-11». Печатная версия .
  3. ^ "Включены драйверы устройств DEC RP02/RP03". Computerworld . 20 июля 1981 г. стр. 58.
  4. ^ "3Com software drivers". Computerworld . 26 октября 1981 г. стр. 51.
  5. ^ "Runoff полирует текст на RSTS/E, RT-11". Computerworld . 25 сентября 1978 г. стр. 35.
  6. ^ "LEX-11 на всех операционных системах DEC". Computerworld . 20 апреля 1981 г. стр. 59.
  7. ^ "PASCAL на RT-11". Computerworld . 10 марта 1980 г. стр. 102.
  8. ^ "RT-11 System Message Manual" (PDF) . BitSavers . Сжатие тома с помощью команды SQUEEZE монитора
  9. ^ "RT-11 System User Guide 1977" (PDF) . Команда SQUEEZE объединяет в одной области все неиспользуемые ...
  10. ^ "Digital's RT-11 File System". 20 октября 2013 г. Получено 1 января 2015 г.
  11. ^ Google Scholar W. L. Palya; B. Brown (1981). «Графическое программное и аппаратное обеспечение для систем RT-11». Методы и приборы исследования поведения . 13 (2): 255–261. doi : 10.3758/BF03207944 .
  12. ^ Миллс, DL (1988). "The Fuzzball" (PDF) . Обзор компьютерной связи ACM SIGCOMM . 18 (4): 115–122. doi :10.1145/52325.52337 . Получено 06.05.2009 .
  13. Милтон Кэмпбелл (январь 1985 г.). «Перспектива RT-11». Печатная версия (журнал) . стр. 125.
  14. ^ abc "S&H TSX-Plus 23.11, 34.11". Computerworld . 1 декабря 1980 г. стр. 67. эффективное, универсальное разделение времени для 20 пользователей 23.11 и 34.11 на основе ...
  15. ^ "TSX-Plus: Time Share RT-11". Печатная версия (журнал) . Октябрь 1982. С. 9.
  16. ^ Руководство по установке и созданию системы RT-11. Мейнард, Массачусетс: Digital Equipment Corporation. Март 1980 г. стр. 1-6.
  17. ^ Руководство по установке abcd RT-11 (PDF) . Мейнард, Массачусетс: Digital Equipment Corporation. Август 1991. С. 1–2, 1–3.

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