OS6 - a portable operating system (1972)

In another place, @drogon mentioned OS6, so I went looking for some details:
In Portable Programming (1982) Peter J. L Wallis writes:

The OS6 operating system, developed at the University of Oxford, was an early exercise in the publication of a complete operating system written in a highlevel language. It is written in BCPL…

The system as published supports a single user; it includes a BCPL compiler and a filing system. The interpreter and small amounts of machine-dependent code are written in assembly language for the host machine, initially a CTL Modular One.


Papers published by the OU computing lab, from 1972:

Apparently that’s the first time the full source of an operating system was published. (Reminds me of Minix: Tanenbaum published the full source in a book, as a teaching text. But of course that was much later.)

As noted, OS6 was ported to a B1700 (specifically a B1726 with 4k of writeable control store, which defines a soft machine, and 48k of bit-addressable main memory.) A true proof of portability, surely.

Stoy and Strachey, on the other hand, set out to design a ‘good’ operating system in an already (relatively) well-established language BCPL.

Remarkably, Snow reports deciding on putting an OCODE interpreter into the control store, and arbitrarily deciding on a 24 bit word size for the BCPL data space, and uses a variable-length coding (2 bits length plus some 6 bit syllables) for the OCODE of the BCPL program.