
PRIMOS is a discontinued
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
developed during the 1970s by
Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. With the advent of Personal computer, PCs and the decline of the minicomputer industry, Prime was forced out of the market in the early 1990s, ...
for its
minicomputer
A minicomputer, or colloquially mini, is a type of general-purpose computer mostly developed from the mid-1960s, built significantly smaller and sold at a much lower price than mainframe computers . By 21st century-standards however, a mini is ...
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.
[
]
Internals
One feature of PRIMOS was that it, like UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, was largely written in a high level language[ (with callable ]assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
library functions available). At first, this language was FORTRAN IV, which was an odd choice from a pure computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
standpoint: no pointers
Pointer may refer to:
People with the name
* Pointer (surname), a surname (including a list of people with the name)
* Pointer Williams (born 1974), American former basketball player
Arts, entertainment, and media
* ''Pointer'' (journal), the ...
, no native string
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
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
Honeywell International Inc. is an American publicly traded, multinational conglomerate corporation headquartered in Charlotte, North Carolina. It primarily operates in four areas of business: aerospace, building automation, industrial automa ...
on a NASA
The National Aeronautics and Space Administration (NASA ) is an independent agencies of the United States government, independent agency of the federal government of the United States, US federal government responsible for the United States ...
project. FORTRAN was the language they had used both at NASA and, for many of them, at MIT
The Massachusetts Institute of Technology (MIT) is a private research university in Cambridge, Massachusetts, United States. Established in 1861, MIT has played a significant role in the development of many areas of modern technology and sc ...
. 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
Byte addressing in hardware architectures supports accessing individual bytes. Computers with byte addressing are sometimes called byte machines, in contrast to '' word-addressable'' architectures, ''word machines'', that access data by word.
B ...
, there was no impetus to create a C compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
. 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/I
PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
, called PL/P, became the high level language of choice within PRIMOS, and the PL/P and, later Modula-2
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, 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
The University of Salford is a Public university, public research university in Salford, Greater Manchester, Salford, Greater Manchester, England, west of Manchester city centre. The Royal Technical Institute, Salford, which opened in 1896, be ...
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
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, 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
A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
. Segment Directories were used in their Keyed-Index/Direct Access (KI/DA) file access system and in later versions of the system loader.
Data access
Indexed data could be stored in a MIDAS file: Multi-Indexed Data Access System and be accessed via COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
or FORTRAN. Among the
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
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
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
The Teletype Model 33 is an electromechanical teleprinter designed for light-duty office use. It is less rugged and cost less than earlier Teletype models. The Teletype Corporation introduced the Model 33 as a commercial product in 1963, after ...
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.
User tools
By the time of Prime Computer
Prime Computer, Inc. was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992. With the advent of Personal computer, PCs and the decline of the minicomputer industry, Prime was forced out of the market in the early 1990s, ...
's demise, a list of languages supported by Primos included:
* BASIC Prime BASIC compiler
* BASICV Virtual memory BASIC compiler
* COBOL COBOL compiler
* F77 Compiles FORTRAN 77 or FORTRAN IV code
* FTN Compiles FORTRAN IV code
* NCOBOL Non-shared (non-virtual) COBOL compiler
* PL1G Compiles PL/1, subset G code
* PASCAL University of Sheffield Pascal
* PMA Assembles Prime Macro Assembler code
Also available, but relatively uncommon, were:
* DBASIC Interpreted BASIC with double-precision arithmetic
* RPG Compiles an RPG II program (non-virtual)
* SPL Compiles an SPL program
* VRPG Compiles an RPG II program (virtual)
Scripting
Late versions of PRIMOS included a scripting language
In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
, CPL (Command Procedure Language). This interpreted language
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An inter ...
, bearing similarities to Pascal, was both accessible to novice users and capable of powerful command line automation. ESRI
Environmental Systems Research Institute, Inc., doing business as Esri (), is an American Multinational corporation, multinational geographic information system (GIS) software company headquartered in Redlands, California. It is best known for ...
used PRIMOS CPL as a basis for the platform-independent scripting languages AML (for ArcInfo
ArcInfo (formerly ARC/INFO) is a full-featured geographic information system produced by Esri, and is the highest level of licensing (and therefore functionality) in the ArcGIS Desktop product line. It was originally a command-line based system ...
) and SML ( PC-ARC/INFO).
This was a step beyond what already was available via:
* COMI Command input (.COMI filetype)
* COMO Command output similar to a batch log file, but also usable interactively
PHANTOMS vs JOBS
"Phantoms" were a form of unattended background process
A background process is a computer process that runs ''behind the scenes'' (i.e., in the background) and without user intervention. Typical tasks for these processes include logging, system monitoring, scheduling, and user notification.
On a Wind ...
es that immediately began to run in the background when initiated by the PHANTOM command. "Conventional" batch job
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
s were initiated via the JOB command, including the ability to schedule them for a particular time.
Fault Tolerance
The PRIMOS operating system incorporated advanced fault tolerance
Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems.
Fault t ...
features to ensure system reliability and data integrity. One notable feature was the MIRROR_ON command, which facilitated the creation of a pair of logically equivalent, identical partitions that were maintained in real-time. This command was instrumental in enhancing the system's resilience to hardware failures.
When activated, the MIRROR_ON command initiated disk mirroring
In Data storage device, data storage, disk mirroring is the Replication (computing), replication of logical disk volumes onto separate physical hard disks in Real-time computing, real time to ensure continuous availability. It is most commonly u ...
, duplicating all write operations to a primary disk onto a secondary disk. This redundancy allowed the system to seamlessly continue operations using the mirror partition in the event of a failure of the primary partition. Unlike RAID 1, which typically requires specific hardware support for disk mirroring, the MIRROR_ON command implemented this functionality at the software level, offering a flexible and cost-effective solution for data redundancy.
Networking
Primes's main offerings, each covering a specific need, were:
* PRIMENET
* RINGNET
* RJE
PRIMENET
Prime's PRIMENET software was designed to enable "transparent access to any system in the network without burdening the user with extra commands." With PRIMENET, a user on System A could access files on System B as if they were on System A, or even log into another system using the RLOGIN (Remote Login) command.
RINGNET
Released similar timing to PRIMENET,
it enabled high-speed local area network
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, campus, or building, and has its network equipment and interconnects locally managed. LANs facilitate the distribution of da ...
ing.
RJE
2780/3790 emulation was included.
Primix
In 1985, Prime's port of AT&T's UNIX System V
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
, called Primix, became available with Primos Release 19.4.2 that was modified to include Unix functions. It co-existed with PRIMOS, allowing users to switch back and forth.
See also
* List of operating systems
* Timeline of operating systems
References
External links
Sourcecode Rev 19
Usenet post of Jim Wilcoxson
about the Prime 50-series emulator he created, running PRIMOS 19.2 (7 April 2007)
from comp.sys.prime Usenet group
Documentation
Software
{{Operating system
Proprietary operating systems
Discontinued operating systems
Multics-like
1972 software