Hacker News new | past | comments | ask | show | jobs | submit login
Multics: An Ancestor of Unix (multicians.org)
151 points by lordleft on Dec 27, 2019 | hide | past | favorite | 33 comments



Wow I wish every major technical project from that early preinternet era had such a thorough and well documented archival website.

Kudos to the people who put the effort into doing this.

There was a post earlier about the Windows 95 UI development that referenced and old site written by original employees on the project talking about the development process. But the site was offline and didn’t get picked up by the archives.

There’s so many of those major contributions like Microsoft, Nintendo, Sony, all of the mainframe people and early PC companies, etc who probably have a thousand small stories that the world would benefit from collecting.

Digital archival and documentation is a noble and valuable philanthropic cause IMO, which I hope continues to grow. Especially as all of us “early” programmers start getting older and history starts repeating itself at a faster rate.


Wow I wish every major technical project from that early preinternet era had such a thorough and well documented archival website.

Multics was supposed to be the future of operating systems. But it was tied to rather specialized hardware, and when that hardware went away, so did Multics.

One of the last Multics systems was DOCKMASTER, at NSA. Stayed up until 1998. That was their public-facing machine in the early days of the Internet. Only thing they felt was secure enough for even unclassified email and document access.[1]

[1] https://www.multicians.org/site-dockmaster.html


Multics was on a GE computer. Later Honeywell bought that division of GE.

The story goes that a few engineers at Honeywell approached management and claimed that they could build a Multics system supermini computer, sell it, and make money, but management said that they would not be able to build such a computer and wouldn't be able to sell it, and it wouldn't make money.

So, the engineers started Prime Computer in Framingham, MA, used bit-sliced architecture for a single board computer, had rings of security and gate segments for applications code to jump into the operating system code for services, and wrote the operating system in a tweaked version of Fortran, later in part a tweaked version of PL/I. They had an hierarchical file system with security from authentication, capabilities, and attribute control lists (ACLs).

IIRC in 1980, they gave investors the highest ROI of any stock on the NYSE.

There are claims that the Intel 386 borrowed heavily from Prime.


Also, the History page on the top link says IBM pitched the (at the time) future System/360 to them and they turned it down.

That strikes me as being one of those pivotal moments in computing history.


Circa '63, IBM systems were generally considered the natural choice for timesharing at Project MAC. After all, CTSS had been implemented on the IBM 7094 and IBM had a close relationship with MIT.

But despite MAC's lobbying, System/360 left out virtual memory, signalling that IBM was focussed more on their commercial batch systems than on the smaller university/scientific market.

GE's 635, on the other hand, had privilege rings and virtual memory built-in. So did the DEC PDP-6 (in a primitive form). So those are the machines Project MAC purchased.

Now MIT might not have been a big source of revenue for IBM but it was still a star customer from an image perspective. And IBM realized the error of their ways pretty quickly, and got a crash program going to modify the Model 65 with paging, which was out by 1966. But they were too late, really. GE, DEC and a bunch of other companies were already eating into the timeshare market aggressively.

If the original higher-end IBM System/360 machines had included paging hardware from the start, the history of computing could have indeed gone very differently.


Actually the 635 had no virtual memory or I think even memory protection (no more than the IBM 7090 it was closely modeled after). The difference was that GE promised to add the all-singing, all-dancing MMU (paging, segmentation, rings) of MIT's dreams so they won the contract, resulting in the Multics 645.

The problem long term was that while every MMU option was available, the Multics base platform remained an extended, async 7090 (itself an extended (circa 1952) 704), rapidly falling behind in performance (and ability to be re-implemented quickly/well in rapidly advancing technology). Look at the trajectory from 645 to 6080 to DPS8 and shudder. Compare with the 360 as a modern ISA re/implemented at close to the state of the art.

Multics proper became excellent, highly capable software but to use the term the Germans used about Austria-Hungary in WW1, it was "shackled to a corpse".


> But they were too late

And, yet, the descendants of the 360 are the only mainframes that survived until now.


1966? Good. There was, in about 1967, the IBM 360/67 with 31 (up from the usual 24) bit addressing, virtual memory, and virtual machine software CP67 (Control Program 67) and interactive shell CMS (Conversational Monitor System).

Later of course, CP67/CMS became VM/CMS (Virtual Machine CMS) which was actually a big deal for IBM for decades if not to the present.

IIRC CP67/CMS was written at IBM's Cambridge Scientific Center, supposedly as a tool for operating system development. But by 1973, a company in Stamford, CT, NCSS (National CSS), was selling general purpose time-sharing service on 360/67 with CP67/CMS via just dial-up communications.

So, could log on and get ones own virtual machine, complete with a software command IPO (initial program load), the button on the front of the 360 machines. Then logged on could write and run assembler (made writing assembler surprisingly easy), PL/I, etc. If the software hit a bug with, say, an infinite loop, then could use IPO to start over!

NCSS service was popular around DC, and NCSS had an office in VA just over Key Bridge from DC with a leased phone line connection back to CT for a line printer. So, if wanted to print out a stack of paper 1" thick, could do that!

NCSS service was not cheap, but due to the Cold War and the Space Race there was plenty of money sloshing around DC for paying the NCSS bills.

IIRC in 1973 it was 6000 lines of typing in PL/I at NCSS that scheduled the fleet at FedEx, alleviated some concerns of the BoD, enabled some crucial funding, "Solved the most important problem facing the start of Federal Express" (COB F. Smith), and essentially saved the company (once of at least two times the company got saved).

By 1974, Brown University, especially its Division of Applied Mathematics, had a CP67/CMS system essentially donated by Tom Watson, Jr., who had gone to Brown. Brown instrumented the system to collect data on its operations. Statistician U. Grenander did a lot of statistical work with that data. He remarked, IRCC, that the data from the computer operations "looked nothing like biomedical data" he and statistics had long been used to.

And IBM's System/370 upgrade from System/360 had essentially all the 370/67 hardware features together with virtual machine assist that made some of the virtual machine faking faster.

Prime had an hierarchical file system in the 1970s, but as late as 1994 at IBM's Watson lab VM/CMS still didn't have hierarchies in the file system. As a partial alleviation, could have virtual disks, each with a drive letter.

Of course eventually the Multics ideas of authentication, capabilities, and access control lists made their way into IBM's RACF (Resource Access Control Facility) and much more generally in computing, e.g., with authentication via MIT's Kerberos with RSA (Rivest, Shamir, Adelman) public key encryption.

To me what is amazing are (i) a lot of concepts from those days are still with us, (ii) can buy, on-line, quantity 1, e.g., for about $100 an AMD FX-8350 processor with 8 cores, 64 bit addressing, and a standard clock speed of 4.0 GHz, (iii) can get at a small home office up/download Internet data rates of 1 Gbps for some reasonable price, say, $100 a month, and (iv) the early players IBM, GE, Honeywell, Prime, DEC, Data General, and more are no longer involved or are taking a back seat against QUALCOMM, Intel, AMD, Applied Materials, TSMC, Cisco, Microsoft, Apple, etc.


Nitpick - the 360/67 actually had 32 bit addressing, not 31 like the 370s.


WOW! Thanks! How many decades was that, and I lost only 1 bit!


Well. HP PA-RISC Alpha architecture machines also have such a shrine, exhaustively documenting the period and hardware: https://www.openpa.net/systems/hp-9000_pa-risc_story.html


FYI for anyone confused by this: Alpha and PA-RISC are two different architectures and vendors.

I’m guessing the mention of Alpha in your comment was a slip of the tongue/brain, given the topic :)


Ah I didn't know Alpha was just a marketing or brand name. Thanks for the heads up!


there are a huge number of single vendor hardware/software minicomputer and other systems--probably especially in the 70s/80s--that are barely covered even in Wikipedia.

Mutics is notable though because it was sort of the progenitor of so much that came later, including ultimately Linux.

Various companies are covered here and there, e.g. Simulogics has a fair bit of Data General material. http://www.simulogics.com/


Here is a link to the Michigan Terminal System (MTS), developed in the late 60's.

http://archive.michigan-terminal-system.org/home


See Multics Run - Stan Zanarotti

https://m.youtube.com/watch?v=bjG4m77PQm8


Unix (eunuchs), the castrated Multics.

No, really: https://en.wikipedia.org/wiki/Unix


Not sure why you are downvoted but this is correct, the name Unix is a joke about Multics, which they felt was a bit unwieldy. Unix is a reaction to what they felt was over-wrought operating system design.

Plan 9 is obviously a joke name too.


In Multics you always mmap'ed files -- that seems crazy to me now that I write asyncio systems inspired by the old mainframe transaction processing systems such as CICS. There is nothing more synchronous, blocking, and dependent on expensive MMU operations than mmap.


MMU operations are a lot more expensive now than they once were.

In particular, one of the most expensive things about mmap today is actually munmap, that trashes the translation lookaside buffer ("TLB"), the cache of memory map lookups, on all the other cores that run threads in the same process. When you had only the one core, that didn't need to happen.

NetBSD used to have "UVM", where they played memory mapping tricks to get "zero-copy" networking. They had to give it up when they went to multiple cores.


Synchronous and blocking is not that bad in timesharing systems, as the computer always has something else to do while it waits for the IO to complete.

As for the expensive MMU operations, as someone pointed out before, they were not always as expensive as we currently have to make them when we need to guard against leaks between processes and multiple CPUs sharing unified memories and caches.


Varnish seems to get good mileage out of that strategy.


> Plan 9 is obviously a joke name too.

Bell Labs replacing the Outer Space in Plan 9 From Outer Space, a schlocky 1959 sci-fi horror film. The subtitle is UNSPEAKABLE HORRORS FROM OUTER SPACE PARALYZE THE LIVING AND RESURRECT THE DEAD.


And riffing off the fact that the previous Bell Labs Unix was version 8.


Do you have a source for that? Bell Labs Unix had version 9 in 1986 and version 10 in 1989. I suppose it's possible that these happened after Plan 9 was named; but as best as I can tell, work on Plan 9 started in 1987[1]; after V9 Unix had been released.

[1]: http://doc.cat-v.org/plan_9/1st_edition/designing_plan_9


Earliest reference to Plan 9 is 1984: http://doc.cat-v.org/unix/unix-before-berkeley/


That 1984 year doesn't seem to be entirely accurate; at a minimum, the article has had additions since 1984 (including the 1998 death of John Lions).

The abstract notes that it was published in DaemonNews in 1999.

I tracked down the DaemonNews publication: https://web.archive.org/web/20000819035036/http://www.daemon...

The copy in DaemonNews includes citations that were elided from the copies on cat-v.org and darwinsys.com. Notably, we see that line change from

> (More recently, much of this work has been consolidated into an operating system called Plan 9 From Bell Laboratories.)

to

> (More recently, much of this work has been consolidated into an operating system called Plan 9 From Bell Laboratories.)[Pike1990a, Pike1995a]


Unfortunately no. I may be wrong.

However I think plan9 started as a skunkworks project well before Unix v9 was released.

[edit - wikipedia maybe supports me ]

> Plan 9 from Bell Labs was originally developed, starting in the mid-1980s,


All of the authoritative sources I've found say that it was started in the "late" 1980s, not "mid" 1980s.

For instance:

> Plan 9 from Bell Labs is a research system developed at Bell Labs starting in the late 1980s.

https://9p.io/plan9/about.html

The Wikipedia's citation on the sentence saying "mid-1980s" is the press release for the 2nd edition of Plan 9 (1995, the first generally available version), which doesn't mention anything of the sort. That is to say: Wikipedia's "mid-1980s" claim isn't well-attributed.

(The 1st edition of Plan 9 (1992) wasn't generally available, and was only made available to universities.)

(My above 1987 citation states that they worked on it in 1987 and implies, but does not explicitly state, that there was no work before that.)


Never heard the “eunuchs” reference before. I always just thought it was a play on being simpler (uni vs multi).


Yes, believe that is more correct.


I think they used "UNiplexed Information and Computing Service"


There's a pretty good site covering DEC RSTS operating system here: http://elvira.stacken.kth.se/rsts/rsts_80th_birthday.html

The Multics site is definitely worth spending some quality time with.




Consider applying for YC's first-ever Fall batch! Applications are open till Aug 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: