24k #19 — Gnot gonna’ happen

The AT&T Gnot is something I know only from the Plan 9 papers from Bell Labs. Plan 9 is / was / will be the perpetual and forever post-UNIX operating system. Only a few things stand in its way. The first is that UNIX failed to die. The second is that the part of Bell Labs responsible for such things failed to live.
Of course, UNIX did die. The UNIX wars weren’t quite enough to kill it and a spinoff from AT&T wasn’t quite enough to save it. What did happen? One thing was certainly intellectual property. If it wasn’t real UNIX from New Jersey, it was just another sparkling operating system from California. Real UNIX wasn’t really a product you could buy, instead it was a software base licensed mostly to dozens of computer companies. A few of these companies still exist! California UNIX, in the form of BSD, wasn’t really a product you could buy either. It was something you could download, though, and install on one of computers you had bought from the type of company that paid to license Real UNIX. Some vendors offered both flavors.
Linux was enough like UNIX that you could pretend if you squinted and it was generally no less interoperable than the worst of the UNIX descendants were with each other. Critically, Linux could be run on cheap PCs that were enough like workstations that you could pretend if you squinted. In fact, PCs were pretty good by 1992 when Linux showed up. The performance, 32-bit programming environment, and virtual memory management of Intel’s i80386 were credible. The real squinting was done by the traditional UNIX workstation vendors, whose entry-level offerings were appalling. Worse were the years-old entry-level UNIX machines dominating university labs when Linux showed up. By 1994, it was all over but the screaming for Real UNIX. In 2024, Linux is still wearing the corpse.
Weirdly, one of the places most insulated from the UNIX tempests was the UNIX Room at Bell Labs. That was a place where ‘Research UNIX’ reigned. Research UNIX was somewhere between whatever they said it was and whatever it was they were actually running on their systems. At Bell Labs, Research UNIX from version 8 was rebased on BSD — the enemy — with features from their other systems ported in.
The UNIX researchers at Bell Labs had started working on their own improved operating system. Plan 9 from Bell Labs ruthlessly removed things from UNIX. Almost any point of disagreement between other UNIX-like systems became something worth eliminating. What they were left with was a tiny kernel, a network filesystem protocol so simple that you could easily write your own programs to speak it and represent any kind of thing at all as a filesystem, and a per-process view of the filesystem name space that presaged Linux bind mounts and containers but which seemed much less cumbersome.
Plan 9 was so small and simple that systems barely more capable than dumb terminals could run it and connect easily to distributed computing resource on the network. I think it was really existentially important to a phone company that this be a good idea. Here’s what the Plan 9 authors had to say about terminals:
The standard terminal for Plan 9 is a Gnot (with silent ’G’), a locally-designed machine of which several hundred have been manufactured. The terminal’s hardware is reminiscent of a diskless workstation: 4 or 8 megabytes of memory, 25MHz 68020 processor, a 1024×1024 pixel display with two bits per pixel, a keyboard, and a mouse. It has no external storage and no expansion bus; it is a terminal, not a workstation. A 2 megabit per second packet-switched distribution network connects the terminals to the CPU and file servers. Although the bandwidth is low for applications such as compilation, it is more than adequate for the terminal’s intended purpose: to provide a window system, that is, a multiplexed interface to the rest of Plan 9. Unlike a workstation, the Gnot does not handle compilation; that is done by the CPU server. The terminal runs a version of the CPU server’s operating system, configured for a single, smaller processor with support for bitmap graphics, and uses that to run programs such as a window system and a text editor. Files are provided by the standard file server over the terminal’s network connection. Just like old character terminals, all Gnots are equivalent, as they have no private storage either locally or on the file server. They are inexpensive enough that every member of our research centre can have two: one at work and one at home. A person working on a Gnot at home sees exactly the same system as at work, as all the files and computing resources remain at work where they can be shared and maintained effectively. — “Plan 9 from Bell Labs”, Pike et al.
They say the Gnot runs a version of the CPU server’s operating system but I wonder if it’s really the other way around. Fans of vintage AT&T terminals (yes, that’s a thing) report that the Gnot was a new motherboard in an earlier AT&T terminal called the 630, itself a successor of the AT&T 5620, itself the commercialization of a terminal built at Bell Labs called a Blit. Bart Locanthi and Rob Pike wrote the software environment for the Blit. Pike was also the primary developer, a decade later, of Plan 9.
The Blit is our 19th entry in the 24 x 24k for 2024 series, but back to the Gnot. The Gnot boasted several megabytes of memory, a fast Motorola processor (reported sometimes as 68020 and sometimes as 68030), and a large grayscale framebuffer. The Gnot had similar hardware specifications to the Sun 3/50 UNIX workstation. I have no information on when the first Gnot was made, but the AT&T 630 on which it was based was released in 1987 and I suspect the Gnot was built soon after. The Sun was released in 1985. A better frame of reference might be a diskless Apple Mac LE, released in 1990.
If the Gnot was like a Mac II, the Blit was very close to an original Macintosh. Same 68000 processor, same 1-bit monochrome screen, and a mouse. The Blit is reported to have had twice the memory, 256k, of the Mac but it also had a larger framebuffer to compete for the memory and no floppy drive. The original Mac had a 64k ROM that provided a library of useful routines. The Blit had a slimmer 24k ROM. If it seems like the AT&T offerings are coming off worse than their nearest Apple cousins, consider that each of those Apple machines was sold as standalone workstation. Without booting an operating system from floppy disk, the Mac couldn’t do anything. The Blit booted into a traditional text terminal that supported escape sequences for additional functions. The most remarkable escape sequence allowed the far end to load 68000 code directly into memory. The signature program, mpx, loaded a small real-time operating system that handled keyboard, mouse, overlapping GUI windows, and multiplexed IO over the serial port.
I like to think that Plan 9, a tiny kernel built around a multiplexing protocol that represents everything as files, was born not as a simpler UNIX but by UNIX developers as a more elegant terminal. Rob Pike’s paper about 8 1/2, the original Plan 9 GUI windowing system, led me to imagine that the incremental development of the Gnot from the Blit, and of Plan 9 from the Blit firmware went through many interations not well captured for posterity. Pike’s paper says:
“The default program that runs in a window is familiar to users of Blit terminals. It is very similar to that of mux, providing mouse-based editing of input and output text, the ability to scroll back to see earlier output, and so on. … The Plan 9 terminal software, including 8 1/2, was developed on a 68020-based machine called a Gnot.”
The papers from Bell Labs are prinicpally topical and do not always serve well to document the internal work multiplexing of the UNIX team. Perhaps someday I’ll learn about a terrific UNIX argument that led Pike to fuck off to the terminal for a while and start developing a UNIX successor there, unnoticed, until it was real. True or not, I can hope this version makes it into some eventual UNIX: The Movie.
So that’s the Blit, and the Gnot, but what happened to smart, programmable terminals? Some of that may be tied up in the long collapse of AT&T. Some more is captured incidentally in the paper. Bell Labs developed the 8 1/2 window system and then ported it to other machines in use around the lab — including the NeXT workstation. Around the same time, Tim Berners-Lee had engaged with the terrific software supplied on the NeXT machine and used it to develop the first web browser and HTTP. The World Wide Web ate smart terminals. In 2024, it’s easier to run Plan 9 in a web browser than it is to get a web browser for Plan 9. Most of those browsers are running on a systems with UNIX heritage, whether Linux (Android) or BSD (iOS).
Will another elegant, portable, distributed operating system arise inside a corner of the computing ecosystem? We’re almost 20 years into the Arduino and I haven’t seen real signs of an emergent ‘Arduino OS’, though several modern Arduino systems now have more resources than the Blit. Could it arise from a quirky open-source project like QMK for keyboard firmware? In support of an open-source microcontroller like the RP2040? Could it arise within a family of malware? I like this idea most of all — horizontal gene transfer from a computer virus to respectable computer system.
There’s less than two months until our 24k series wraps up and only five entries left (The last post counted as 4 — quadruplex redundancy isn’t free). If there is a 24k system that you would like to see featured, please let me know.
This post pairs well with “Wanna Be Startin’ Somethin’” / Michael Jackson / Thriller / 1982