Overview
TRIX is a network-oriented research operating system developed in the late 1970s at MIT's Laboratory for Computer Science (LCS) by Professor Steve Ward and his research group. It ran on the NuMachine and had remote procedure call functionality built into its kernel, but was otherwise a Version 7 Unix workalike.
Design and implementation
On startup, the NuMachine would load the same program on each CPU in the system, passing each instance the numeric ID of the CPU it was running on. TRIX relied on this design to have the first CPU set up global data structures and then set a flag to signal that initialization was complete. After that, each instance of the kernel was able to access global data. The system also supported data private to each CPU. Access to the filesystem was provided by a program in user space.
The kernel supported unnamed threads running in domains. A domain was the equivalent of a Unix process without a stack pointer (each thread in a domain had a stack pointer). A thread could change domains, and the system scheduler would migrate threads between CPUs in order to keep all processors busy. Threads had access to a single kind of mutual exclusion primitive, and one of seven priorities. The scheduler was designed to avoid priority inversion. User space programs could create threads through a spawn system call.
A garbage collector would periodically identify and free unused domains.
From Wikipedia (CC BY-SA 4.0).