Введение
Операционная система реального времени RT 11 (Real time 11) – это небольшая, маломощная, однопользовательская операционная система реального времени для всей линейки 16-битных компьютеров PDP 11 компании Digital Equipment Corporation. RT 11 была впервые реализована в 1970 году. Она широко использовалась в системах вычислений в реальном времени, для управления процессами и сбора данных на всех PDP 11, а также для недорогих вычислений общего назначения. Драйверы устройств были загружаемыми, за исключением того, что до версии V4.0 драйвер системного устройства (загрузочного устройства) был встроен в ядро во время конфигурирования. Поскольку RT 11 обычно использовалась для управления устройствами и сбора данных, разработчики часто писали или улучшали драйверы устройств. DEC поощряла такую разработку драйверов, делая свои аппаратные подсистемы (от структуры шины до кода) открытыми, документируя внутреннее устройство операционной системы, поддерживая сторонних поставщиков аппаратного и программного обеспечения и способствуя развитию Общества пользователей компьютеров Digital Equipment.
RT 11 (Real time 11) is a discontinued small, low end, single user real time operating system for the full line of Digital Equipment Corporation PDP 11 16 bit computers. RT 11 was first implemented in 1970. It was widely used for real time computing systems, process control, and data acquisition across all PDP 11s. It was also used for low cost general use computing. were loadable, except that prior to V4.0 the device driver for the system device (boot device) was built into the kernel at configuration time. Because RT 11 was commonly used for device control and data acquisition, it was common for developers to write or enhance device drivers. DEC encouraged such driver development by making their hardware subsystems (from bus structure to code) open, documenting the internals of the operating system, encouraging third party hardware and software vendors, and by fostering the development of the Digital Equipment Computer Users Society.
Многозадачность
Системы RT 11 не поддерживали вытесняющую многозадачность, но большинство версий могли выполнять несколько приложений одновременно. Все варианты мониторов обеспечивали фоновую задачу. Мониторы FB, XM и ZM также обеспечивали задачу на переднем плане и шесть системных задач, если они были выбраны через программу генерации системы SYSGEN. Эти задачи имели фиксированные приоритеты, при этом фоновая задача имела наименьший, а задача на переднем плане – наивысший приоритет. Была возможность переключаться между задачами из пользовательского интерфейса системной консоли, а SYSGEN мог генерировать монитор, обеспечивающий только одну фоновую задачу (варианты SB, XB и ZB). Он использовался для создания документов. Наконец, VTCOM применялся для подключения и работы с другой компьютерной системой по телефонной линии через модем (или для передачи файлов в эту систему и обратно). Система была достаточно функциональной для выполнения многих современных задач персональных вычислений. Продуктивное программное обеспечение, такое как LEX 11 – пакет обработки текстов, и электронная таблица от Saturn Software, используемые в других операционных системах PDP 11, также работали под RT 11. Большое количество бесплатного программного обеспечения, созданного пользователями, для RT 11 было доступно от Общества пользователей компьютерной техники Digital Equipment (DECUS), включая реализацию языка C. Хотя инструменты для разработки и отладки программ на языке ассемблера предоставлялись, другие языки, включая C, Fortran, Pascal и несколько версий 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 (или более) 16-битовых слов, хотя опция sysgen позволяла хранить дополнительные данные, специфичные для приложения.
Совместимость с другими операционными системами DEC
Многие программы RT 11 (те, которым не требовались специализированные периферийные устройства или прямой доступ к аппаратному обеспечению) могли выполняться непосредственно с помощью RT=11 RTS (системы времени выполнения) многозадачной системы 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 и системах PDT 11 "Programmed Data Terminal", также производства DEC. Поскольку архитектура PDP 11 была реализована в других продуктах, заменяющих оригинальные (например, M100 и семейство от Mentec), или в виде клонов, созданных путем обратной разработки в других странах (например, ДВК в Советском Союзе), RT 11 также работала на этих машинах.
Периферийные устройства
Добавление поддержки драйверов для периферийных устройств, таких как плоттер CalComp, как правило, заключалось в копировании файлов и не требовало пересборки системы (SYSGEN).
SHAREplus (полное согласование)
HAMMONDsoftware распространяла ряд операционных систем, совместимых с RT 11, включая STAReleven – раннюю мультикомпьютерную систему, и SHAREplus – многопроцессную/многопользовательскую реализацию RT 11, которая заимствовала некоторые архитектурные концепции из операционной системы VAX/VMS. Для работы требовались драйверы устройств RT 11. Поддерживался прозрачный доступ к устройствам других PDP 11 и VAX/VMS при использовании сетевой опции. Также была обеспечена ограниченная совместимость с приложениями RSX 11. SHAREplus пользовалась наибольшей популярностью в Европе.
TSX-11
TSX 11, разработанный компанией S&H Computing, являлся многопользовательской, многопроцессорной реализацией RT 11. Единственным его ограничением была невозможность обработки процесса загрузки, поэтому любая машина TSX Plus требовала предварительной загрузки RT 11 перед запуском TSX Plus как пользовательской программы. После запуска TSX Plus полностью брал на себя управление машиной от RT 11. Он обеспечивал реальную защиту памяти пользователей друг от друга, предоставлял пользовательские учетные записи, поддерживал разделение учетных записей на дисковых томах и реализовывал расширенный набор запросов, программируемых RT 11 EMT. Компания S&H создала оригинальную TSX, потому что основателя Гарри Сандерса раздражало, что "за компьютер стоимостью 25 000 долларов можно было подключить только одного пользователя". Результатом стала первая четырехпользовательская TSX в 1976 году (14–18 пользователей на 2 Мб 11/73, в зависимости от нагрузки). Последняя версия TSX Plus поддерживала TCP/IP.
Неотмеченная память
RT 11SJ (Одиночная задача) допускала выполнение только одной задачи. Это была изначальная версия. RT 11BL (Базовая конфигурация) – упрощенная версия SJ с минимальным объемом занимаемой памяти и без дополнительных функций. RT 11FB (Передний/Задний план) поддерживала две задачи: высокоприоритетную неинтерактивную задачу "Передний план" и низкоприоритетную интерактивную задачу "Задний план". RT 11XM (Расширенная память) являлась надмножеством FB, обеспечивала поддержку памяти объемом более 64 КБ, но требовала миникомпьютера с аппаратным обеспечением для управления памятью; распространялась примерно с 1975 года. Поддерживала до 8 одновременных задач. RT 11ZB – однозадачная система, поддерживающая разделение инструкций и данных. RT 11ZM обеспечивала поддержку систем с разделением пространства инструкций и данных (например, на системах 11/44, 45, 55, 70, 84 и 94, работающих на шине Unibus, и 11/53, 73, 83 и 93, работающих на шине Q Bus). Поддерживала до 8 одновременных задач.