RT-11 (RT от англ.Real Time — в режиме реального времени) — однопользовательская операционная система реального времени фирмы DEC для 16-битных компьютеров серии PDP-11. Впервые была запущена в 1970 году и широко использовалась для систем реального времени, управления процессами и сбора данных.
Многозадачность — Системы RT-11, за исключением TS-монитора, не поддерживали вытесняющую многозадачность, но большинство версий позволяло запускать несколько приложений одновременно. Все варианты программы-монитора, кроме SJ, предоставляли возможность запускать «фоновую задачу» (Background Job). Помимо того, мониторы FB, XM и ZM предоставляли «задачу переднего плана» (Foreground Job), а также небольшое число «системных задач».
Исходный код — RT-11 была написана на языке ассемблера. Интенсивное использование условной компиляции и макросов ассемблера MACRO-11 предоставляли значительную степень конфигурируемости. Дистрибутивы RT-11 поставлялись с исходным кодом операционной системы и драйверов устройств, из которого были удалены все комментарии. Предоставлялась программа SYSGEN, с помощью которой выполнялась сборка операционной системы в соответствии с пользовательской конфигурацией. Документация для разработчиков включала в себя листинги ядра с комментариями.
Драйверы устройств — В ранних версиях RT-11 драйверы устройств встраивались в ядро на этапе конфигурирования системы, в более поздних версиях драйверы стали подгружаемыми. Поскольку RT-11 часто использовалась для управления устройствами и сбора данных, разработчики часто писали новые драйверы устройств или улучшали существующие, и DEC поощряла такую разработку, делая свои аппаратные подсистемы открытыми, поддерживая сторонних разработчиков аппаратуры и программного обеспечения и поощряя Сообщество пользователей DEC (DIGITAL Equipment Corporation Users Society).
Файловая система — RT-11 имела простейшую двухуровневую (том/файл) файловую систему с непрерывными (односегментными) файлами, что требовало периодической дефрагментации дискового пространства. Многоуровневость файловой системы обычно реализовывалась при помощи виртуальных дисков (файловая система монтируемых томов реализовывалась в обычном файле или файле другого виртуального диска). Название файла состояло из имени файла, символа «.» и обязательного «расширения» имени файла. Максимальная длина имени файла — 6 символов. Длина расширения — 3 символа. Символ «.» подразумевался в названии каждого файла и в файловой системе не хранился. Кратность трём длин имени и расширения объясняется использованием для их хранения кодировки RADIX-50, требующей всего 2 байта для хранения 3 символов.
Программное обеспечение — RT-11 поставлялась с целым рядом сервисных программ. Утилиты DIR, DUP, PIP и FORMAT позволяли управлять дисками и каталогами. Редакторы TECO, EDIT и визуальные редакторы KED (для VT100) и K52 (для VT52) давали возможность создавать и редактировать файлы с исходным кодом и данными. MACRO, LINK и LIBR позволяли создавать свои исполняемые файлы. ODT, VDT и SD — отлаживать программы. Вариант Runoff от DEC позволял пользователю создавать документы. И наконец, программа VTCOM позволяла связываться с другой системой посредством телефонной линии и модема.
Варианты
RT-11SJ (Single Job monitor) — однозадачная ОС для машин с памятью до 64 КБ (32 КСлов).
RT-11SL (Single Line monitor) — однозадачная ОС для машин с памятью до 64 КБ (32 КСлов) расширение SJ монитора, поддерживающее историю командной строки, настройку приглашения (prompt) и прочие удобства. Появился с выходом версии 5, и моментально вытеснил SJ-монитор.
RT-11BL (BaseLine monitor) Сверхкомпактная разновидность SJ-монитора с минимальными аппаратными требованиями. Поставлялся в комплекте дистрибутива RT-11. Монитор запускался и работал на всех машинах семейства PDP-11. Предназначался в основном для генерации системы.
RT-11FB (Foreground/Background monitor) — Двух-восьмизадачная (фоново-оперативный режим) ОС с невытесняющей многозадачностью для машин с памятью до 64 КБ
RT-11XM (eXtended Memory monitor) — Двух-восьмизадачная ОС с невытесняющей многозадачностью для машин с памятью более 64 КБ, имеющих систему управления памятью
RT-11ZM — Поддерживала схему разделения памяти на память инструкций и память данных, принятую в машинах PDP-11/45.
RT-11TS — (Time Sharing monitor) Многопользовательская многозадачная ОС с разделением времени, каждому пользователю предоставлялась виртуальная машина — аналог RT-11SJ.
TSX — Развитие RT-11TS с вытесняющей многозадачностью, базирующейся на статических/динамических приоритетах, с дополнительными сервисами (пакетной обработки, виртуальными терминалами, поддержкой сетевых соединений, многопользовательской защитой). Разработка фирмы S&H Computing.
Известные версии
V3.x — одна из наиболее распространённых версий в первой половине 80-х годов.
Основной особенностью данной версии является встроенный в монитор драйвер системного устройства. Например: «DXMNSJ» — DX' MoNitor Single Job — однозадачный монитор, запускаемый с устройства «DX» — накопителя на 8-дюймовых гибких дисках; «RKMNFB» — RK' MoNitor Foreground/Background — фоново-оперативный монитор, запускаемый с устройства «RK» — накопителя на кассетном жёстком диске и т. п.
V4.x — дальнейшее развитие ОС. Некоторые функции расширены и дополнены. В частности, появилась возможность поддержки таймера в SJ-мониторе.
Одна и та же версия монитора могла быть установлена на любое доступное для загрузки устройство. Имена мониторов имели следующий вид: «RT11SJ», «RT11FB» и т. д.
Дистрибутив поставлялся в виде набора ассемблерных файлов и программы для генерации мониторов, написанной на языке «PAGEN».
Расширен набор поддерживаемых устройств. Список драйверов дополнился, в частности драйвером «VM» — виртуальный диск в расширенной памяти
Расширен и дополнен набор системных утилит.
V5.x — В этой версии ОС сделано очень много нового, что обусловило её широкое распространение. Версия 5.0 после своего появления на свет практически мгновенно вытеснила все предыдущие.
Введена поддержка «логических» или «виртуальных» дисков (драйвер «LD»). Это позволило реализовать многоуровневую файловую структуру.
Клавиатурный монитор получил возможность экранного редактирования командной строки и запоминания истории команд. Для этой цели ОС пополнилась драйвером «SL» (Single Line editor)
Появилась возможность работы с расширенными командными файлами (INDirect-файлами), представляющими собой фактически программу, написанную на языке высокого уровня. Для этой цели появилась утилита расширения клавиатурного монитора — интерпретатор «IND». Программа генерации мониторов написана на языке «IND». Соответственно язык «PAGEN» теперь оказался не нужен.
Данная версия ОС получила наиболее широкое распространение. На её базе в СССР были сделаны многочисленные клоны.
Хронология выпуска версий
Версия
Дата выпуска
Примечание
RT-11 V01-15
25.07.1973
RT-11 V02B
01.05.1975
Появился FB-монитор
RT-11 V02C
20.11.1975
Появилась поддержка LSI-11
RT-11 V03
14.08.1977
Появился XM-монитор. Утилита PIP разделена на PIP,DUP,DIR
RT-11 V03B
27.03.1979
RT-11 V04.00
21.02.1980
Драйвер системного устройства отделен от файла монитора
Архангельский Андрей Германович. RT-11, Шаг за шагом. — М., 1989.
Л. И. Валикова, Г. В. Вигдорчик, А. Ю. Воробьев, А. А. Лукин. Операционная система СМ ЭВМ РАФОС. Справочник. — М.: Финансы и статистика, 1984. — 207 с.