|This article does not cite any references or sources. (January 2007)|
PRIMOS was an 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.
Prime Computer is also sometimes referred to as "Pr1me" and PRIMOS as "Pr1mos". (Note: Actual system documentation of the day displays the alternate spelling as "PR1ME" or PR1MOS", which avoids the unfortunate visual "hump" that appears in the lower-case rendition due to the height of the "1").
Very early versions of PRIMOS (revision 6) were originally called DOS (PRIMOS 2) and later DOSVM (PRIMOS 3) but PRIMOS is 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. Prime also offered a customizable real-time OS called RTOS.
An interesting feature of PRIMOS was that it, like UNIX, was largely written in a high level language (with callable assembly language library functions available). At first, this language was FORTRAN IV, which was an odd choice from a pure computer science standpoint: no pointers, no if-then-else, 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. Later, around version 18, a version of PL/1, called PL/P, became the high level language of choice within PRIMOS. The source code to PRIMOS was available to customers and, thanks to FORTRAN and PL/P, customers could reasonably modify PRIMOS as needed.
Because 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.
Legend has it that the unusual choice of FORTRAN for the OS programming language had to do with its history. Allegedly, the founders of Prime had worked for Honeywell on a NASA project. However, 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.
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.
From Revision 19, major portions of PRIMOS were written in the languages SPL and Modula-2, the usage of the assembler PMA (Prime Macro Assembler), 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.
Late versions of PRIMOS included a scripting language, CPL (Command Processing Language) that ESRI used as a basis for its platform-independent scripting languages AML (for ArcInfo) and SML (PC-ARC/INFO).
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.
PRIMOS systems are becoming rare but as of 2006 there are still some in use, including a number of Primes running a modified version of PRIMOS in the United Kingdom, supporting a large corporate telecommunications network.