Введение
Операционная система 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) и в более поздних версиях системного загрузчика.
the operating system
PRIMOS is a discontinued operating system developed during the 1970s by Prime Computer for its minicomputer systems. It rapidly gained popularity and by the mid 1980s was a serious contender as a mainline minicomputer operating system. With the advent of PCs and the decline of the minicomputer industry, Prime was forced out of the market in the early 1990s, and by the end of 2010 the trademarks for both PRIME and PRIMOS no longer existed. Prime had also offered a customizable real time OS called RTOS. which was an odd choice from a pure computer science standpoint: no pointers, no native string type, etc. FORTRAN was, however, the language most known to engineers, and engineers were a big market for Prime in their early years. The unusual choice of FORTRAN for the OS programming language had to do with the people who founded Prime. They had worked for Honeywell on a NASA project. FORTRAN was the language they had used both at NASA and, for many of them, at MIT. This connection with Honeywell extended to the point that the original Prime computers were compatible with Honeywell Series 16 minicomputers. Honeywell, at that time, was uninterested in minicomputers, so they left and founded Prime, "taking" the code with them. They developed hardware optimized to run FORTRAN, including machine instructions that directly implemented FORTRAN's distinctive 3 way branch operation. Since Prime's hardware did not perform byte addressing, there was no impetus to create a C compiler. Late models of the hardware were eventually modified to support I mode, and programs compiled in C.
Later, at version 16, a version of PL/1, called PL/P, became the high level language of choice within PRIMOS, and
the PL/P and, later Modula 2, languages were used in the Kernel. Furthermore, some new PRIMOS utilities were written in SP/L, which was similar to PL/P. The source code to PRIMOS was available to customers and, thanks to FORTRAN and PL/P, customers could reasonably modify PRIMOS as needed. For example, around 1990, the University of Salford in the UK, modified the PRIMOS running on its five 9955 systems so that undergraduates could no longer use the MESSAGE command, that wrapped the PRIMOS SMSG$ call, to send messages to other undergraduates, because online "chatting" using that command was becoming rife, tying up terminals from the limited pool available. Messaging using that command was akin to SMS text messaging today, except a maximum of 80 characters could be sent per message. Very early versions of PRIMOS (revision 6) were originally called DOS (PRIMOS 2) and later DOSVM (PRIMOS 3), but starting with PRIMOS 4, on the P400 system, PRIMOS was the name that stuck. There were many major releases of PRIMOS. The last official revision (24.0.0. R52) was released July 3, 1997. By this time, a company called Peritus (which employed a number of ex Prime engineers) was maintaining PRIMOS. From Revision 19, major portions of PRIMOS were written in the languages SPL and Modula 2, the usage of the Prime Macro Assembler (PMA), FORTRAN IV and PL/P declined considerably around this time. Programs were guaranteed to run on all current Prime processors (subject to sufficient resources being available), as well as all subsequent Prime processors. In the versions of PRIMOS ca. 1977 and later, the filesystem included a distinctive construct known as the Segment Directory. Unlike more traditional directories, the files anchored in a segment directory were located using an integer index, effectively reducing searches of the directory to a simple hash function. Segment Directories were used in their Keyed Index/Direct Access (KI/DA) file access system and in later versions of the system loader.
Доступ к данным
Индексированные данные могли храниться в файле MIDAS: многоиндексированная система доступа к данным, и к ним можно было получить доступ через COBOL или FORTRAN. Среди сторонних инструментов был пакет под названием Queo, который был мощнее COBOL, несмотря на свою лаконичность. Набор символов PRIMOS был по сути ASCII, но с инвертированным 8-м битом. Оригинальный 7-битный стандарт ASCII оставлял 8-й бит неопределенным, однако на широко распространенной телетайпной машине Model 33 ASR этот бит обычно устанавливался в 1, и это стало стандартом Prime. Это необходимо учитывать при передаче данных из PRIMOS на практически любую другую систему.
third party tools was a package named Queo, which was more powerful than COBOL despite being less verbose. The PRIMOS character set was basically ASCII but with the 8th bit inverted. The original 7 bit standard for ASCII left the 8th bit unspecified, but on the commonly available Teletype Model 33 ASR, the bit was customarily set to 1, and this became Prime's standard. This is vital to realize when transferring data from PRIMOS to almost any other system.
ФАНТОМЫ против работы
"Фантомы" представляли собой форму фоновых процессов, выполняемых без участия пользователя, которые немедленно начинали работу в фоновом режиме при запуске командой 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, предоставляя пользователям возможность переключаться между ними.