UNIX The Famous Unknown Operating System
74
The UNIX operating system is probably the most famous set of computer instructions in the world that most people have never heard of. For decades, computers have been quietly running in the background of the every day lives of millions of people, connecting their phone calls, sorting product catalogs, keeping the databases of retail warehouses up to date, and like the mechanical innards of the average dishwashing machine, the details of how those computers are able to do the amazing things they accomplish has been left to the realm of what most people believe to be trivia.
However, for those who are aware of what UNIX is, and why it is important, the details are not considered trivia: not even in the slightest. The people who take the time to understand the "why" of the UNIX operating system become aware that UNIX is much more than a simple set of computer instructions. A simple set of instructions would not engender widespread discussion of the "UNIX way" of doing things. Trivia rarely forms the basis for the establishment of a worldwide community very similar to those that form around certain musical forms or composers. Technological cynics often refer to projects they don't understand as "answers in search of a question." UNIX can be said to be both the answer and the question, and further, a body of knowledge generated by some of the most brilliant scientists, academicians and engineers for nearly the past 50 years.The technical details of the UNIX system are almost as simple as some of the basic "philosophies" of the operating system and the people who use it to do real work. First and foremost, UNIX was designed as a "portable" operating system. In the 1970s, many operating systems were dependent on the hardware they were developed on. Certain operating systems took advantage of some of the features of their hardware, and some of these made use of programming languages known as "assemblers" which generated machine code specific to a certain processor. But UNIX, because it was developed in C, could be "built" for any hardware as long as there was a C compiler for it. This meant that UNIX could be installed on a very large number of commercially available computers, which made it extraordinarily popular, especially with business and government. Secondly, UNIX is "multi-tasking." UNIX systems manage a number of "processes" each of which is given a certain quota of processor time to do their work. Everything that happens on a UNIX system is a process, even the various parts of the operating system itself. This is different than some earlier computer systems which could only run one process at a time, leaving all of the others in a sort of limbo until the current process was completed. Without multi-tasking, modern personal computers would simply not exist in anything even remotely resembling their current form, and neither would the Internet. Third, UNIX is a "multi-user" system. The ramifications of having multiple users on a computer system has influenced computers and their development for almost as long as logic circuits have existed, but UNIX brought the concept of "sharing" system resources to computers. The growth of that philosophy has brought the technology community such things as open source software, most of the systems that run the current Internet, especially e-mail, and a huge variety of utilities and applications developed through the use of collaborative tools.UNIX is as much a community as it is anything else, and in that, it is at least somewhat unique. UNIX also breaks a lot of potentially very technical, detailed and confusing concepts down into simple system "axioms." For example, UNIX developers are very fond of saying "in UNIX, everything is a file." This may sound sort of abstract until about the mid-point of learning to develop UNIX programs, when it becomes clear how powerful sockets and inter-process communication becomes when all of the UNIX file tools can be used to facilitate faster and more efficient movement of data.Another favorite axiom is "in UNIX, everything is text or binary." Again, this might sound either obvious or abstract depending on how well the listener understands computers, but the more one works at a command prompt, the more one begins to realize that there are literally hundreds of UNIX utilities which are designed to make it easier to work with plain ASCII text. When confronted with a 2GB web server log file, or 15,000 files of C source code, many UNIX users consider themselves fortunate to have such tools. More veteran users realize that the developers planned for the answer to precede the question all along. In part two of this series, in addition to UNIX, we'll take a look at the C programming language, which many consider to be the egg to the UNIX chicken. C has a number of its own "axioms" and is the equal of UNIX for power and simplicity, if not effortless ease of use. UNIX and C are very much like the game of chess. They appear to be very simple at first glance, but it is in their simplicity that they conceal enormous power and benefit.Share it! — Rate it: up down [flag this hub]


FinancePortal says:
3 months ago
Thanks for taking the time to write this - this is a really great introduction to what UNIX is and the design philosophy behind it.