Unix Turns 40 254
wandazulu writes "Forty years ago this summer, Ken Thompson sat down and wrote a small operating system that would eventually be called Unix. An article at ComputerWorld describes the history, present, and future of what could arguably be called the most important operating system of them all. 'Thompson and a colleague, Dennis Ritchie, had been feeling adrift since Bell Labs had withdrawn earlier in the year from a troubled project to develop a time-sharing system called Multics (Multiplexed Information and Computing Service). They had no desire to stick with any of the batch operating systems that predominated at the time, nor did they want to reinvent Multics, which they saw as grotesque and unwieldy. After batting around some ideas for a new system, Thompson wrote the first version of Unix, which the pair would continue to develop over the next several years with the help of colleagues Doug McIlroy, Joe Ossanna and Rudd Canaday.'"
But life is just getting started... (Score:2, Informative)
Re:Did they invent C too? (Score:5, Informative)
Re:And to celebrate, it issued the command: (Score:3, Informative)
A Quarter Century of Unix, the Book (Score:5, Informative)
Re:Did they invent C too? (Score:5, Informative)
Re:Wow! (Score:5, Informative)
Re:Wow! (Score:1, Informative)
Re:Did they invent C too? (Score:5, Informative)
I really, really want to say that Ken and Dennis invented C to make unix but I'm not completely sure. I could look it up, but I'm interested to hear what people have to say here. I mean, they're the K&R of the original C book, right?
No. The 'R' in "K&R" is indeed Dennis Ritchie, but the 'K' is Brian Kernighan.
Re:exaggeration about Minix... (Score:5, Informative)
It's a load of horseshit, as Linus has repeatedly explained. Linux is not based on Minix. The architecture of the two kernels is completely dissimilar, and Linus has many times made his feelings known about what he thinks of microkernels.
Re:Did they invent C too? (Score:3, Informative)
Re:Did they invent C too? (Score:4, Informative)
Not exactly. RTFA. Unix was originally written in assembler on a PDP-7 in 1969. Thompson developed B, and some Unix development continued using B on the PDP-7. Ritchie developed a successor, C, finishing in 1972; in 1973 Thompson ported most of the Unix kernel to C on a PDP-11.
So C wasn't developed to "create" Unix; Unix was a precursor. C was indeed designed for implementing system software though.
Brian Kernighan -- the K of K&R got involved in C development later, and was indeed one of the two authors of the seminal K&R.
Re:40 and still relevant (Score:5, Informative)
Re:40 and still relevant (Score:5, Informative)
What do you think it means? OS X is certified (by the Open Group) UNIX, and it owns 8% of the desktop market. That's a lot of UNIX machines. Yes, other UNIX OSes dominate on the server (where OS X has no foothold at all), but I doubt there are as many server machines as there are client machines in general.
Re:Did they invent C too? (Score:5, Informative)
Re:40 and still relevant (Score:2, Informative)
Let's answer two ways that could be taken... No, I didn't mean Mac OS X is 40, my grammar radar missed that possible interpretation. (Though being a hereditary Unix through NeXT, BSD4.4 and back, it could be considered such)
By any measure I have seen in the past 5 years, Mac OS X continually shows market penetration 5-8+ times that of Linux, compared to which any other Unix system usage can mostly be considered statistical noise.
That's not to say they don't have relevance or followers, but when it comes to getting the average user putting their hands on a Unix or Unix-like system, no other compares to Mac OS X, and that's not even counting embedded usage like the iPhone and iPod Touch.
Re:This makes Unix 15 years older than Tetris (Score:3, Informative)
Re:Did they invent C too? (Score:4, Informative)
Then Dennis and Brian worked on a truly warped version of Pascal, called 'A'. When we found others were actually trying to create real programs with A, we quickly added additional cryptic features and evolved into B, BCPL and finally C.'
I cannot believe Ken Thompson wrote this nonsense.
B was derived from BCPL, which was a simplified version of the CPL language, designed at Cambridge and London Universities in the mid-60s. It was too complex to implement at that time, hence BCPL (Basic CPL).
B was very much like BCPL except that it used { } to define blocks, instead of (* and *).
AND, the original article (and the one above) promulgate the canard that Multics was unsuccessful and unwieldy.
In terms of influence on other OS's Multics was probably THE most important OS in history.
And an absolute joy to work with. Hence the original intention of Unics (the original spelling) to be cryptic and confusing - the exact OPPOSITE of Multics.
Re:Worth thinking about (Score:0, Informative)
-1, lives in hippie fantasy land.
I think you're forgetting that people had to pay AT&T, a bigger monopoly in its time than IBM and Microsoft combined, for a Unix source license and that they would to Very Bad Things to you if you broke that license. You're also forgetting Sun, HP, DEC, Apollo, and a host of other Unix vendors who were not at all about sharing freely or cooperating. (Granted, they're all dead now or nearly so.)
Your words are poetic but largely revisionist bullshit.
Re:And to celebrate, it issued the command: (Score:3, Informative)
Bah. Your command would fail. You need to escape the splat just like the semicolon:
Not necessarily. It depends on whether there are files/directories in the current directory that start with the string "kids" (and your shell's globbing rules). If there aren't, then everything works find. If there's only one, things might seem to work, but files/directories in subdirectories will not be found (and therefore removed).
find my_lawn -name kids\* | xargs rm -rvf
Which will break if you have spaces or tabs or newlines etc. in your filenames. Use this instead (I hope you have a reasonable version of find and xargs):
find my_lawn -name kids\* -print0 | xargs -0 -r rm -rvf
Re:What came before? (Score:3, Informative)
UNIX was the first portable operating system. Previous operating systems were done in assembly (as was the original PDP-7 version of UNIX {or UNICS, to be precise}). In order to do that, a new language was needed. So UNIX begat C.
Pipes, pumping output from one program into another program, comes from UNIX.
Not pretending to know better than the user what the user wants. That's why a ls -a in the home directory gives newbies heart attacks :)
The open nature of UNIX development let the guys at UCB make BSD and make all kinds of new stuff, demonstrating that open source could be a big win for innovation.
UNIX is older than me by a few years, but this is just stuff that I've learned over the years.
Re:Wow! (Score:2, Informative)
Re:Worth thinking about (Score:3, Informative)
RMS had never even used UNIX when he started the GNU project: he was an ITS & Lisp hacker.
Re:Worth thinking about (Score:4, Informative)
You are correct (Score:4, Informative)
Re:glad GNU/Linux & BSD have stolen Unix(tm) t (Score:3, Informative)
SunOS stopped including one by default. You had to purchase it. Solaris has always been that way (IIRC) until SunStudio 11 was made available for free. HP-UX stopped with version 9.x.
Luckily, gcc was good enough by this time and you could obtain it at a reasonable price from the FSF.
Linux and the BSDs came out and started getting good enough to displace the other OSen.
Re:Windows has more and more Unix features (Score:3, Informative)
Re:Windows has more and more Unix features (Score:2, Informative)
There were several bad habits that Seattle Computing retained from CP/M; many of these bad habits came in turn from DEC operating systems. The very worst of them was the CRLF convention for ending lines. Another one, not so problematic in itself, was the convention of marking command switches with slashes instead of hyphens.
MS-DOS did not pick up its Unix-like features until version 2. Did Microsoft get it right? No! They retained / as a switch character and gave us the brain-dead convention of using a backslash as a path separator. They kept the two-byte line-ending convention. Even though they made it so that you could access the device files with names like \dev\con, you still couldn't use con, aux, lpt1, and prn as the names of normal files.
They have a talent for retaining the wrong things and adding more bad things to the bad things they already have. Look at Windows registry files: UTF-16 (not UTF-8) encoding, escaped backslashes in directory names, and CRLF's for line endings.
Forty years of Unix and less garbage than 29 years of Windows.
Alice in UNIXland (Re:Worth thinking about) (Score:1, Informative)
Good grief, what a load of nonsense. May I refer you to the original Alice in UNIXland? Just as accurate today as is was two decades ago; all that it would take to update it is to substitute in a few names.
Re:Wow! (Score:4, Informative)
Re:Windows has more and more Unix features (Score:3, Informative)