Slashdot Mirror


The Strange Birth and Long Life of Unix

riverat1 writes "After AT&T dropped the Multics project in March of 1969, Ken Thompson and Dennis Ritchie of Bell Labs continued to work on the project, through a combination of discarded equipment and subterfuge, eventually writing the first programming manual for System I in November 1971. A paper published in 1974 in the Communications of the ACM on Unix brought a flurry of requests for copies. Since AT&T was restricted from selling products not directly related to telephones or telecommunications, they released it to anyone who asked for a nominal license fee. At conferences they displayed the policy on a slide saying, 'No advertising, no support, no bug fixes, payment in advance.' From that grew an ecosystem of users supporting users much like the Linux community. The rest is history."

43 of 293 comments (clear)

  1. Future by masternerdguy · · Score: 5, Insightful

    I can see some form of UNIX making it to the 22nd century and beyond.

    --
    To offset political mods, replace Flamebait with Insightful.
    1. Re:Future by swanzilla · · Score: 5, Funny

      I can see some form of UNIX making it to the 22nd century and beyond.

      +1 Forth-sightful

    2. Re:Future by jellomizer · · Score: 5, Funny

      Not the 32bit versions though. They wont make it past 2038.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    3. Re:Future by PolygamousRanchKid+ · · Score: 4, Insightful

      Just before 2038, there will be tons of hype about "The End of the Epoch!", just like "Happy New Year 2000! Nothing works anymore!" Plenty of work for onery, old C programmers like me, with lawns to get off of.

      After 2038, when everything is still working despite dire predictions, we will have to wait a bit for the next opportunity, when the 64 bit epoch runs out . . .

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    4. Re:Future by gman003 · · Score: 5, Informative

      After 2038, when everything is still working despite dire predictions, we will have to wait a bit for the next opportunity, when the 64 bit epoch runs out . . .

      64-bit Unix time will run out on December 4, precisely at 3:30:08 PM, 292,277,026,596 AD. It will be a Sunday.

      By then I fully expect computers will already have migrated well into the gigabytes-per-machine-word range, or will no longer be using bits as we know them. Either that, or we'll have encountered the heat death of the universe, so it will be irrelevant.

    5. Re:Future by Anonymous Coward · · Score: 5, Funny

      Is that a Sunday?

    6. Re:Future by philfr · · Score: 4, Funny

      Not sure, but the restaurant out there is open 24/7.

  2. UNIX family tree by HockeyPuck · · Score: 5, Informative

    Image from wikimedia of the UNIX Family Tree

    1. Re:UNIX family tree by the+linux+geek · · Score: 5, Informative

      And DG/UX, Reliant UNIX, Risc/os, SINIX, Unicos, Dynix, and about twenty other moderately successful moderate 90's UNIX systems. If you look closely, it's only showing systems that are either still alive or ancestors of systems that are still alive.

    2. Re:UNIX family tree by HockeyPuck · · Score: 4, Informative

      This is a much better tree, has atleast a hundred different versions on it...

      http://www.levenez.com/unix/

    3. Re:UNIX family tree by 0100010001010011 · · Score: 5, Informative

      That's just the "Light" version.

      A more complete version is here:
      http://www.levenez.com/unix/

      Includes IRIX, Reliant, SINIX, Risc, Unicos, Dynix.

      And more fun stuff like iOS.

  3. Re:No support, no bug fixes by Anonymous Coward · · Score: 4, Insightful

    "in 2008 Microsoft confirmed a vulnerability in Internet Explorer, which affected some versions that were released in 2001"
    i rest my case

  4. I remember ... by versimilidude · · Score: 5, Interesting

    I remember the first time I saw Unix, in 1976. The first step in installing it was to compile the C compiler (supplied IIRC in PDP-11 assembler) and then compile the kernal, and then the shell and all the utilities. You had an option as to whether you wanted to put the man pages online since they took up a significant (in those days) amount of disk space. Make was not yet released by AT&T so this was all done either by typing at the command line or (once the shell was running) from shell scripts.

    1. Re:I remember ... by Guy+Harris · · Score: 4, Interesting

      I remember the first time I saw Unix, in 1976. The first step in installing it was to compile the C compiler (supplied IIRC in PDP-11 assembler)

      As I remember, and as the "SETTING UP UNIX - Sixth Edition" document says (see the start *roff document in this V6 documentation tarball - yes, I know, tarballs are an anachronism here :-)), V6 came in a binary distribution that you read from a 9-track tape onto a disk:

      If you are set up to do it, it might be a good idea immediately to make a copy of the disk or tape to guard against disaster. The tape contains 12100 512-byte records followed by a single file mark; only the first 4000 512-byte blocks on the disk are significant.

      The system as distributed corresponds to three fairly full RK packs. The first contains the binary version of all programs, and the source for the operating system itself; the second contains all remaining source programs; the third contains manuals intended to be printed using the formatting programs roff or nroff. The `binary' disk is enough to run the system, but you will almost certainly want to modify some source programs.

      You didn't have to recompile anything (at least not if you had more than 64KB; I had to do some hackery with the assembler to get it to run on a 64KB machine, as there wasn't enough memory to run the C compiler - I had to stub out the pipe code with an assembler-language replacement for pipe.c, and then recompile the kernel with a smaller buffer cache and the regular pipe code). Most users probably either had to or had good reasons to recompile the kernel (different peripherals, more memory for the buffer cache - or less memory in my case, so I had to shrink it from 8 whole disk blocks to 6 - etc.), and if you weren't in the US eastern time zone or didn't have daylight savings time you had to change ctime.c, or whatever it was called, in the C library for your time zone, recompile the C library, and then rebuild all utilities with the new C library (no Olson code and database, no shared libraries, no environment variables so no TZ environment variable).

  5. Not directly related to telephones? by cashman73 · · Score: 5, Insightful
    Since AT&T was restricted from selling products not directly related to telephones or telecommunications, they released it to anyone who asked for a nominal license fee.

    It's interesting how AT&T couldn't support it for this reason, because today, UNIX is at the heart of both iOS and Android, which run some of today's most popular telephones.

    1. Re:Not directly related to telephones? by ackthpt · · Score: 5, Insightful

      Since AT&T was restricted from selling products not directly related to telephones or telecommunications, they released it to anyone who asked for a nominal license fee.

      It's interesting how AT&T couldn't support it for this reason, because today, UNIX is at the heart of both iOS and Android, which run some of today's most popular telephones.

      Also at the heart of OS X. One of the smartest moves by Apple and Jobs, replacing the hideous old Mac OS with something built on Mach and borrowing heavily from BSD. Apple made the painful leap and it paid off handsomely.

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:Not directly related to telephones? by AB3A · · Score: 3, Insightful

      Yes, but imagine trying to argue this to Judge Greene during the breakup of AT&T in the early 1980s.

      AT&T stayed out of that fray because there was no way in hell that they could have argued that this was a possible outcome based upon what was going on with the state of the art at the time.

      --
      Nearly fifty percent of all graduates come from the bottom half of the class!
  6. Re:The heydays ended ten years ago by the+linux+geek · · Score: 4, Insightful

    Top500 is basically irrelevant as a model of the server industry as a whole. UNIX is still kickin' on scale-up commercial servers and doing pretty well at it.

  7. Read some of the original Bell System docs, too by Myself · · Score: 5, Informative

    Several issues of the Bell System Technical Journal tell the story of UNIX, in their own words. This one in particular is interesting.

    1. Re:Read some of the original Bell System docs, too by Myself · · Score: 5, Informative

      Here's the index of the July-August 1978 issue where the whole series of articles appears. Better format than the search above.

  8. Re:No support, no bug fixes by darkonc · · Score: 5, Insightful

    Well, if you read the Microsoft EULA, you'll notice that they don't promise bug fixes either. It just isn't advertised that way (although they definitely do supply advertising)... and sometimes the support just consists of "yes, I think that's unfortunate, too".

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  9. Re:The most intelligent OS I've ever seen by jeremiahstanley · · Score: 4, Insightful

    Yes, the camel surely looks elegant in the desert. But then again, fish don't climb trees.

    Just because something works well in one area doesn't mean that it will function well outside of that area. This is why there will always be "other methods" for operating systems.

  10. Re:No support, no bug fixes by DarwinSurvivor · · Score: 3, Informative

    Unless you buy windows on a disk in a cardboard box, the only support you will get is some minimum wage tech in india employed by dell/hp/etc.

  11. They actually got sued over the support. by darkonc · · Score: 5, Informative
    According to a friend of mine (who had a single-digit Unix license #), AT&T originally refused to release UNIX on the advice of their lawyers because the anti-trust agreement prevented them from getting into non-phone markets. The universities who wanted access to the, then fledgling, OS then sued them over a clause that prevented AT&T from suppressing technology. The universities won that battle.

    So (after probably sticking their tongue out at the lawyers who originally nixed the release) they released UNIX ... and were then sued by other computer companies for violating the "phones only" clause of the anti-trust agreement. AT&T also lost that battle.

    So now it was law. They couldn't suppress the technology, but they couldn't market or support it because it wasn't directly phone- related. That's where they came up with the rather convoluted system where, for a nominal price ($1 for universities, and more ($20K, I think for companies), and signing a non-disclosure agreement, anybody could get a mag tape with a working system, and source code, a pat on the back and a 'good luck'.

    ALL support was done by users (who, pretty early on got better at it than any company would have been) -- but the non-disclosure agreement meant that you couldn't just post a file with the fixed code in it... so that's where diff(1) patches came into play -- they exposed the fix without exposing too much of the source code. In some cases where patches were extensive, the originator of the patch would simply announce it and require people to fax a copy of the first page of their license before being emailed the fix.

    AT&T was also rather pedantic about protecting their trademark, which resulted in people often using the UN*X moniker rather than include the trademark footnote at the end of their postings.

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  12. Re:No support, no bug fixes by stanlyb · · Score: 3, Informative

    Actually, KDevelop, Anjuita, SourceNavigator, Kylix are pretty good IDE for linux. And MSVS compared to Borland IDE (CodeGear now) sucks, to say it plainly.

  13. Re:The most intelligent OS I've ever seen by ackthpt · · Score: 4, Informative

    Yes, the camel surely looks elegant in the desert. But then again, fish don't climb trees.

    Just because something works well in one area doesn't mean that it will function well outside of that area. This is why there will always be "other methods" for operating systems.

    Windows is such an incredibly fragile system - all eggs in one basket. While it made sense for mass sall of PCs with a single disk, by feat it left the programs, work, operating system, registry, swap space, all on one disk. You can choose to save your work done in various suites on other drives, but they are still fooling around with Drive C:, D:, E: etc. If I need to reinstall the OS I end up with such a massive corruption of drivers I'm almost better off starting from scratch, but I'd lose all my installed programs, because Microsoft likes to keep them all in Program Files on the C: drive, where the OS resides. I can move my memory swap to another physical drive, to relieve some I/O burden, but it's not well known how to do this. Having application, operating system files, swap file and work files all on one disk is such a horrible idea, particularly without even the benefit of partitions (to protect some files or installed applications during a re-install)

    I configured my first Linux box to have a tidy spot for the OS and its sources, not too much bigger than necessary (safety factor of 2). Put swap file on its own partition and installed all applications on a separate physical drive, with workspace for each on separate partitions. Flexible. I can change my harddisk configuration with a minimum of fuss. Try that with Windows.

    --

    A feeling of having made the same mistake before: Deja Foobar
  14. Re:The heydays ended ten years ago by sunderland56 · · Score: 3

    Do you really consider Unix and Linux to be two separate things?

    If lawyers didn't exist, Linux would not have been needed.

  15. Re:No support, no bug fixes by Dr_Barnowl · · Score: 3, Interesting

    any other sane higher level language

    Is Java an insane higher level language? What about Eclipse, which works well with a whole range of high AND low level languages?

    There just isn't any programs available.

    I find that most of my needs are met. In fact, a lot of the programs I use on Windows were ported from Linux. The only piece of software I pay for (a developers merge tool) had it's origins on Windows, but they sell a Linux port - presumably in recognition of the fact that so many professionals find Linux machines productive.

    If you want to do C#, Monodevelop is available, although was distinctly inferior to it's Windows progenitor, SharpDevelop, the last I looked. But that's also true of Mono itself, IMHO. Aristeer is written in C#, so in principle there's no reason it couldn't be run on Mono / Linux, unless it uses some of the features that Mono hasn't caught up with yet.

    For PHP (and a host of other things too) there's Komodo IDE (with it's free / Open counterpart Komodo Edit).

    You probably have a point on the media side of things. But I think a media person could justifiably prefer OS X to Windows.

  16. Re:The heydays ended ten years ago by JWSmythe · · Score: 3, Insightful

    [smacks G3ckoG33k with a wrench, and drags him into another room]

    Look here, we have something to explain to you.. Unix spawned many variations.

    http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg

    All were similar in concept, but had their own ways of doing things. As this branched away from a common path, most groups agreed on a common set of rules, known as POSIX.

    Once you've learned how one Unix-like environment works, you can use them all. You will find that a Linux server, an Android phone, a TiVo DVR, and even an Apple desktop, all operate in very similar ways, although each has its quirks.

    The outstanding rogue operating system now is Windows. They too have recognized that they are missing out by remaining completely non-compliant, and have begun incorporating various aspects of POSIX as add-on (SFU or SUA) and 3rd party (Cygwin) packages.

    The chart you displayed should have had the "Unix" name divided between major and minor groups. Major being operating systems such as Linux. Minor elements combined in as "Other Unix" and "Other OS". In that, "Windows" having such a minor share, should have only been labeled "Other OS".

    In November 1993, Cray, Inc accounted for 40% all systems in the graph, and the largest share of the "Unix" segment. It would have been a mixture of UNICOS, COS, and Solaris. "Unix" as a specific OS only accounted for 15%. Even those were simply the OS name provided for the list, as an indication of a Unix-like operating system, not that it was actually "Unix".

    Now get back out there, and don't make me hit you with a wrench again.

    --
    Serious? Seriousness is well above my pay grade.
  17. Re:The heydays ended ten years ago by BitZtream · · Score: 3, Informative

    Yes, they are different things.

    UNIX implies a specific API and several other things. Several OSes are UNIX, including Mac OS and Solaris.

    Linux is an OS that is not UNIX as it intentionally does not implement the requirements for being called UNIX and as such has never and will unlikely ever be certified as a UNIX.

    Just because you don't know what the words you use MEAN doesn't mean no one else does.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  18. Re:The heydays ended ten years ago by DesScorp · · Score: 4, Insightful

    The heydays ended ten years ago:

    http://en.wikipedia.org/wiki/File:Operating_systems_used_on_top_500_supercomputers.svg

    The culprit? Linux.

    Linux is Unix. Even if it's not certified as such. If it walks like a duck, quacks like a duck, etc. People started using Linux in the first place because they wanted "a Unix" for personal use. Linux is just a clone of Unix. In the end, it's not really all that different from "Unix proper" than the various flavors of licensed Unix are from each other. I'd argue that most Linux systems are a good deal closer to, say, Solaris, than OS X is... an officially certified Unix.

    --
    Life is hard, and the world is cruel
  19. Re:user experience by DrSkwid · · Score: 5, Funny

    Unix is perfectly user friendly, it's just careful who it is friends with.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  20. So basically what AT&T still does with Android by Kamiza+Ikioi · · Score: 3, Funny

    'No advertising, no support, no bug fixes, payment in advance.'

    --
    I8-D
  21. The conditions that led to UNIX... by freality · · Score: 4, Interesting

    There's a talk from 1986 by Richard Hamming at Bellcore, about how to do great research, but it also ends up in a short discussion about the conditions there that led to UNIX:

    http://www.paulgraham.com/hamming.html

    The whole talk is really excellent, and there's this theme in it that the really great things come from some unexpected places, by the compounding of seemingly unrelated character traits, work habits and organization dynamics.

    At the end in the Q&A, Hamming gets into a short discussion with the host Alan Chynoweth about the origins of UNIX, evincing from Alan a favorite quote:

    "UNIX was never a deliverable!"

    expanded:

    "Hamming: First let me respond to Alan Chynoweth about computing. I [was in charge of] computing in research and for 10 years I kept telling my management, ``Get that !&@#% machine out of research. We are being forced to run problems all the time. We can't do research because we're too busy operating and running the computing machines.'' Finally the message got through. They were going to move computing out of research to someplace else. I was persona non grata to say the least and I was surprised that people didn't kick my shins because everybody was having their toy taken away from them. I went in to Ed David's office and said, ``Look Ed, you've got to give your researchers a machine. If you give them a great big machine, we'll be back in the same trouble we were before, so busy keeping it going we can't think. Give them the smallest machine you can because they are very able people. They will learn how to do things on a small machine instead of mass computing.'' As far as I'm concerned, that's how UNIX arose. We gave them a moderately small machine and they decided to make it do great things. They had to come up with a system to do it on. It is called UNIX!

    A. G. Chynoweth: I just have to pick up on that one. In our present environment, Dick, while we wrestle with some of the red tape attributed to, or required by, the regulators, there is one quote that one exasperated AVP came up with and I've used it over and over again. He growled that, ``UNIX was never a deliverable!''"

  22. Re:The heydays ended ten years ago by sunderland56 · · Score: 3, Funny

    Several OSes are UNIX, including Mac OS and Solaris.

    Right, of course, I had *totally* forgotten that MacOS and Solaris were binary compatible. My bad.

    Good thing I didn't confuse the terms "Unix" and "POSIX compliant". That would have been embarrasing.

  23. Re:So THEY invented "RTFM!" by Anonymous Coward · · Score: 3, Funny

    You should be aware that RTFM hasa different meaning in the Windows world: Reboot The Fucking Machine

  24. Re:Servers by Guy+Harris · · Score: 4, Informative

    Come on dude, we're talking about server systems here, not desktop unix which isn't exactly a "consumer" product.

    Not even if somewhere around 10% of desktops and laptops are running Un*x? Heck, some of them are even running trademarked UNIX.

  25. Re:The heydays ended ten years ago by Guy+Harris · · Score: 3, Insightful

    Those of us that actually use multiple Unixen on a daily basis and have done so for decades have a more complete picture of what a Unix is.

    And those of us who actually develop for multiple Unixes have to deal with all their quirks, and don't always find Mac OS X the quirkiest.

  26. Re:No support, no bug fixes by MightyMartian · · Score: 3, Insightful

    The reason Windows, Mac OS and pretty much all consumer and small business OSs became successes is because they were cheap. DOS and Windows, in particular, became dominant because of the OEM ecosystem. Support and bugfixes? Microsoft support has always been expensive, and bugfixes for the operating system didn't even become widely distributed until Windows vulnerabilities reached a level where Microsoft was essentially forced to come up with Windows Updates to dole out its bugfixes in a much easier way. When I first started out administering Windows NT based systems, bugfixes only came regularly with service packs, or if you installed them based on advice from Microsoft directly or via KB articles, or because some guy on randomtechforum.com told you "yeah, KB28342818122 will fix your problem." And earlier versions of Windows sure the hell didn't even have that level of support. Windows 95 or Windows 3.1 were what they were and about the only way you would get updates is if it was shipped with some piece of software that needed to update a DLL or other support file.

    It little or nothing to do with support. Until Linux came along and basic took the expensive licensing and support costs associated with most *nix operating systems, *nix vendors didn't even give a shit about the PC market, and regarded PCs as glorified terminals when and where they had to connect to *nix-based systems. Still, even on the old Xenix system I administered, there were updates available, the last one I remember installing around 1992 or 1993 was a patch to fix hard-coded originator host names in UUCP bangpaths (and if that doesn't date me, nothing does).

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  27. Re:The heydays ended ten years ago by MightyMartian · · Score: 3, Informative

    No kidding. The whole "*nix" descriptor came about because there were operating systems that were actually licensed variants of Unix, and other systems that were Unix-like, but legally could not call themselves Unix. Unix vs. Unix-like was not a technical description, but rather a legal one. Since Linux supports pretty much all the major features found in actual Unix-based systems, for all intents and purposes it is a Unix variant, even if it is a rewrite.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  28. Re:The heydays ended ten years ago by Guy+Harris · · Score: 3, Informative

    I use both every day.

    I don't think there's an OS sold today whose name is just "Unix", so "[using] Unix" presumably means "using an operating system that has been certified as following the Single UNIX Specification"; which particular such OSes do you use every day?

    Linux is better, because it has capabilities.

    If by "capabilities" you mean stuff such as "POSIX capabilities" that means you don't just have "normal privilege" and "root privilege", Solaris (which is an operating system that has been certified as following the Single UNIX Specification) has them as well.

    It still has the horribly limited and antique unix-style file/folder structures, though - three octal modes

    As opposed to four hexadecimal modes?

    Linux, and several other UN*Xes, also support access control lists, at least on some file systems, if that's what you're contrasting with "three octal modes". (Adding a "delete" privilege and a set of permission bits for what amounts to root, to get the four hexadecimal modes, isn't a huge change.)

    I used to write systems and apps code on 64-bit computers with graphical UIs, language and context-sensitive IDEs, no root superuser, and automatic versioning filesystems. But that was back in the 1980s, before the black ships came and the secret of hose gartering that never ravels was forgotten.

    So what 64-bit computers were those? (Presumably that means "64-bit address space"; "does 64-bit arithmetic in one instruction" is a lot less interesting.) System/38 and AS/400 had larger address spaces, but I think they had 48-bit address spaces until the PowerPC update. (I'm not talking about the 128-bit pointers, I'm talking about the address space available to the instructions that are executed by the machine rather than to the instructions translated into machine instructions.)

    I miss VMS vaxen sometimes.

    (Those, of course, weren't the 64-bit computers to which you were referring. OpenVMS Alphas were, but those didn't come out until the 1990's, and OpenVMS Itaniums are, but they didn't come out until even later. In any case, you've been talking about OS features, so VAX is irrelevant.)

  29. Re:The heydays ended ten years ago by Guy+Harris · · Score: 3, Informative

    Congratulations, you are the blind man holding the trunk of the elephant. Those other blind men you are responding to are holding a leg or a tail or an ear.

    Actually, my eyes work quite well, and can see that there are a pile of different UN*X systems out there, which are similar in a lot of ways (a lot of core APIs, for example) and different in a lot of ways (system administration quirks, for example). If you focus on the parts that are most different, they're all weird in their own ways, with Mac OS X not necessarily being any worse than others (hey, at least ifconfig works the way it's supposed to); if you focus on the parts that are most similar, they're all close enough to call them UN*X.

  30. Re:No support, no bug fixes by grub · · Score: 4, Interesting

    Apple is the largest UNIX vendor in the world right now...

    --
    Trolling is a art,