Jump to content

РСТС/Э

(Перенаправлено с SIMACS )
РСТС
RSTS/E 10.1, работающий с интерфейсом командной строки DCL.
Разработчик Digital Equipment Corporation , позже Mentec
Написано в МАКРО-11 Язык ассемблера , БЕЙСИК-ПЛЮС -2, DCL
Рабочее состояние Нет разработки, все еще доступно
Исходная модель Закрытый исходный код [1]
Первоначальный выпуск 1970 год ; 54 года назад ( 1970 )
Последний выпуск РСТС В10.1/1992 ; 32 года назад ( 1992 ) [2]
Доступно в Английский
Обновить метод Бинарные патчи, полные двоичные файлы
Менеджер пакетов РЕЗЕРВНОЕ КОПИРОВАНИЕ
Платформы ПДП-11
ядра Тип с разделением времени Операционные системы
По умолчанию
пользовательский интерфейс
Интерфейс командной строки : DCL (язык цифровых команд)
Лицензия Собственный
Предшественник ТСС/8

RSTS ( / ˈ r ɪ s t ɪ s / ) — многопользовательская с разделением времени, операционная система разработанная Digital Equipment Corporation (DEC, ныне часть Hewlett-Packard ) для PDP-11 серии 16-битных миникомпьютеров . Первая версия RSTS (RSTS-11, Version 1 DEC ) была реализована в 1970 году инженерами-программистами , которые разработали TSS-8 операционную систему разделения времени для PDP-8 . Последняя версия RSTS (RSTS/E, версия 10.1 ) была выпущена в сентябре 1992 года. RSTS-11 и RSTS/E обычно называются просто «RSTS», и в этой статье обычно используется более короткая форма. RSTS-11 поддерживает язык программирования BASIC, расширенную версию под названием BASIC-PLUS, разработанную по контракту компанией Evans Griffiths & Hart из Бостона. [3] [4] Начиная с версии RSTS/E 5B, DEC добавила поддержку дополнительных языков программирования, эмулируя среду выполнения операционных систем RT-11 и RSX-11 .

Акронимы и сокращения

[ редактировать ]
  • BTSS (базовая система разделения времени – никогда не продавалась) – первое название RSTS. [5]
  • CCL ( Краткий командный язык ) — эквивалент команды для запуска программы, хранящейся в интерпретаторе командной строки .
  • CIL (Core Image Library) — формат файла-контейнера, используемый для хранения одной или нескольких автономных (загрузочных) программ и операционных систем, таких как RSTS до версии 6A.
  • CILUS (Обновление и сохранение базовой библиотеки изображений) – программа DOS-11 для управления файлом CIL. [6]
  • CLI (интерпретатор командной строки) — см. Интерфейс командной строки .
  • CUSP (обычно используемые системные программы) — приложения для управления системой, такие как диспетчер задач или редактор реестра в Microsoft Windows . [7] В RSTS-11 CUSP были написаны на BASIC-Plus, как и пользовательские программы.
  • DCL (язык цифровых команд) – см. Язык ЦИФРОВЫХ команд .
  • DTR (DATATRIEVE) – язык программирования
  • FIP (File Information Processing) – резидентная область для выдачи файловых запросов.
  • FIRQB (блок очереди запроса информации о файле) – структура данных, содержащая информацию о запросах файлов. [8]
  • KBM (монитор клавиатуры) — аналог интерпретатора командной строки.
  • LAT (Local Area Transport) – цифровой предшественник TCP/IP.
  • MFD (Master File Directory) – корневой каталог файловой системы. [9]
  • PBS (услуги пакетной печати)
  • PIP ( Программа обмена периферийными устройствами )
  • PPN (номер программиста проекта) — аналог GID и UID в Unix.
  • RDC (консоль удаленной диагностики) — передняя панель, заменяющая PDP-11, в которой для управления ЦП использовалось последовательное соединение с консольным терминалом или модемом вместо индикаторов и тумблеров.
  • RSTS-11 (Система разделения времени с разделением ресурсов) - первое коммерческое название продукта для RSTS.
  • RSTS/E (расширенная система разделения времени с разделением ресурсов) – текущая реализация RSTS.
  • RTS (система времени выполнения) — сегмент кода, доступный только для чтения, предоставленный поставщиком, который будет отображен в верхнюю часть адресного пространства размером 32 КБ, 16-битного слова , которое пользовательская программа будет использовать для взаимодействия с операционной системой. Только одна копия RTS будет загружена в ОЗУ, но будет отображена в адресное пространство любой пользовательской программы, которой это потребуется. По сути, общий, реентерабельный код для уменьшения требований к оперативной памяти за счет совместного использования кода между любыми программами, которым он требуется.
  • RTSS (система разделения времени ресурсов - никогда не продавалась) - второе название RSTS.
  • SATT (Таблица истинности распределения памяти) — серия блоков по 512 КБ на каждом диске, которая указывает, был ли выделен блок или кластер на всем диске на диске. Побитовое значение 1 указывало на то, что кластер использовался; 0 указывал на то, что он не использовался.
  • SIL (библиотека сохраненных изображений) — формат файла контейнера ОС после того, как процедура создания системы RSTS была переключена с формата, использующего DOS-11, на формат, работающий изначально на RSTS/E, названный так по аналогии с CIL, который он заменил.
  • SILUS (Обновление и сохранение библиотеки изображений) - программа для создания файлов SIL, названная так по аналогии с (несвязанной) программой CILUS для DOS-11, которую она заменила.
  • UFD пользователя (каталог файлов пользователя) – домашний каталог . Корневой каталог файловой системы. [9]
  • XRB (блок запроса на передачу) — структура данных, содержащая информацию о других типах системных запросов, которые не используют FIRQB для передачи информации.

Разработка

[ редактировать ]

1970-е годы

[ редактировать ]

Ядро , RSTS было запрограммировано на языке ассемблера MACRO-11 , скомпилировано и установлено на диск с помощью CILUS программы работающей под операционной системой DOS-11 . RSTS загрузился в расширенную версию языка программирования BASIC , которую DEC назвала « BASIC-PLUS ». Все системное программное обеспечение CUSPS для операционной системы, включая программы учета ресурсов, входа в систему , выхода из системы и управления системой, написано на языке BASIC-PLUS. С 1970 по 1973 год RSTS работал всего в 56 КБ памяти на магнитном сердечнике (64 килобайта, включая отображаемое в памяти пространство ввода-вывода ). Это позволит системе иметь до 16 терминалов с максимум 17 рабочими местами . Максимальный размер программы составлял 16 КБ. [10] По оценкам DEC, к концу 1973 года на RSTS работало 150 лицензированных систем. [11]

В 1973 году поддержка управления памятью была включена в RSTS (теперь RSTS/E) для новых миникомпьютеров DEC PDP-11/40 и PDP-11/45 ( PDP-11/20 поддерживался только в RSTS-11). Внедрение управления памятью в новых компьютерах PDP-11 не только означало, что эти машины могли адресовать в четыре раза больший объем памяти (18-битная адресация , 256 КБ), но также открыло разработчикам возможность разделить пользовательского режима процессы . из ядра ядра.

В 1975 году поддержка управления памятью была снова обновлена ​​для нового 22-битного адресуемого PDP-11/70 . Системы RSTS теперь можно было расширить, чтобы использовать до двух мегабайт памяти для выполнения до 63 заданий. Концепции RTS и CCL были представлены, хотя их пришлось скомпилировать во время « SYSGEN ». Была введена услуга нескольких терминалов, которая позволяла одному заданию управлять несколькими терминалами (всего 128). Отправка/получение больших сообщений и межпроцессное взаимодействие стали очень сложными и эффективными. К августу имеется 1200 лицензированных систем. [11]

В 1977 году процесс установки RSTS больше не зависел от DOS-11. Ядро RSTS теперь можно было скомпилировать под RT-11 RTS , отформатировать как файл ядра с помощью RT-11 SILUS и скопировать на систему или другие диски, пока компьютер работал с разделением времени. BASIC-PLUS RTS (а также RT-11, RSX-11 , TECO сторонних производителей и RTS ) все работали как процессы пользовательского режима, независимо от ядра RSTS. Системный менеджер теперь мог решить на этапе начальной загрузки, какой RTS использовать в качестве монитора клавиатуры по умолчанию ( KBM ) . К настоящему времени насчитывалось около 3100 лицензированных систем. [11]

В 1978 году последнее обновление управления памятью было включено для всех машин, поддерживающих 22-битную адресацию. RSTS теперь мог использовать максимальный объем памяти, доступный PDP-11 (4 мегабайта). Также была включена поддержка режима SUPERVISORY, что сделало RSTS первой операционной системой DEC с такой возможностью. Также поддерживалась сеть DECnet , а также удаленная диагностика, проводимая техническими специалистами по обслуживанию на местах в RDC в Колорадо-Спрингс, штат Колорадо (услуга по подписке DEC). К концу десятилетия насчитывается более 5000 лицензированных систем. [11]

1980-е годы

[ редактировать ]

В 1981 году поддержка отдельного пространства инструкций и данных для пользователей машин Unibus ( PDP-11/44 , PDP-11/45, PDP-11/55 и PDP-11/70) обеспечила расширение ограничений памяти отдельного устройства. программа. Компиляция программ с использованием отдельного пространства инструкций и данных вскоре даст программе размер до 64 КБ для инструкций и до 64 КБ для буферизации данных. Был включен DCL RTS , а также поддержка новой версии DECnet III.

К 1983 году, имея около 15 000 машин DEC, работающих под управлением RSTS/E, [3] Версия V8.0-06 включала поддержку самого маленького 18-битного PDP-11, продаваемого DEC (MicroPDP-11). В этот дистрибутив были включены предварительно сгенерированное ядро ​​и CUSPS, чтобы упростить установку на MicroPDP-11. DEC продавала предварительно сгенерированную версию MicroPDP-11 как MicroRSTS по сниженной цене, однако пользователям необходимо было приобрести полную версию, если у них возникла необходимость создать собственное ядро. Файловая система была обновлена ​​и получила обозначение «Структура каталогов RSTS 1» (RDS1). [12] Все предыдущие версии файловой системы RSTS имели обозначение RDS0. [13] Новая файловая система была разработана для поддержки более 1700 учетных записей пользователей. [14] «Сейчас считается, что существует более 10 000 лицензированных пользователей и, по крайней мере, такое же количество нелицензированных пользователей!». [11]

С 1985 по 1989 год RSTS стал зрелым продуктом в версиях 9 . DCL был установлен в качестве основного RTS , а файловая система была снова обновлена ​​(теперь RDS1.2) для поддержки новых функций учетных записей пользователей. Пароли были зашифрованы с использованием модифицированного алгоритма DES вместо шести (6) символов, хранящихся в формате DEC Radix-50 . До версии 9 в нулевом проекте (группе) существовала системная учетная запись, не являющаяся пользователем (обозначение [0,1]), и все учетные записи в проекте номер 1 были привилегированными (мало чем отличались от учетной записи root в системах Unix ). С выпуском версии 9 для нулевого проекта можно было создавать дополнительные учетные записи, а для каждой учетной записи можно было индивидуально устанавливать несколько привилегий. Была включена поддержка протокола LAT , а также возможность запуска новейшей версии DECnet IV. Эти сетевые усовершенствования дают любому пользователю, подключенному к терминалу через сервер DEC, возможность взаимодействовать с машиной RSTS так же легко, как с VAX, на котором работает VMS . Структура команд DCL между операционными системами DEC также способствовала созданию знакомого внешнего вида:

Это не просто еще один псевдокомандный файловый процессор; он основан на функциях VMS. Процессор командных файлов DCL полностью поддерживается и интегрирован в RSTS благодаря значительным изменениям в DCL и мониторе. DCL выполняет командные файлы как часть вашей работы; поэтому не требуется никакой псевдоклавиатуры или принудительного ввода команд на клавиатуру (как в случае с ATPK). [15]

1990-е годы

[ редактировать ]

В 1994 году DEC продала большую часть своего бизнеса по разработке программного обеспечения для PDP-11 компании Mentec . [16] После этого компания Digital продолжала поддерживать своих клиентов PDP-11 в течение короткого периода времени с помощью сотрудников Mentec.

В 1997 году компании Digital и Mentec предоставили всем, кто желает использовать RSTS 9.6 или более раннюю версию в некоммерческих целях для хобби, бесплатную лицензию. Лицензия действительна только для эмулятора SIMH PDP-11. Лицензия также распространяется на некоторые другие цифровые операционные системы. Копии лицензии входят в авторизованный комплект программного обеспечения, доступный для скачивания на официальном сайте эмулятора SIMH . [17]

Документация

[ редактировать ]

Стандартный комплект руководств по документации, прилагаемый к дистрибутиву RSTS, состоит как минимум из 11 больших папок с тремя кольцами (известных под общим названием «Оранжевая стена»), одной маленькой папки с тремя кольцами, содержащей Краткое справочное руководство RSTS/E, и копии в мягкой обложке. Введение в BASIC AA-0155B-TK . Каждая из 11 папок на трех кольцах содержит:

Пример полки для документов RSTS/E

Том 1: Общая информация и установка

  • Каталог документации
  • Примечания к выпуску
  • Журнал технического обслуживания
  • Руководство по установке и обновлению системы

Том 2: Управление системой

  • Руководство системного администратора

Том 3: Использование системы

  • Руководство пользователя системы
  • Руководство по написанию командных процедур

Том 4: Утилиты

  • Справочное руководство по утилитам
  • Знакомство с редактором EDT
  • Руководство пользователя СОРТИРОВКА/ОБЪЕДИНЕНИЕ
  • Руководство пользователя RUNOFF

Том 4А: Утилиты

  • Руководство по редактору EDT

Том 4B: Утилиты

  • Справочное руководство по конструктору задач
  • Руководство по утилитам программиста
  • Руководство по утилитам RT11
  • Руководство пользователя ТЕКО

Том 5: БЕЙСИК-ПЛЮС

  • Руководство по языку BASIC-PLUS

Том 6: Системное программирование

  • Руководство по программированию

Том 7: Программирование МАКРО

  • Руководство по системным директивам
  • Справочное руководство по ODT

Том 7A: Программирование МАКРО

  • Языковое руководство MACRO-11
  • Руководство программиста RMS-11 MACRO

Том 8: RMS [ Услуги управления записями ]

  • RMS-11: Введение
  • Руководство пользователя RMS11
  • RMS-11 Утилиты

Операция

[ редактировать ]

Коммуникация

[ редактировать ]

RSTS использует последовательное соединение для взаимодействия с оператором. Соединение может быть локальным компьютерным терминалом с 20 мА интерфейсом токовой петли , интерфейсом RS-232 (либо локальным последовательным портом , либо удаленным подключением через модем ) или соединением Ethernet с использованием DECnet или LAT. К системе RSTS можно подключить до 128 терминалов (с использованием службы нескольких терминалов), выполняя максимум 63 задания (в зависимости от используемого процессора , объема памяти и дискового пространства, а также загрузки системы ). Большинство систем RSTS имели гораздо меньше терминалов. Пользователи также могут отправлять задания для запуска в пакетном режиме. Существует также пакетная программа под названием «ATPK», которая позволяет пользователям запускать серию команд на воображаемом терминале (псевдотерминале) в полуинтерактивном режиме, подобном пакетным командам в MS-DOS .

Вход в систему [Проект, Программист]

[ редактировать ]

Пользователи подключаются к системе, набрав команду LOGIN (или HELLO) на терминале, вышедшем из системы, и нажав клавишу возврата. Ввод любой команды на терминале, вышедшем из системы, запускает программу LOGIN, которая затем интерпретирует команду. Если это одна из команд, которые разрешено использовать пользователю, который еще не вошел в систему («Вышел из системы»), то соответствующая программа для этой команды объединяется в ЦЕПОЧКУ, в противном случае на экране печатается сообщение «Пожалуйста, скажите ПРИВЕТ». терминал. До версии 9 пользователь также мог инициировать вход в одну строку, однако при этом пароль пользователя остается на экране для просмотра всеми остальными в комнате (примеры приведены ниже):

Вход в систему и выход из системы RSTS/E с использованием BASIC в качестве RTS по умолчанию.
Bye

HELLO 1,1;SECRET

Ready

или

I 1,1;SECRET

Ready

или

LOGIN 1,1;SECRET

Ready

Статус терминала можно определить по ответам на команды, распечатанным интерпретатором команд. Пользователь, вошедший в систему и взаимодействующий с BASIC-PLUS KBM (монитор клавиатуры), получает приглашение «Готово», а пользователь, вышедший из системы, получает приглашение «Пока».

Пользователь входит в систему, указав свой номер PPN и пароль. Номера пользователей состоят из номера проекта (эквивалентного номеру группы в Unix), запятой и номера программиста. Оба числа находятся в диапазоне от 0 до 254, за особыми исключениями. При указании аккаунта в скобках заключаются номер проекта и программиста. Типичный номер пользователя может быть [10,5] (проект 10, программист 5), [2,146], [254,31] или [200,220] и т. д. Когда пользователь запускает системную программу во время выхода из системы (поскольку системный менеджер включил эту функцию), их номер PPN равен [0,0] и отображается в SYSTAT CUSP как **,**. Таким образом, это недействительный номер счета. Если пользователь указывает косую черту (/) вместо запятой между номером проекта и номером программиста, общесистемное сообщение, хранящееся в [1,2]NOTICE.TXT (эквивалент Unix motd ), не будет отображаться при входе в систему.

Системные и пользовательские учетные записи

[ редактировать ]

В каждом проекте номер программиста 0 обычно резервируется как групповая учетная запись, так как на него можно ссылаться с помощью специального символа #. Если номер пользователя [20,103], ссылка на имя файла, начинающееся с «#», относится к файлу, хранящемуся в учетной записи с номером пользователя [20,0]. Эта функция полезна в образовательных средах, поскольку преподавателю класса может быть присвоен номер программиста 0, а отдельным учащимся — учетные записи с тем же номером проекта, а преподаватель может хранить в своей учетной записи файлы, помеченные как общие только для этого проекта. число (это будут ученики только этого класса и никого другого).

Существуют два специальных класса номеров проектов. Номер проекта 0 обычно зарезервирован для системного программного обеспечения, и до версии 9 существовала только одна учетная запись проекта 0 (с именем [0,1]). Программисты в проекте номер 1 имеют привилегированные учетные записи, эквивалентные одной учетной записи «root» в системах Unix, за исключением того, что все учетные записи с номерами от [1,0] до [1,254] ​​являются привилегированными учетными записями. Начиная с версии 9, системный менеджер может предоставить любой учетной записи определенные привилегии.

Учетная запись [0,1] используется для хранения самого файла операционной системы, всех систем библиотек времени выполнения и некоторых системных файлов, связанных с загрузкой системы (комментарии автора выделены справа жирным шрифтом):

DIR [0,1]
 Name .Ext    Size   Prot    Date       SY:[0,1]
BADB  .SYS       0P  < 63> 06-Jun-98         List of bad blocks
SATT  .SYS       3CP < 63> 06-Jun-98         Bitmap of allocated disk storage
INIT  .SYS     419P  < 40> 06-Jun-98         Operating system loader program
ERR   .ERR      16CP < 40> 06-Jun-98         System error messages
RSTS  .SIL     307CP < 60> 06-Jun-98         Operating system itself
BASIC .RTS      73CP < 60> 06-Jun-98         BASIC-PLUS run time system
RT11  .RTS      20C  < 60> 06-Jun-98         RT-11 run time system
SWAP  .SYS    1024CP < 63> 06-Jun-98         System swap file
CRASH .SYS      35CP < 63> 06-Jun-98         System crash dump
RSX   .RTS      16C  < 60> 23-Sep-79         RSX-11 run-time system
TECO  .RTS      39C  < 60> 24-Sep-79         TECO text editor

Total of 1952 blocks in 11 files in SY:[0,1]

(Editor's note: This directory listing is prior to Version 9.)

Команда DIR — это установленный CCL, эквивалентный команде RUN для программы DIRECT. [0,1] — номер учетной записи (и имя каталога) учетной записи хранения операционной системы. Это будет называться «проект номер 0, программист номер 1».

Числа, указанные после каждого файла, представляют его размер в дисковых блоках, размер блока составляет 512 байт или 1/2 килобайта (K). «C» указывает, что файл является непрерывным (хранится как один файл без разделения на части, аналогично файлам в системе Microsoft Windows диска после дефрагментации ), а «P» указывает на то, что он специально защищен (не может быть удален, даже привилегированному пользователю, если только бит P не сброшен отдельной командой). Числа в скобках (например, «< 40>») обозначают степень защиты файла, которая всегда отображается в десятичном формате. Средства защиты указывают, может ли файл быть просмотрен любым другим пользователем, другими пользователями с тем же номером программиста, доступен ли файл только для чтения или может ли он быть изменен другим пользователем, а также может ли файл быть выполнен обычным пользователем, предоставляющим им дополнительные привилегии. Эти коды защиты очень похожи на защиты r, w и x в Unix и подобных операционных системах, таких как BSD и Linux . Код 60 соответствует личному файлу, код 63 — частному неудаляемому файлу, а код 40 — общедоступному файлу.

Файлы библиотеки хранятся под учетной записью [1,1] и обычно имеют логическое имя LB:. Учетная запись [1,2] является учетной записью запуска системы (очень похоже на запуск системы Unix с правами root) и содержит системный CUSPS , на который можно ссылаться, добавив к имени CUSP префикс со знаком доллара ($). "!" используется для счета [1,3], «%» для [1,4] и «&» для [1,5]. Учетная запись [1,1] также имела особую привилегию быть единственной учетной записью, где пользователю, вошедшему в систему под этой учетной записью, разрешалось выполнять системный вызов POKE для помещения значений в любую память системы. Таким образом, номер учетной записи [1,1] является ближайшим эквивалентом «root» в системах на базе Unix.

Среды выполнения

[ редактировать ]

Одной из особенностей RSTS являются средства выполнения программ и среда, используемая для их запуска. Различные среды позволяли программировать на BASIC-PLUS, расширенном и жестко скомпилированном BASIC-Plus-2, а также на более традиционных языках программирования, таких как COBOL (в конечном итоге обновленный до COBOL-85) и FORTRAN IV (в конечном итоге обновленный до FORTRAN-77). . Поддерживались и другие языки, такие как DIBOL и MUMPS . Эти среды были отделены друг от друга, так что можно было запустить программу из одной среды, и система переключалась на другую среду, одновременно запуская другую программу, а затем возвращала пользователя в исходную среду, с которой он начал. Эти среды назывались системой времени выполнения ( RTS) . Термином для обозначения интерфейса командной строки , который имелся в большинстве этих RTS, был KBM . До версии 9 системному менеджеру необходимо было определить, под какой RTS будет запускаться система, и это должна была быть та система, которая будет выполнять скомпилированные программы.

Системный менеджер также может установить специальные команды CCL (краткий командный язык), которые имеют приоритет над всеми командами KBM (за исключением DCL ). CCL аналогичен ярлыку программы в системе Windows или символической ссылке в системах на базе Unix. CCL устанавливаются как резидентная команда либо во время запуска, либо динамически, пока система работает с помощью системного менеджера (т. е. они не являются постоянными, как файл на диске).

Войдя в систему, пользователь может «ПЕРЕКЛЮЧИТЬСЯ» в любую из этих сред, вводить языковые операторы на языке программирования BASIC-PLUS, выдавать команды RUN для определенных программ или вводить специальную команду, называемую CCL, для выполнения программы с параметрами команды.

Большинство системных менеджеров RSTS создавали ядро, включающее однострочный параметр состояния «Control-T», который мог сообщить пользователю, какую программу он запускает, в каком RTS программа использует, сколько памяти занимает программа, сколько она может расшириться и сколько памяти RTS использовала .

БЕЙСИК-ПЛЮС

[ редактировать ]

Программы, написанные на BASIC-PLUS, работали под управлением BASIC RTS , что позволяло им использовать до 32 КБ памяти (из общего объема 64 КБ). Язык интерпретировался, каждое ключевое слово внутренне конвертировалось в уникальный байт-код , а переменные и данные индексировались и сохранялись отдельно в пространстве памяти. Внутренний формат байт-кода был известен как PCODE. При подаче интерактивной команды SAVE BASIC Plus RTS просто сохранял область рабочей памяти в файл на диске с расширением «.BAC». Хотя этот формат не был документирован, два студента факультета электронной инженерии из Саутгемптонского университета в Великобритании (Ник де Смит и Дэвид Гаррод) разработали декомпилятор , который мог реконструировать файлы BAC в их исходный исходный код BASIC-Plus, дополненный исходными номерами строк и именами переменных ( оба впоследствии работали в DEC). Остальную память использовала сама BASIC RTS . Если бы кто-то писал программы на языке, допускающем истинно двоичные исполняемые файлы, таком как BASIC-Plus-2, FORTRAN-IV или Macro Assembler, то объем доступной памяти составил бы 56 КБ (8 КБ выделено для РТС ). Стандартное приглашение BASIC-PLUS — это ответ «Готово», нажатие Control-T отображает статус (пример):

new
New file name--HWORLD

Ready

10 Print "Hello World"
20 Input "Press Control-T for 1 line status: ";a$
30 End
run
HWORLD  10:17 PM        01-Jan-08
Hello World
Press Control-T for 1 line status: ?
1       KB0     HWORLD+BASIC    KB(0R)  2(16)K+14K      0.2(+0.0) +0

Ready

save

Ready

compile

Ready

DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>

Total of 8 blocks in 2 files in SY:[1,2]

Ready

DCL (язык цифровых команд)

[ редактировать ]

Начиная с версии 9, DCL стала основной запускаемой RTS, хотя у нее нет возможности выполнять двоичные программы. Это стало возможным с появлением исчезнувшей RSX RTS (см. ниже). DCL был включен во все последние версии операционных систем DEC (RSX-11, RT-11, VMS и более поздние версии OpenVMS ) для совместимости. Стандартное приглашение DCL — это знак доллара «$» (пример):

$ write 0 "Hello World, it is "+F$TIME()
Hello World, it is 01-Jan-08 10:20 PM
$ inquire p1 "Press Control-T for 1 line status:"
Press Control-T for 1 line status:
1       KB0      DCL+DCL       KB(0R)       4(8)K+24K       0.1(+0.1) -8
$ set verify/debug/watch
$ show memory
(show memory)
(SYSTAT/C)

Memory allocation table:
 Start   End  Length  Permanent   Temporary
   0K -   85K (  86K) MONITOR
  86K - 1737K (1652K)   (User)
1738K - 1747K (  10K)   (User)    DAPRES LIB
1748K - 1751K (   4K)   (User)    RMSRES LIB
1752K - 2043K ( 292K) ** XBUF **
2044K -  *** END ***
$

RSX (исполнительная система реального времени)

[ редактировать ]

Программы, написанные для RSX RTS, такие как COBOL, Macro Assembler или более поздние версии BASIC-Plus-2, могли использовать максимальный объем памяти, доступный для двоичной программы (56 КБ из-за требований RTS, требующих верхние 8 КБ). использовать для себя). RSX RTS RSTS версии 7 и более поздних версий позволяли включать в ядро, заставляя его полностью «исчезать» из адресного пространства пользователя, тем самым предоставляя 64 КБ памяти для пользовательских программ.

Программы обходили ограничения объема доступной памяти, используя библиотеки (если это допустимо), сложные стратегии наложения или вызывая другие программы («Цепочка») и передавая им команды и данные в область общей памяти, называемую «Core Common». "среди прочих практик.

Если RSX является KBM по умолчанию , стандартным приглашением RSX (как для входа в систему, так и для выхода из системы) является знак «>» (или MCR «Процедура консоли мониторинга») (пример):

>run
Please type HELLO
>HELLO 1,1;SECRET
>run
?What?
>help
Valid keyboard commands are:

ASSIGN    DISMOUNT  HELP      RUN     UNSAVE
BYE       EXIT      MOUNT     SHUTUP
DEASSIGN  HELLO     REASSIGN  SWITCH

>run CSPCOM
CSP>HWORLD=HWORLD
CSP>^Z
>RUN TKB
TKB>HWORLD=HWORLD,LB:CSPCOM.OLB/LB
TKB>//
>run HWORLD.TSK
Hello World
Press Control-T for 1 line status: ?
1       KB0     HWORLD+...RSX   KB(0R)  7(32)K+0K       0.8(+0.2) +0

>DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>
HWORLD.OBJ       2   < 60>
HWORLD.TSK      25C  <124>

Total of 35 blocks in 4 files in SY:[1,2]

>

RT-11 RTS эмулировал версию Single Job дистрибутива RT-11. Как и эмуляция RSX, RT-11 занимал верхние 8 КБ памяти, оставляя нижние 56 КБ для CUSPS , программ, написанных на FORTRAN-IV или Macro Assembler. по умолчанию Когда RT-11 является KBM , стандартным приглашением RT-11 (как для входа в систему, так и для выхода из системы) является «.» знак (пример):

.VERSION
Please type HELLO

.HELLO 1,1;SECRET

.VERSION
RT-11SJ V3-03; RSTS/E V8.0

.R PIP
*HWORLD.MAC=KB:
        .MCALL .TTYIN,.PRINT,.EXIT
HWORLD: .ASCII /Hello World/<15><12>
        .ASCIZ /Press Control-T for 1 line status:/
        .EVEN

Start:  .PRINT #HWORLD
        .TTYIN
        .EXIT
        .END    START
^Z
*^Z

.R MACRO
HWORLD=HWORLD
*^Z

.R LINK
*HWORLD=HWORLD
*^Z

.R HWORLD.SAV
Hello World
Press Control-T for 1 line status:
1       KB0     HWORLD+RT11     KB(0R)  2(28)K+4K       0.6(+0.2) +0

..DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>
HWORLD.TSK      25C  <124>
HWORLD.MAC       1   < 60>
HWORLD.OBJ       1   < 60>
HWORLD.SAV       2C  <124>

Total of 37 blocks in 6 files in SY:[1,2]

.

ТЕКО (текстовый редактор и корректор)

[ редактировать ]

Редактор TECO сам по себе был реализован как RTS, чтобы максимизировать объем памяти, доступной для буфера редактирования, а также потому, что он был впервые реализован в RSTS V5B, до выпуска систем времени выполнения общего назначения (RSX и RT11). TECO была единственной RTS, распространяемой вместе с RSTS, которая не содержала встроенного KBM. Пользователь запускает TECO (как и любую другую программу), запустив программу TECO (TECO.TEC). TECO и аффинный QEDIT были прямыми предками первого текстового редактора на базе UNIX — ED. Большинство систем RSTS использовали CCL для создания файла (спецификация файла MAKE), редактирования файла (спецификация файла TECO) или запуска программы TECO (спецификация файла MUNG, данные). Следующая программа является примером того, как можно использовать TECO для вычисления числа Пи (в настоящее время установлено 20 цифр): [18]

Ready

run TECO
*GZ0J\UNQN"E 20UN '
BUH BUV HK
QN< J BUQ QN*10/3UI
QI< \ +2*10+(QQ*QI)UA
B L K QI*2-1UJ QA/QJUQ
QA-(QQ*QJ)-2\ 10@I// -1%I >
QQ/10UT QH+QT+48UW QW-58"E 48UW %V ' QV"N QV^T '
QWUV QQ-(QT*10)UH >
QV^T @^A/
/HKEX$$
31415926535897932384

Ready

РТС пасхальные яйца

[ редактировать ]

Запуск системы (INIT.SYS)

[ редактировать ]

Если пользователь вводил нераспознанную команду при загрузке системы в приглашении «Option:» INIT.SYS, утилиты запуска, отображалось сообщение «Введите «HELP» для справки». Если пользователь впоследствии набирал в командной строке «ПОМОЩЬ» (включая кавычки), ответом было «Как же забавно…», за которым следовало фактическое справочное сообщение.

Консольные светильники PDP-11

[ редактировать ]

Системный менеджер мог запрограммировать в ядре вращающийся шаблон отображения, который создавал иллюзию двух змей, гоняющихся друг за другом вокруг источников света консоли. Обычное ядро ​​создавало бы иллюзию одной змеи, движущейся справа налево в индикаторах данных внизу. Если системный менеджер также скомпилировал объектный модуль «lights», пользователь увидит дополнительную змею, движущуюся слева направо в индикаторах адреса вверху. Это было достигнуто за счет использования режима наблюдения в версиях до 9.0. У RSX также был аналогичный шаблон отображения, который выглядел так, как будто две змеи играют в курицу и сталкивались друг с другом в центре консоли.

Пасхальное яйцо Теко

[ редактировать ]

Команда make позволяла пользователю создать текстовый файл и автоматически войти в текстовый редактор TECO. Если пользователь набирал «заниматься любовью», система создавала файл под названием «любовь» и печатала в ответ «Не война?»

Открыть список файлов

[ редактировать ]

Кевин Герберт, позже работавший в DEC, в 90-х годах добавил недокументированную функцию, позволяющую пользователю входить в систему. ^F чтобы просмотреть список открытых файлов, которые имел пользовательский процесс, с указанием используемых блоков и размеров файлов.

Ты стареешь

[ редактировать ]

Начиная с версии 9.0, недокументированная функция позволяет системному менеджеру изменять отображение системной даты. RSTS стала первой операционной системой, которая отображала системную дату в виде набора чисел, представляющих звездную дату , широко известную из сериала «Звездный путь» .

Дополнения других компаний

[ редактировать ]

System Industries купила единственную исходную лицензию для RSTS для реализации усовершенствования под названием SIMACS (SImultant Machine ACceSs), который позволял их специальному контроллеру диска устанавливать семафорный флаг для доступа к диску, позволяя несколько раз ЗАПИСИ в одни и те же файлы в системе RSTS, где диск используется несколькими системами PDP-11 RSTS. Эта функция была реализована в контроллерах System Industries, которые были подключены ко многим компьютерам DEC и разработаны доктором Альбертом Чу, когда он работал в System Industries.

Главным нововведением стало использование семафора флага, указывающего, какой процессор посредством совместного использования имеет эксклюзивный доступ на запись. [19]

Это потребовало многих изменений в способе осуществления доступа к дискам операционной системой RSTS. Система FIPS (система обработки файловой информации), которая обрабатывала доступ к вводу-выводу, была однопоточной в RSTS. Чтобы разрешить остановку доступа к диску, в то время как другая машина имела активный доступ к блоку, требовалось, чтобы FIPS мог истечь тайм-аутом запроса, перейти к следующему запросу и «вернуться» к остановленному в циклическом порядке. Код, позволяющий это сделать, был написан Филипом Хантом во время работы в компании System Industries в Милпитасе, Калифорния . В конце 1980-х — начале 1990-х годов он работал в компании Digital Equipment в Новой Англии.

СИМАКС [20] не ограничивался линейкой продуктов PDP-11 ; VAXen также мог бы использовать его. [19]

Эмуляции RSTS

[ редактировать ]

В 1981 году компания Evans Griffiths & Hart выпустила на рынок продукт ROSS/V . ROSS/V позволил всем процессам пользовательского режима RSTS ( CUSPS , RTS и пользовательским программам) работать без изменений под VMS на машинах VAX-11. Код этой эмуляции обрабатывал все процессы ядра, которые обычно обрабатываются ядром RSTS, работающим на PDP-11. Исходный язык BASIC-PLUS, который использовался во всех версиях RSTS, был передан по субподряду компании Evans Griffiths & Hart, Inc. по фиксированной цене в 10 500 долларов. [21]

Другие эмуляторы PDP-11

[ редактировать ]

RSTS и его приложения могут работать под управлением ряда эмуляторов PDP-11, таких как SIMH и Ersatz-11 . Для получения дополнительной информации см. PDP-11 .

Талисман РСТС

[ редактировать ]

Спайк и Альберт

[ редактировать ]

Первоначально RSTS называлась BTSS (базовая система разделения времени). Перед началом поставок название было изменено с BTSS на RTSS, поскольку продукт под названием BTSS уже продавался компанией Honeywell . Простая опечатка изменила название с RTSS на RSTS. [21]

Версия Дата выпуска Примечания
1 Никогда не выпускался
2А-19 1971 Установлен в Карлтон-колледже и Сиэтл-Пасифик-колледже .
Июнь 1971 г. Установлен в Ассоциации вспомогательных школ штата Делавэр. [22]
Октябрь 1971 г. Расширенная поддержка программного обеспечения (запись ввода-вывода)
3А-19 Январь 1972 г.
Май 1972 г.
июнь 1972 г. Расширенная поддержка программного обеспечения (режим ОБНОВЛЕНИЕ)
4А-12 Октябрь 1972 г. Поддерживается новое оборудование.
июль 1975 г. Исправленная версия V4A без новых функций.

Добавление новой поддержки управления памятью и возможность установки большего объема памяти в PDP-11/40 и PDP-11/45 привели к еще одному изменению названия: RSTS-11 теперь стал RSTS/E.

Версия Дата выпуска Примечания
5А-21 июль 1973 г. Расширения управления памятью с 64 КБ до 256 КБ.
5Б-24 ноябрь 1974 г. Представлено несколько файлов SWAP, RTS и CCL.
5С-01 Март 1975 г. Исправленная версия V5B без новых функций.
6А-02 август 1975 г. Новое оборудование, 22-битная адресация (2 МБ), 63 рабочих места.
6Б-02 февраль 1977 г. Новое оборудование, SYSGEN под RT-11, CCL во время выполнения.
6С-03 февраль 1978 г. Поддерживается DECnet Phase II, DTR, DIBOL. Режим СУПЕРВАЙЗОР.
7.0 август 1978 г. Новое оборудование, (4 МБ), поддержка RDC.
7.1 февраль 1981 г. Поддержка инструкций и пространства данных в режиме ядра , DECnet Phase III.
7.2 август 1982 г. Новое оборудование (диски UDA50).
8.0-06 апрель 1983 г. Новое оборудование (MicroPDP-11).
9.0-14 май 1985 г. Новое оборудование, DCL по умолчанию, PBS, несколько привилегий, хешированные пароли , новая утилита резервного копирования и Stardate.
9.1-05 Октябрь 1985 г. Расширенная аппаратная поддержка, многопоточный FIP, ИНДЕКС ЗАГРУЗКИ.
9.2-10 июнь 1986 г. Поддерживается новое оборудование.
9.3-20 Январь 1987 г. Расширенная поддержка оборудования, DECnet Phase IV.
9.4 июль 1987 г. Новое оборудование, улучшения планировщика и службы терминалов.
9.5-08 декабрь 1987 г. Размер кластера увеличен до 64, добавлен BACKUP/DIR.
9.6 сентябрь 1988 г. Поддержка LAT, HELP SPIKE.
9.7 июль 1989 г. Новое оборудование, DV0: во время работы доступен ANSI PDP-11C.
10.0 май 1990 г. История командной строки в TTDRV.
10.1 сентябрь 1992 г. Исправления Y2K.

Клоны в СССР

[ редактировать ]

Приложения

[ редактировать ]

Компьютерные бюро на основе RSTS/E иногда использовали User-11 для управления данными . [23]

См. также

[ редактировать ]
  1. ^ «Индекс /Bits/DEC/Pdp11/RSTS» .
  2. ^ «Mentec — Руководство по внутреннему устройству и структурам данных RSTS/E версии 10.1» . Проверено 7 ноября 2017 г.
  3. ^ Jump up to: а б Флейг, Клэр П. (март 1983 г.). «Эванс, Гриффитс и Харт». Твердая копия . стр. 51–54.
  4. ^ «История компании EGH» .
  5. ^ «80 лет со дня рождения РТС» .
  6. ^ Руководство системного администратора RSTS-11 . Мейнард, Массачусетс: Корпорация цифрового оборудования. Январь 1973 года.
  7. ^ ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V07.2/AA-5246E-TC_RSTS_E_V7.2_Release_Notes_Jun82.pdf
  8. ^ ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V09/7_MACRO_Programming/AA-EZ10A-TC_RSTS_E_V9.0_System_Directives_Manual_Jun85.pdf
  9. ^ Jump up to: а б Руководство системного администратора RSTS/E (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. Июль 1989 года.
  10. ^ Дик, П.: «История RSTS: Приложение», страница 25. «Профессиональный журнал VAX/RSTS», 1 февраля 1984 г., том 6, № 1, ISSN 0746-1909.
  11. ^ Jump up to: а б с д и Дик П.: «История RSTS», стр. 24–26. "Профессиональный журнал RSTS" 1 июня 1983 г., Том 5, № 3, ISSN 0745-2888.
  12. ^ Мэйфилд, М.: «Внутреннее устройство монитора RSTS/E», страницы 1–9.
  13. ^ Мэйфилд, М.: «Внутреннее устройство монитора RSTS/E», страницы 1–4.
  14. ^ Марбах, К.: «RSTS и Micro-11», с. 50. "Профессиональный журнал VAX/RSTS", 1 августа 1983 г., том 5, № 4, ISSN 0745-2888.
  15. ^ Романелло, Г.: «Предварительный просмотр RSTS/E версии 9.0», стр. 28. «Профессиональный журнал VAX/RSTS», 1 декабря 1984 г., том 6, № 6, ISSN 0746-1909.
  16. ^ «Эмулятор PDP-11 RSX RT RSTS Osprey Charon» . archive.org . 13 августа 2006 года. Архивировано из оригинала 13 августа 2006 года . Проверено 26 декабря 2016 г.
  17. ^ См., например, этот образ установочных лент RSTS/E 7.0: http://simh.trailing-edge.com/kits/rstsv7gen.tar.Z
  18. ^ Гринспон, М.: «Хрустальный шар RSTS – Часть 3», с. 12. Журнал «РСТС Профессионал» , 1 октября 1982 г., Том 4, № 5.
  19. ^ Jump up to: а б Джоши, Прем; Делакруа, Жак (сентябрь 1984 г.). «Новая гибкость для нескольких VAX/VMS». ТВЕРДАЯ КОПИЯ . стр. 64–68.
  20. ^ «Бертон Град Ассошиэйтс» (PDF) . 27 марта 1986 г. SIMACS (система управления множественным доступом для системных отраслей).
  21. ^ Jump up to: а б «80 лет со дня рождения РТС» . silverware.co.uk . Проверено 26 декабря 2016 г.
  22. ^ «Мемуары Терезы Грин о DELTA» .
  23. ^ «Помощь в повышении производительности заменяет код Cobol Бюро» . Компьютерный мир : 40. 18 июля 1983 г. Проверено 26 декабря 2011 г. User-11 [...] система управления данными для (DEC) PDP-11, работающая под управлением операционной системы RSTS/E [...]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c161e90ca24ffe3b2366adb51412fa7a__1711750740
URL1:https://arc.ask3.ru/arc/aa/c1/7a/c161e90ca24ffe3b2366adb51412fa7a.html
Заголовок, (Title) документа по адресу, URL1:
RSTS/E - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)