PRIMOS

PRIMOSDeveloper| Prime Computer

|

Written in| FORTRAN, Assembly language
OS family| Multics-like
Working state| Discontinued
|Final release|Latest release}}| 24.0.0.R52 / July 3, 1997; 29 years ago (1997-07-03)
Available in| English
Platforms| Prime Computer
Kernel type| Monolithic
Default user interface| Text-based user interface
License| Proprietary commercial software
A Prime 9950 computer system with CRT console showing PRIMOS on the screen, in Kean University computer room

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[1] and PRIMOS[2] no longer existed.[3]

Prime had also offered a customizable real-time OS called RTOS.[4]

## Contents

* 1 Internals
* 1.1 Data access
* 2 User tools
* 2.1 Scripting
* 2.2 PHANTOMS vs JOBS
* 2.3 Fault Tolerance
* 3 Networking
* 3.1 PRIMENET
* 3.2 RINGNET
* 3.3 RJE
* 4 Primix
* 5 See also
* 6 References
* 7 External links

## Internals

One feature of PRIMOS was that it, like UNIX, was largely written in a high level language[5] (with callable assembly language library functions available). At first, this language was FORTRAN IV,[6] which was an odd choice from a pure computer science standpoint: no pointers, no native string type, etc.[7][8] 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.[9] 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.[10] 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/I, 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[4][11] 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.[5] 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.

### Data access

Indexed data could be stored in a MIDAS file: Multi-Indexed Data Access System and be accessed via COBOL or FORTRAN. Among the third-party tools was a package named Queo,[12] 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.

## User tools

By the time of Prime Computer's demise, a list of languages supported by Primos included:[13]

* 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[14] of PRIMOS included a scripting language, CPL (Command Procedure Language).[15] This interpreted language, bearing similarities to Pascal, was both accessible to novice users and capable of powerful command line automation. ESRI used PRIMOS CPL as a basis for the platform-independent scripting languages AML (for ArcInfo) 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 processes that immediately began to run in the background when initiated by the PHANTOM command. "Conventional" batch jobs 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 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, 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.[16]

## 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."[17] With PRIMENET, a user on System A could access files on System B as if they were on System A,[18] or even log into another system using the RLOGIN (Remote Login) command.[19]

### RINGNET

Released similar timing to PRIMENET,[20] [21] it enabled high-speed local area networking.[22]

### RJE

2780/3790 emulation was included.[23]

## Primix

In 1985, Prime's port of AT&T's UNIX System V, 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.[24]

## See also

* List of operating systems
* Timeline of operating systems

## References

1. ↑ US Trademark No. 73123025
2. ↑ US Trademark No. 73122880
3. ↑ abandoned, expired,"cancelled""The Ultimate Fate of Prime, PRIMOS". https://groups.google.com/d/topic/comp.sys.prime/bZK4ZuDM4SA.
4. ↑ 4.0 4.1 "Comp.Sys.Prime FAQ". https://www.malch.com/prime/primefaq.htm.
5. ↑ 5.0 5.1 "Primos Internal Structure O.S. Notes - Computing History". https://www.computinghistory.org.uk/det/15644/Primos-Internal-Structure-O-S-Notes.
6. ↑ "Prime MAN2602 Primos Interactive User Guide". Prime Computer. June 1976. https://www.computinghistory.org.uk/det/15917/Prime-MAN2602-Primos-Interactive-User-Guide.
7. ↑ "history - Why was Fortran never used to develop an Operating System?". https://softwareengineering.stackexchange.com/questions/258209/why-was-fortran-never-used-to-develop-an-operating-system.
8. ↑ mentions that the Burroughs MCP operating system was written in ALGOL.
9. ↑ "Oral History of John William (Bill) Poduska". http://archive.computerhistory.org/resources/access/text/2012/06/102658256-05-01-acc.pdf.
10. ↑ It was public domain, having been written with NASA funding.
11. ↑ free at the beginning, but subsequently Prime charged
12. ↑ from Computer Techniques, Inc. OLYPHANT, Pa."Prime Users Offered Queo-IV Package". Computerworld XV (35). August 31, 1981. https://books.google.com/books?id=FBv773oEDMwC&pg=PA40.
13. ↑ "INTRODUCTION TO THE PRIMOS OPERATING SYSTEM, Part V". https://www.textfiles.com/hacking/primos5.txt.
14. ↑ "CPL - Primos command language (Computer Language)". http://hopl.info/showlanguage.prx?exp=6866&language=CPL. Retrieved 11 September 2018. "Prime's command shell language, introduced with PRIMOS 18.2 in 1981"
15. ↑ "Command Procedure Language (CPL)". https://sysovl.info/pages/blobs/prime/brochures/jim/PrimeCPL.pdf.
16. ↑ "Operator's Guide to System Commands". http://bitsavers.trailing-edge.com/pdf/prime/doc/DOC9304-6LA_Operators_Guide_To_System_Commands_Rev23.3_May92.pdf.
17. ↑ ".:: Phrack Magazine ::.". http://phrack.org/issues/18/4.html.
18. ↑ "INTRODUCTION TO THE PRIMOS OPERATING SYSTEM, Part II". http://www.textfiles.com/hacking/primos2.txt.
19. ↑ "INTRODUCTION TO THE PRIMOS OPERATING SYSTEM, Part IV". http://www.textfiles.com/hacking/primos4.txt.
20. ↑ "7.2-Prime Computers". http://www.historyofcomputercommunications.info/Book/7/7.2-Prime Computers.html.
21. ↑ "Computerworld". IDG Enterprise. 31 August 1981. https://books.google.com/books?id=FBv773oEDMwC.
22. ↑ Allison Smith, ed (22 October 2013). CAD International Directory 1986. Butterworth & Co. p. 228. ISBN 978-1483161471. https://books.google.com/books?id=U-IgBQAAQBAJ.
23. ↑ Fahey, Michael (26 October 1987). "Planning for open systems takes Prime Importance". Network World (IDG Network World Inc) 4 (43): 1, 33–35. https://books.google.com/books?id=KB0EAAAAMBAJ.
24. ↑ Desmond, John (1985-05-20). "Prime adds Unix environment for 50 series users". Computerworld XIX (20): 7. https://books.google.com/books?id=ygHfUXZWXlcC&pg=PA7.

## 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)
* Prime Computer FAQ from comp.sys.prime Usenet group
* Documentation
* Software

Template:Multics

* v
* t
* e

Operating systems

General|

* Advocacy
* Comparison
* Forensic engineering
* History
* Hobbyist development
* List
* Timeline
* Usage share

Kernel|

| Architectures|

* Exokernel
* Hybrid
* Microkernel
* Monolithic
* vkernel
* Rump kernel
* Unikernel

|

Components|

* Device driver
* Loadable kernel module
* Microkernel
* User space

Process management|

| Concepts|

* Context switch
* Interrupt
* IPC
* Process
* Process control block
* Real-time
* Thread
* Time-sharing

|

Scheduling
algorithms|

* Computer multitasking
* Fixed-priority preemptive
* Multilevel feedback queue
* Preemptive
* Round-robin
* Shortest job next

Memory management and
resource protection|

* Bus error
* General protection fault
* Memory protection
* Paging
* Protection ring
* Segmentation fault
* Virtual memory

Storage access and
file systems|

* Boot loader
* Defragmentation
* Device file
* File attribute
* Inode
* Journal
* Partition
* Virtual file system
* Virtual tape library

List|

* Acorn
* Arthur
* ARX
* MOS
* RISC iX
* RISC OS
* Amiga Inc.
* AmigaOS
* AmigaOS 1.0-3.9 (Motorola 68000)
* AmigaOS 4 (PowerPC)
* Amiga Unix, a.k.a. Amix
* Amstrad
* AMSDOS
* Contiki
* SymbOS
* Android
* Apple Inc.
* Apple II family
* Apple III
* Apple DOS
* Apple Lisa
* Apple SOS
* Apple Pascal
* ProDOS
* GS/OS
* GNO/ME
* Contiki
* Apple Macintosh
* Classic Mac OS
* A/UX
* Copland
* MkLinux
* Pink
* Rhapsody
* macOS (formerly Mac OS X and OS X)
* macOS Server (formerly Mac OS X Server and OS X Server)
* Apple Network Server
* Apple MessagePad
* Newton OS
* iPhone and iPod Touch
* iOS (formerly iPhone OS)
* iPad
* iPadOS
* Apple Watch
* watchOS
* Apple TV
* tvOS
* Darwin
* iPod
* iPod software (unnamed embedded OS)
* A/ROSE
* Apollo Computer
* Domain/OS
* Atari
* Atari DOS
* Atari TOS
* Atari MultiTOS
* BAE Systems XTS-400
* Be Inc.
* BeOS
* BeIA
* BeOS r5.1d0
* Bell Labs Non-Unix
* BESYS
* Plan 9 from Bell Labs
* Inferno)
* Burroughs Corporation
* Burroughs MCP
* BSD
* Control Data Corporation
* Chippewa Operating System
* Kronos
* NOS (Network Operating System)
* SCOPE)
* Convergent Technologies Operating System
* Cosmos
* Cromemco
* Cromemco DOS
* Cromix
* Data General
* AOS (for 16-bit)
* DG/UX
* RDOS (Real-time DOS)
* Datapoint (CTOS for Z-80)
* DDC-I Inc.
* HeartOS
* Digital Research, Inc.
* CP/M
* CP/M Plus
* CP/M-68K
* CP/M-8000
* CP/M-86
* CP/M-86 Plus
* Concurrent CP/M
* Concurrent CP/M-86
* Concurrent CP/M 8-16
* Concurrent CP/M-68K
* Concurrent DOS
* Concurrent PC DOS
* Concurrent DOS 8-16
* Concurrent DOS 286
* Concurrent DOS XM
* Concurrent DOS 386
* Concurrent DOS 386/MGE
* Concurrent DOS 68K
* DR-DOS
* FlexOS
* FlexOS 186
* FlexOS 286
* FlexOS 68K
* Multiuser DOS
* Datapac Multiuser DOS
* Datapac System Manager, a derivative of Datapac Multiuser DOS
* IMS Multiuser DOS
* MP/M
* MP/M II
* MP/M-86
* MP/M 8-16
* PalmDOS 1.0
* Personal CP/M
* Digital Equipment Corporation
* Batch-11/DOS-11
* OS/8
* RSTS/E
* RSX-11
* RT-11
* TOPS-10
* TOPS-20
* TENEX
* Digital UNIX
* Ultrix
* VMS
* WAITS
* DOS
* ENEA AB OSE
* Fujitsu Towns OS
* General Electric, Honeywell, Bull
* Real-Time Multiprogramming Operating System
* GCOS
* Multics
* Genode
* GNU
* Google
* Android
* Chromium OS
* Chrome OS
* Goobuntu
* Fuchsia)
* Green Hills Software
* INTEGRITY
* INTEGRITY-178B
* µ-velOSity
* Haiku
* Harmony
* Heathkit, Zenith Data Systems
* HDOS
* HT-11
* Hewlett-Packare
* HP-UX
* Multi-Programming Executive
* Honeywell CP-6
* Huawei Harmony OS
* Intel Corporation
* ISIS
* IBM
* Pre-360
* BESYS
* CTSS
* GM OS & GM-NAA I/O
* IBSYS
* SHARE Operating System
* University of Michigan Executive System (UMES)
* OS/360 and successors
* OS/360 and successors
* MVS
* OS/390
* Phoenix/MVS
* z/OS)
* DOS
* DOS/360 and successors on IBM S/360, S/370, and successor mainframes
* BOS/360
* TOS/360
* DOS/VS
* DOS/VSE
* VSE/SP
* VSE/ESA
* z/VSE)
* VM/CMS
* CP/CMS
* CP-40
* CP-67
* VM/370
* VM/XA
* VM/ESA Virtual Machine
* z/VM)
* TPF line
* Airline Control Program ACP
* Transaction Processing Facility)
* Unix-like
* AIX
* UTS (Mainframe UNIX)
* Linux on z Systems
* Others on IBM S/360, S/370, and successor mainframes
* TSS/360
* MUSIC/SP
* ORVYL and WYLBUR
* IBM PC
* PC DOS
* OS/2
* OS/2 Warp
* eComStation)
* Other hardware
* IBM Series 1
* EDX
* RPS
* CPS
* IBM 1130 DM2
* IBM 1800 MPX & TSX
* IBM 8100
* DPCX
* DPPX)
* System 3 DMS
* IBM System 34, 36, 38
* OS/400
* illumos
* IncludeOS
* iOS
* audioOS
* iPadOS
* tvOS
* Linux
* MINIX
* MorphOS
* MUSIC/SP
* Nemesis
* NeXTSTEP
* NOS
* ORVYL
* OS/2
* OS-9
* OSv
* Pick
* QNX
* ReactOS
* RISC OS
* Solaris
* Tandem
* NonStop
* TPF
* TRIPOS
* Unix
* Visi On
* VS/9
* webOS
* Windows
* Xerox 500 series (530 RTB, 560)
* Xinu
* z/OS

Miscellaneous concepts|

* API
* Computer network
* HAL
* Live CD
* Live USB
* OS shell
* CLI
* GUI
* NUI
* TUI
* VUI
* ZUI
* PXE

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/PRIMOS. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:PRIMOS&oldid=3949650"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template