20 February 2006

Milestones: Unix (3)

Part 1, 2

Disclaimer: these are notes of a student on the subject, and not an expert. For expert information, please see sources at end of entry.

We've discussed the emergence of Unix as an unusual case of an operating system used on a vast range of differently-sized machines, from servers and supercomputers to entry-level workstations. Today, of course, the most common Unix platform is the Intel-based desktop, running Linux. I'm going to be writing a lot about Linux in the future, but I wanted to discuss the effects of "post-war" Unix.

Single Unix Specification
For a history of the battles over the Unix standard, I recommend this page from the Open Group's website. Hereafter, I am going to refrain from further discussion of the history of Unix and turn to what it has become. Unix can be understood as four distinct things:

  1. a specification (e.g. SVID)
  2. technology (e.g. SVR4)
  3. a product(e.g. UNIXWare)
  4. a registered trademark (UNIX)
The specification is now established by IEEE guidelines, and tied to the trademark—thereby regulating what Unix is. This was not merely a design issue, in which the best possible compromise between competing Unix softwares was selected by engineers; rather, it involved distinguishing what was essential to all implementations, and what represented competitive differentiation. The one thing the specification could not do is restrict the technology, since of course this is supposed to be moving forward; the example given, of SVR4, was in fact a particular technological implementation of the specification by a particular vendor circa 1989, and of course has long since been superseded.

The product was a form of technological implementation, which involved trade-offs and design inputs by the vendor.
Like all operating systems, understanding what Unix actually is means including its minimum components. These include:
  1. the kernel
  2. the shells
  3. the file system
  4. the development environment
  5. the system commands
  6. the utilities
  7. the documentation
(In some cases #3 & 4 are combined).

I'm not going to discuss documentation because I think that's self-evident; I'll just mention in passing that every single Unix command includes a man page that explains what the command does. Unix pioneered digital documentation of its commands; later, MS-DOS replicated this with the elegant /? switch that one may type after a command to get a description of what it does. Unix also features the much more detailed doc command, used for explaining much bigger subsystems. Again, all documentation is integral to the actual OS.
RESOURCES: The Open Group: "The Single Unix Specification"; The Open Group Base Specifications Issue 6; IBM, et. al., General Programming Concepts: Writing and Debugging Programs (1999);

BOOKS: UNIX: the Complete Reference, by Kenneth Rosen, Douglas Host, James Farber, & Richard Rosinski—Tata McGraw-Hill edition 2002

Labels: ,


Post a Comment

<< Home