Unix at 50: How the OS that powered smartphones started from failure

An article at Ars Technical on the beginnings of Unix, starting from the failure of Multics and the hunt for computers to work on, to the ‘breakout’ moment when Unix and its tools (troff) was used by the AT&T legal department to format patent documents.

Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.

1 Like

Calling Multics a failure is a very biased view of the actual history. It was being developed by several teams and one of them dropped out (Bell Labs) so if you talk to people from that team they use the word “failure”. Obviously the other teams and the companies that used the system over the next few decades would describe it differently.
In fact, though it started out as a sort of anti-Multics as the very name Unix implies, most of the development of Unix in the 1980s and later was adding back Multics features that had been initially dropped.

3 Likes

Unix the OS that powered smartphones

Well… In that case it was in the past, hence the word “powered”, and to my knowledge, the only real succesfull, if only, smartphone that is powered by Unix is the iPhone.

Those claims are bogus, as the iPhone is still powered by a cut down and specialised version of Unix. And nearly all other are powered by Android, that are a cut down and specialised version of Linux. Reading the article as a whole, they actually claim that Linux is Unix, if you read between the lines.

What gives???

To a first approximation, that’s not an unreasonable claim at all. It is certainly true that many true AT&T Unix apps will compile and run against Linux, and that many applications developed for Linux will compile and run against various flavors of Unix, both AT&T and licensed, as well as certified “Unix” variants conforming to The Open Group or other specifications. For the readership of Ars, that’s Unix Enough.

In fact, I think it’s Unix Enough for me. Obviously the motivating spirit of Unix is alive in Linux, even if the code base isn’t shared.

The lack of a Unix userspace on Android or iOS is more of a concern, but many older Android builds (maybe all?) do have a rather minimal terminal userspace environment – I don’t know about more recent builds. One can be installed, for sure.

2 Likes

It all comes down to what your using as your definition of “Unix”. Unix is (or at least was) a trademarked term, and not a generic description. Minix, Coherent, and other similar systems were not, and could not be, “Unix” despite offering similar services, since they weren’t able to use the trademarked term.

You can’t define a Unix by its kernel. You can’t define a Unix by it’s tool set. If you define a Unix by its process architecture, how it uses devices, it’s reliance on ubiquitous block and character devices. It’s availability of services such as pipes and fork, its virtual memory system, by it’s user land development model, then lots of systems are more Unix than not (including things like Minix, and Coherent).

Is Unix little more than fork, open, close, read, write, ioctl, select, and sbrk?

If you simply use the Wikipedia definition of Unix:

Unix (trademarked as UNIX ) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix…

Then, Minix, Coherent, and Linux are not Unix. Because it did not derive from the original AT&T Unix (As SCO painfully found out in its disastrous lawsuit).

But if you told someone that Linux is not Unix, they’d either laugh at you or tell you that you’re splitting the finest of hairs. Or that you’re a lawyer.

For billions of people, Linux IS Unix.

So.

Android is based on the Linux kernel and user land, and is as Unix as any other Linux based machine.

So, while the term UNIX has actual weight, it’s trademarked, and the trademark means something, in popular culture, Unix is essentially a generic term that means “Linux and all those other guys”.

I just went down into a little bit of a rabbit hole, because I was sure I’d read something rather unexpected and interesting about Microsoft’s pursuit of Posix compliance, when that was very much a hot topic. Here’s what I found down there:

“…the number of UNIX installations has grown to 10, with more expected…”
- Dennis Ritchie and Ken Thompson, June 1972

(From UNIX Past, part of the Unix History and Timeline)

via the Unix Wars page on wikipedia, via this piece which reflects on HP-UX vs Solaris and some wilful differences:

(Posted in part to deflect tit-for-tat posting: please lets try to be interesting and enlightening, and don’t worry too much about “correcting” articles or each other. Especially article headlines, which are often constructed just to grab attention.)

1 Like

Yes to millions. Yet that does not make it Unix at all. Unix is an operating system, in use or not, it is still it’s own thing. Linux is a different thing, yet if they call it Unix, then I bet they are just looking at the console/terminal and they think that it is, when in fact it is not. It is a bit like opening the command prompt in WindowsXP and saying that it is MS-Dos. MS-Dos are still only IO.SYS and MSDOS.SYS. COMMAND.COM can be swapped out for something else, and you are still running MS-Dos. Or you can install a different and extremely advanced GUI called Windows 3.11 and you are still running MS-Dos. You can run KDE or Gnome on both Unix and Linux, and they are still two different operating systems. Or you can gutt the kernal, and install a touch-GUI, call it Android, and you are still running Linux. Or do the same with Unix, and you are running iOS.

I don’t know if you can follow me now? I am not talking about a distribution of an operating system, I am talking about the OS in it’s purest form. Yet that does not hinder you in creating something hybrid/crossover in were you take code from various OS’s and mix them together. If you mix Linux and Unix, then you are no longer running any of them. Then you are running your own Linux and Unix based OS. Mix a bit of NT code into that, publish it and wait for SCO and MS. Hehe.

(I’m closing this thread, at least for now. I feel we need to try to channel our energies into posting interesting content. Think about your audience; try to attract the sort of posts which you will enjoy reading. By all means start an interesting discussion. But do let’s try not to prolong arguments. If someone seems to be wrong, just let them be wrong. Let the facts speak for themselves.)