Введение

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

Семейство операционных систем RSX 11 – это прекращенное семейство многопользовательских операционных систем реального времени для компьютеров PDP 11, разработанное компанией Digital Equipment Corporation. Широко использовавшееся в конце 1970-х и начале 1980-х годов, RSX 11 оказало значительное влияние на разработку последующих операционных систем, таких как VMS и Windows NT. Как следует из оригинального названия Real Time System Executive, RSX было разработано (и широко применялось) для работы в режиме реального времени, а управление процессами являлось одной из основных областей его применения. Оно также было популярно для разработки программного обеспечения и общих вычислительных задач.

Право собственности, модель развития и доступность

RSX 11 – это проприетарное программное обеспечение. Авторские права охраняются как для бинарных файлов, так и для исходного кода и документации. Оно было полностью разработано внутри компании Digital. Поэтому ни одна его часть не является программным обеспечением с открытым исходным кодом. Однако копия исходного кода ядра присутствует в каждом дистрибутиве RSX, поскольку она использовалась в процессе генерации системы. Заметным исключением из этого правила является Micro RSX, который поставлялся с предварительно сгенерированным двоичным ядром с автоматической настройкой. Полный исходный код был доступен как отдельный продукт для тех, кто уже имел бинарную лицензию, в качестве справочного материала. Право собственности на RSX 11S, RSX 11M, RSX 11M Plus и Micro/RSX было передано от Digital компании Mentec Inc. в марте 1994 года в рамках более широкого соглашения. Mentec Inc. являлась дочерней компанией в США Mentec Limited, ирландской фирмы, специализирующейся на аппаратном и программном обеспечении для PDP 11. В 2006 году Mentec Inc. была признана банкротом, а Mentec Ltd. была приобретена ирландской компанией Calyx в декабре 2006 года. Программное обеспечение PDP 11, принадлежавшее Mentec Inc., затем было приобретено компанией XX2247 LLC, которая является его нынешним владельцем. Неясно, возможно ли в настоящее время приобрести новые коммерческие лицензии. Энтузиасты могут запускать RSX 11M (версия 4.3 или более ранняя) и RSX 11M Plus (версия 3.0 или более ранняя) на эмуляторе SIMH благодаря бесплатной лицензии, предоставленной компанией Mentec Inc. в мае 1998 года. Право собственности на RSX 11A, RSX 11B, RSX 11C, RSX 11D и IAS никогда не менялось; поэтому оно перешло к компании Compaq, когда она приобрела Digital в 1998 году, а затем к Hewlett Packard в 2002 году. В конце 2015 года Hewlett Packard разделилась на две отдельные компании (HP Inc. и Hewlett Packard Enterprise), поэтому установить нынешнего владельца однозначно невозможно. Новые коммерческие лицензии не выдавались, по крайней мере, с октября 1979 года (RSX 11A, RSX 11B, RSX 11C) или 1990 года (IAS), компьютер, который так и не был выпущен, но RSX 11M Plus широко использовался в качестве стандартной операционной системы на PDP 11/70. RSX 11M Plus также работал на PDP 11/44, PDP 11/84, PDP 11/94 (машины Unibus), а также на PDP 11/73, PDP 11/83 и PDP 11/93 (машины Qbus). Одним из преимуществ RSX 11M Plus перед RSX 11M было то, что можно было создавать более крупные программы. Это достигалось за счет того, что компоновщик (task builder) создавал программу для использования функции раздельных пространств инструкций и данных на некоторых моделях PDP 11, чтобы разместить исполняемый код и данные в отдельных адресных пространствах. Это также позволяло программам работать быстрее, поскольку уменьшалась необходимость в "накладках" (overlays), когда объектные модули можно было накладывать друг на друга во время сборки задачи для очень больших программ. Накладки указывались в файле команд сборки задачи.

Операция

RSX 11 часто использовалась для вычислений с разделением времени общего назначения, хотя эта ниша была целевой аудиторией для конкурирующей операционной системы RSTS/E. RSX 11 предоставляла функции для обеспечения времени отклика на ввод данных с периферийных устройств, превышающего максимально необходимое (то есть обработку в реальном времени), что и было ее изначальным назначением. Эти функции включали возможность заблокировать процесс (называемый задачей в RSX) в памяти при загрузке системы и назначить процессу более высокий приоритет, чтобы он выполнялся перед процессами с более низким приоритетом. Для поддержки больших программ в относительно небольшом виртуальном адресном пространстве PDP 11 объемом 64 КБ использовалась сложная полуавтоматическая система накладок. Для каждой программы эта схема накладок создавалась программой построения задач RSX (называемой TKB). Если схема накладок была особенно сложной, построение задачи могло занимать значительное время – от часов до дней. Стандартный запрос RSX – ">" или "MCR>" (для "Monitor Console Routine"). Все команды можно сокращать до первых трех символов при вводе, и все команды уникальны по этим первым трем символам. Только команда "HELLO" может быть выполнена пользователем, который еще не вошел в систему. "HELLO" была выбрана в качестве команды входа в систему, поскольку важны только первые три символа – "HEL", что позволяет пользователю, не прошедшему аутентификацию, выполнить команду "HELP". При работе на определенных процессорах PDP 11 каждая операционная система DEC отображает характерный световой рисунок на консольной панели процессора, когда система простаивает. Эти рисунки создаются задачей простоя, работающей на самом низком уровне. Световой рисунок RSX 11M состоит из двух наборов огней, расходящихся наружу влево и вправо от центра консоли (внутрь, если на старых версиях RSX работала программа косвенной обработки файлов команд IND). В отличие от этого, световой рисунок IAS представлял собой одну полосу огней, движущуюся влево. Соответственно, хаотичный световой рисунок (отражающий обращения к памяти) является видимым признаком загруженности компьютера (и невыполнения задачи простоя). Другие операционные системы PDP 11, такие как RSTS/E, имеют свои собственные отличительные узоры в консольных огнях.