Monday, November 27, 2023

Spelunking CACM, Vol. 13 (1970)

I'm baaack! It's been a while since I did a blog posting on spelunking of the Communications of the ACM. Now I'm up to volume 13, 1970. Dang, there was a lot of action in that year. On my first pass, I picked up ten papers, but I don't want to review that many in depth, so let's pick up a couple:

 Per Brinch Hansen's Nucleus paper is one of the most famous papers in operating systems. It has the notions of program (the set of instructions), internal process (the executing context of a program, without I/O), and external process (the I/O context for the program). Processes communicate with each other via message queues, using Dijkstra semaphores. Processes are in a process tree; a parent can create child processes. Resources are allocated in a hierarchical fashion; if you own a resource, you can subdivide it and share among your children, and you regain control when the child exits. It's an astoundingly modern conception of what an OS kernel should be, with the exception that it has no virtualization whatsoever that I can find and makes no mention of security.

Another that has to be high on the list of great papers from the year is Burton H. Bloom's filters, now known as (surprise) Bloom filters. A little to my surprise, the paper has "only" (ha!) been cited a little over 10,000 times, according to Google Scholar, but if you just search for "Bloom filter" it will return half a million to a million entries, depending on exactly how you phrase it (i.e. with or without quotes).

There were plenty of other important things, such as a pretty detailed technical standard for 1600 CPI (characters per inch) magnetic tape. No such standard would fit into a magazine anymore; it would be hundreds of pages long!





The notion of pricing of resources according to demand and time of day was already understood, if an active area of discussion. Multics was being instrumented. Man, it was a great year for systems work! There was other OS work as well that I found intriguing. A Scholar citation count of 14,000 suggests that a relational model of data for banks has had some impact. A program to teach programming seems important to me, but it wasn't the first such thing, I don't think.

Maybe the year away from this spelunking project is coloring my opinion, but to me this feels like the first truly modern year. The late Sixties and early Seventies were a time of great change and turmoil throughout the world, from the Cultural Revolution to the Beatles to the hippies to the Apollo program to (what Americans call) the Vietnam War...but computing was right there in the mix, changing almost every day.

No comments: