Multipop-68

Multipop-68

(operating system)An early time-sharing operating systemdeveloped in Edinburgh by Robin Popplestone and others. Itwas inspired by MIT' Project MAC, via a "MiniMac" projectwhich was aborted when it became obvious that Elliot Brothers Ltd. could not supply the necessary disk storage.Multipop was highly efficient in its use of machine resourcesto support symbolic programming, and effective - e.g. insupporting the development of the Boyer-Moore theorem proverand of Burstall and Darlington's transformation work.

It was not good at supporting the user programs which werethen the standard fare of computing, e.g. matrix inversion.This arose from the fact that while the POP-2 compilergenerated good code for function call (which is a lot of whatlayered systems like operating systems do) it did not generateefficient code for arithmetic or store access, because therewas no way to police the generation of illegal objectsstatically. (Hindley-Milner type checking did not exist).Indeed, since many OS features like file-access were performedby function-call (of a closure) rather than an OS callrequiring a context switch, POP-2 actually gainedperformance.

Multipop68 was efficient primarily because the one language,POP-2 served all purposes: it was the command language for theoperating system as well as being the only availableprogramming language. Thus there was no need to swap incompilers etc. All store management was accomplisheduniformly by the garbage collector, as opposed to havingstore management for the OS and store management for eachapplication.

There was a substantial amount of assembly language inMultipop68. This was primarily for interrupt handling, and itis difficult to handle this without a real-timegarbage-collector.

[Edited from a posting by Robin Popplestone].