UNIX: Difference between revisions

m
cleanup {{Useful Notes}}
mNo edit summary
m (cleanup {{Useful Notes}})
Line 10:
UNIX was once considered unfriendly, terse and somewhat elitist, requiring expensive licensing and large, expensive minicomputers to run; now, almost all of UNIX's source code is freely licensed, and UNIX derivatives can be found on things as small as a smart phone <ref>three of the four major smart phone OSes -- Apple iOS, Google Android and HP/Palm webOS -- are UNIX variants</ref>, or as large as an IBM mainframe. It's also probably the only OS that came into existence specifically because a bored programmer wanted to play a game.
 
Science-fiction writer [[Neal Stephenson]] wrote of Unix, in his essay "In The Beginning Was The Command Line" in January 1999:
 
{{quote|"Windows 95 and [[Mac OS]] are products, contrived by engineers [[Money, Dear Boy|in the service of specific companies]]. Unix, by contrast, is not so much a product as it is a painstakingly compiled oral history of the hacker subculture. It is our [[The Epic of Gilgamesh|Gilgamesh epic]].}}
Line 24:
UNIX used to be trademarked by Bell Labs itself, but through several historical accidents it's now controlled by the Open Group, who publishes a "Single UNIX Specification" and grants use of the trademark to OSes that pass a verification suite based on the SUS.
 
A lot of tropes associated with UNIX from the start began here; Multics had long, [[Exactly What It Says on the Tin|self-explanatory]] commands with much shorter aliases, and UNIX generally just used the shorter forms (like ''ls'', ''cp'', etc.) directly. Back in those days, your terminal was very likely going to be a clunky old Teletype 33 printing terminal, and when the terminal was capable of about 10 ''characters'' per second, brevity counted. Also, the PDP-7 in particular didn't have much memory, and Multics' way of handling communications between running programs would have been massive overkill, so Ken and Dennis came up with "pipes", a feature even non-UNIX OSes like Windows NT use now.
 
== Portability, C and the Berkeley connection ==
 
Not long after the first edition of UNIX was published inside Bell Labs, Ken and Dennis started work on making the system portable. In the early 1970s, this was a big deal, since almost all OSes up to that point had been written specifically for the machine they were going to run on. The idea was to write most of the kernel in a higher-level language that could be "compiled" into code for different machines, then add small bits of machine-dependent code where needed to handle things like interrupts and memory. The language Dennis invented for the project was called "C", and after he and Brian Kernighan published a book on it, it became a hit outside Bell Labs and even outside the UNIX community (in fact, it's highly likely the Web browser you're reading this in has C or C++ code in it).
 
Once Unix was ported to C, Bell Labs started allowing researchers at universities to study its insides. Since the Bell System was still a regulated monopoly at the time, and thus couldn't sell computers or OSes, Bell Labs would give university computer science departments access to the UNIX source code for the cost of duplication once they signed a non-disclosure agreement. UNIX became very popular in operating systems classes after this. One class's notes (''Lions' Commentary on UNIX 6th Edition, with Source Code'', aka the ''Lions Book'') became a widely-bootlegged underground publication and [[Keep Circulating the Tapes|circulated]] for years this way due to both the Bell System's licensing strictures and the later UNIX Wars (see below); it was, finally, legally published in book form 20 years later, in 1996.
 
The college with the most influence by far, though, was the University of California at Berkeley, or just "Berkeley" for short. Berkeley's Computer Science Research Group added many new features to the UNIX system, eventually creating their own version of UNIX called the ''Berkeley Software Distribution'', or BSD. Among the many things they did were porting UNIX from the PDP-11 to the VAX (in the process, modernizing the way it handled virtual memory), adding networking support, improving the user input/output functions significantly, and generally cleaning things up. The icing on the cake was the licensing -- Berkeley put their changes under a license that allowed free distribution and modification. This meant that anyone with a Bell UNIX license could use BSD, and this also had bigger implications later on.
 
In the meantime, Bell Labs released what would be the last important version of "classic" UNIX, the 7th Edition (otherwise known as "Version 7" or "V7" to fans). V7 was considered by many [[Fanon Discontinuity|the last version of UNIX ever]], and through ports like Xenix found its way onto many machines not powerful enough to run BSD UNIX. There was also a full rewrite of V7 called "Minix", which aimed to help teach UNIX concepts (and, later, advanced concepts such as microkernels) to students and curious hackers that couldn't get a V7 license from Bell. This was many people's first introduction to UNIX concepts, and like BSD, it would have a huge influence later on.
Line 50:
In the meantime, the IBM PC and its clones were taking over the commercial market by storm, and [[Mac OS|the Mac]] was introducing people to a new way of working that many felt no one could touch. UNIX was in a state of disarray; most vendors had proprietary changes to their UNIX builds, none of which were compatible with the others, and porting software was becoming more difficult. This inspired some of the first standards for UNIX, promulgated by the POSIX working groups and by X/Open. Getting everyone to agree would be difficult, but as the PC became more and more powerful and Microsoft began talking about making a version of Windows to compete with UNIX, the impetus to cooperate grew. By the mid-1990s, UNIX International had been disbanded, and OSF stopped development on OSF/1 (leaving DEC to maintain their own branch, renamed "Tru64", for their Alpha machines); OSF merged with X/Open to form the aforementioned Open Group.
 
At Berkeley, a programmer by the name of Keith Bostic, inspired by Stallman's GNU Project (and Berkeley's own separation of their TCP/IP code in "Networking Release 1"), came up with a large project of his own: purge the BSD codebase of proprietary AT&T code to allow Berkeley-based startups to market it without licenses from AT&T. Involving almost all of the UCB Computer Science Research Group, the project was almost completely successful, with the results being released as "Networking Release 2" or "Net/2", and two "forks" soon emerged; "BSD/OS," from startup BSDi, and "386/BSD," a free software product from Berkeley hacker Bill Jolitz.
 
Eventually, AT&T decided to wash their hands of the whole thing, and spun off the UNIX group as UNIX System Laboratories (USL). In one final salvo before concluding the war, USL sued Berkeley and BSDi, claiming copyright infringement and restraint of trade. The possibility of a free UNIX appearing in the near future appeared dim.
 
In 1991, a programmer in Helsinki, Finland named Linus Torvalds, who was inspired by Minix <ref>and would later have a famous debate on [[UseNet]] with Tanenbaum on the merits of microkernels vs. Linux's older "monolithic" design</ref> posted his intent to build a "little" UNIX clone ([[Hilarious in Hindsight|which he intended to be "just a hobby" and "nothing big like GNU"]]) to Usenet, with some of the work already done. Others agreed to help, and by 1992 ''Linux'', as it was dubbed by one of Linus's helpers, was maturing quickly. Linus made the important decision to put the Linux kernel under the same license as GNU's tools and utilities, making it attractive to developers who appreciated GNU's stance. With commercial UNIX still expensive, and BSD's future unclear, Linux grew quickly, and by 1995 had reached version 1.0; already, there were several vendors offering "distributions" or fully-usable OSes based around Linus's kernel and GNU, with the UK-based Ubuntu currently being the most popular.
Line 79:
 
{{reflist}}
[[Category:Useful Notes]]
[[Category:How Video Game Specs Work]]
[[Category:UNIX]]
[[Category:Pages with comment tags]]