Введение

Операционная система PRIMOS – это устаревшая операционная система, разработанная в 1970-х годах компанией Prime Computer для своих миникомпьютерных систем. Она быстро приобрела популярность, и к середине 1980-х годов стала серьезным конкурентом в качестве основной операционной системы для миникомпьютеров. С появлением персональных компьютеров и упадком индустрии миникомпьютеров компания Prime была вынуждена покинуть рынок в начале 1990-х годов, и к концу 2010 года товарные знаки PRIME и PRIMOS прекратили свое существование. Компания Prime также предлагала настраиваемую операционную систему реального времени под названием RTOS, что было необычным выбором с точки зрения чистой компьютерной науки: отсутствовали указатели, встроенный строковый тип и т.д. Однако FORTRAN был языком, наиболее известным инженерам, а инженеры составляли значительную часть рынка для Prime в первые годы ее существования. Необычный выбор FORTRAN в качестве языка программирования ОС был связан с основателями Prime, которые работали в Honeywell над проектом NASA. FORTRAN был языком, который они использовали как в NASA, так и, для многих из них, в MIT. Эта связь с Honeywell была настолько сильной, что первые компьютеры Prime были совместимы с миникомпьютерами Honeywell серии 16. Honeywell в то время не проявляла интереса к миникомпьютерам, поэтому они ушли и основали Prime, "прихватив" с собой код. Они разработали аппаратное обеспечение, оптимизированное для запуска FORTRAN, включая машинные инструкции, которые непосредственно реализовывали характерную трехпутевую операцию ветвления FORTRAN. Поскольку аппаратное обеспечение Prime не поддерживало байтовую адресацию, не было стимула для создания компилятора C. Поздние модели аппаратного обеспечения в конечном итоге были модифицированы для поддержки I-режима, и программы компилировались на C. Позже, в версии 16, версия PL/1 под названием PL/P стала языком высокого уровня по умолчанию в PRIMOS, а языки PL/P и, позднее, Modula 2 использовались в ядре. Кроме того, некоторые новые утилиты PRIMOS были написаны на SP/L, который был похож на PL/P. Исходный код PRIMOS был доступен клиентам, и благодаря FORTRAN и PL/P клиенты могли разумно модифицировать PRIMOS по мере необходимости. Например, около 1990 года Университет Солфорда в Великобритании изменил PRIMOS, работающую на пяти системах 9955, чтобы студенты больше не могли использовать команду MESSAGE, которая вызывала функцию PRIMOS SMSG$, для отправки сообщений другим студентам, поскольку онлайн-чат с использованием этой команды становился все более распространенным, занимая терминалы из ограниченного пула доступных. Обмен сообщениями с помощью этой команды был похож на современные SMS-сообщения, за исключением того, что в каждом сообщении можно было отправить максимум 80 символов. Самые ранние версии PRIMOS (ревизия 6) первоначально назывались DOS (PRIMOS 2) и позже DOSVM (PRIMOS 3), но начиная с PRIMOS 4 на системе P400, название PRIMOS закрепилось. Было много крупных выпусков PRIMOS. Последняя официальная ревизия (24.0.0. R52) была выпущена 3 июля 1997 года. К этому времени компанией Peritus (в которой работало несколько бывших инженеров Prime) осуществлялась поддержка PRIMOS. Начиная с ревизии 19, основные части PRIMOS были написаны на языках SPL и Modula 2, а использование Prime Macro Assembler (PMA), FORTRAN IV и PL/P значительно сократилось в этот период. Гарантировалось, что программы будут работать на всех текущих процессорах Prime (при наличии достаточных ресурсов), а также на всех последующих процессорах Prime. В версиях PRIMOS примерно с 1977 года и позднее файловая система включала уникальную структуру, известную как Segment Directory (сегментный каталог). В отличие от более традиционных каталогов, файлы, привязанные к сегментному каталогу, находились с использованием целочисленного индекса, что эффективно сводило поиск в каталоге к простой хеш-функции. Сегментные каталоги использовались в их системе доступа к файлам с ключевым индексом/прямым доступом (KI/DA) и в более поздних версиях системного загрузчика.

Доступ к данным

Индексированные данные могли храниться в файле MIDAS: многоиндексированная система доступа к данным, и к ним можно было получить доступ через COBOL или FORTRAN. Среди сторонних инструментов был пакет под названием Queo, который был мощнее COBOL, несмотря на свою лаконичность. Набор символов PRIMOS был по сути ASCII, но с инвертированным 8-м битом. Оригинальный 7-битный стандарт ASCII оставлял 8-й бит неопределенным, однако на широко распространенной телетайпной машине Model 33 ASR этот бит обычно устанавливался в 1, и это стало стандартом Prime. Это необходимо учитывать при передаче данных из PRIMOS на практически любую другую систему.

ФАНТОМЫ против работы

"Фантомы" представляли собой форму фоновых процессов, выполняемых без участия пользователя, которые немедленно начинали работу в фоновом режиме при запуске командой PHANTOM. "Обычные" пакетные задания запускались с помощью команды JOB, включая возможность их планирования на определенное время.

Терпимость к ошибкам

Операционная система PRIMOS включала в себя передовые функции обеспечения отказоустойчивости для гарантии надежности системы и целостности данных. Одной из заметных особенностей была команда MIRROR ON, которая обеспечивала создание пары логически эквивалентных, идентичных разделов, поддерживаемых в реальном времени. Эта команда играла ключевую роль в повышении устойчивости системы к аппаратным сбоям. При активации команда MIRROR ON запускала зеркальное отражение диска, дублируя все операции записи с основного диска на вторичный. Эта избыточность позволяла системе бесперебойно продолжать работу, используя зеркальный раздел в случае отказа основного раздела. В отличие от RAID 1, который обычно требует специальной аппаратной поддержки для зеркального отражения диска, команда MIRROR ON реализовывала эту функциональность на программном уровне, предлагая гибкое и экономичное решение для обеспечения избыточности данных.

PRIMENET

Программное обеспечение PRIMENET от Prime было разработано для обеспечения "прозрачного доступа к любой системе в сети, не требующего от пользователя дополнительных команд". С помощью PRIMENET пользователь, работающий в системе А, мог получать доступ к файлам в системе B так, как если бы они находились в системе А, или даже входить в другую систему с помощью команды RLOGIN (Remote Login).

РЭО

2780/3790 эмуляция была добавлена.

Примикс

В 1985 году порт UNIX System V от AT&T, разработанный компанией Prime и названный Primix, стал доступен вместе с Primos Release 19.4.2, который был модифицирован для включения функций Unix. Он функционировал совместно с PRIMOS, предоставляя пользователям возможность переключаться между ними.