длины. Второй пакет (RMS) обеспечивает, кроме этого, прямой доступ к записям переменной длины и индексным файлам. Прямой доступ к записям переменной длины обеспечивается за счет объединения дескрипторов всех записей в начале файла. Дескрипторы имеют постоянную длину, а также содержат указатели на соответствующие записи.
Индексные файлы основаны на современных идеях размещения информации и доступа к ней по признакам-ключам. Каждая запись может иметь по нескольку признаков (до 255), и дескрипторы записей упорядочиваются по каждому. Таким образом, по любому признаку может быть осуществлен как прямой, так и последовательный доступ. Возможен также поиск по части признака-ключа, это является поддержкой группового поиска в иерархических моделях данных. Так как сами записи при размещении не упорядочиваются ни по каким признакам, отпадает необходимость в областях переполнения, перекомпоновках и т. д. Сами записи могут иметь произвольную длину. Индексные файлы удобно использовать как физический уровень систем управления базами данных (инвертированные файлы).
Интерфейс системы с пользователем. Осуществляется с помощью директив MCR консольного монитора (интерпретатора директив), В отличие от набора директив KMON ФОДОС, директивы MCR не охватывают функций, выполняемых утилитами и системными программами, в частности обработку файлов и манипуляции с ними. Эти функции выполняются с помощью вызовов соответствующей утилиты, причем каждый пользователь может вызвать утилиту, которая используется в настоящий момент другим пользователем. При этом в оперативную память загружается копия этой утилиты, и образуется новая задача, в имя которой кроме имени утилиты входит имя терминала, с которого она запущена.
Вызов утилиты, находящейся в пассивном состоянии (т. е. объявленной в системе), может быть осуществлен по имени без специальных директив MCR; в противном случае необходимо воспользоваться директивой перевода задачи в пассивное состояние INSTALL либо директивой запуска RUN. Если командная строка утилиты приведена непосредственно в директиве, то после ее выполнения управление возвращается интерпретатору MCR; если в директиве командная строка отсутствует, утилита присоединяется к терминалу, последовательно выполняя вводимые с него командные строки. Возврат к MCR осуществляется нажатием клавиши СКЛ-С.
Практически все директивы MCR являются запросами к ядру системы (EXECUTIVE). Большинство директив относится к управлению выполнением задач. С помощью директив этой группы можно перевести задачу из состояния хранения в пассивное состояние, т. е. объявить ее в системе и, наоборот, перевести задачу из пассивного состояния в состояние готовности; отменить запуск, если еще не истек заданный для пуска интервал; прекратить выполнение задачи — перевести ее в пассивное состояние, можно изменить ее приоритет; объявить задачу резидентной в оперативной памяти и наоборот; запустить приостановленную задачу; получить различные справки об установленных в системе задачах. Значительная часть этих директив является привилегированной — они могут быть введены только с привилегированного терминала (или привилегированным пользователем).
Директивы, связанные с управлением устройствами, позволяют: закрепить устройство за пользователем; связать устройство с логическим номером, отменить или изменить эту связь; получить список логических каналов; приписать очередь задач к одному устройству другому; получить статическую (об объявленных в системе типах устройств) и динамическую (об очередях) информацию; изменить некоторые общесистемные характеристики и характеристики отдельных устройств (в основном терминалов).
Директивы, управляющие информацией, осуществляют ряд процедур с томами (объявление тома или его устранение, инициализация тома), позволяют пользователю завести каталог на томе. Кроме того, имеется директива расширения файла, содержащего задачу для осуществления ее свертывания.