A friend suggested that some in this group may have an interest in this.
ruos stands for Retro Useless Operating System
ruos is an OS for the long-obsolete PDP11/70 from Digital Equipment Corporation. ruos runs
on the simh simulator for that machine. It was written completely from scratch in C and
assembler. On a modern machine, the kernel and user code builds in a few seconds.
Overview:
It can run something less than 64 processes simultaneously with one user on the console
and others on other serial ports. Equal priority CPU-bound tasks share the CPU.
The user program API includes a number of stdio-like C functions
ruos was built using the gcc toolchain for the PDP11 (Thanks for those toolchain bug fixes
Paul Koning!)
Each user process is given exactly 64kB for code, data, heap, and stack and is (mostly)
isolated from other processes
Users access the OS using a very simple unix-like shell for command execution with pipes
allowed
It does not have its own file system but uses a proxy for file IO. The proxy code (Python
3) is included.
Communication between the OS and the proxy is via UDP/IPv4/Ethernet.
Familiar user binaries include: cat, ps, echo, grep. Device status is provided by ds
If a user tries to run a program that is not native to ruos, an attempt is made to run it
on the proxy. Using this mechanism, users can edit files or build new programs (assuming
the gcc toolchain is installed on the proxy and the proxy is on the same machine as
simh).
It is accessible here:
https://ajco...@bitbucket.org/ajcorbeil/ruos.git
<https://ajcorbeil@bitbucket.org/ajcorbeil/ruos.git>
Regards,
Alan Kirby