UNIX is a preemptive multitasking operating system, which is a term that itself warrants a definition. The best way to understand this term is to understand its parts:
multitasking refers to the ability of a computer to handle more than one task at a time. For example, most home computers today can load a web page in Netscape while the user plays a card game in another window. At that moment, the computer would be multitasking.
preemptive is simply a term placed in front of "multitasking" to stress the idea that a computer is VERY capable of doing multiple tasks at once. Computers which are capable of "preemptive multitasking" are generally more powerful than those which are simple "multitasking" computers. For example, a multitasking computer, which is most home computers, can handle several small system tasks and just a few major user tasks at once before the computer seems to slow down, but a preemptive multitasking computer can handle several minor system tasks and a very large number of major user tasks without ever seeming to slow down. ("System tasks" are things the computer does just to keep itself organized. "User tasks" are things which the user causes the machine to do, such as running Netscape.) Preemptive multitasking computers are also capable of doing disk operations, such as loading a file or formatting a floppy disk, while doing other tasks, such as playing a card game, which is a feat most multitasking computers are not able to do.
operating system is the software which controlls a computer's resources and manages the computer's tasks. A computer's operating system will arrange and organize its files, keep track of memory resources, coordinate the use of the computer's main processor, and provide an interface for the user to interact with the computer. This is quite a large job, which is why most often, the operating system is the largest piece of software a computer will have on its disk. There are, of course, several different types of operating systems such as Macintosh OS, Windows 95/NT, and of course, UNIX.
When an operating system is called a "preemptive multitasking operating system," it means that the computer is able to have all the coolest super-multitasking powers as a result of how the operating system is designed. As a rule, most computers are powerful enough to handle preemptive multitasking, at least those made since the mid-1980s, but usually these computers don't have that ability because of the limitations of their operating systems. It should be also noted that "preemptive multitasking" is an elusive goal for many operating systems, as very few are able to achieve this ability, Some companies claim their system is preemptive multitasking, when it is really not.
All this being said, UNIX is an operating system that is actually capable of being preemptive multitasking. In fact, it is commonly believed by most avid computer users that UNIX is the operating system which is most able to handle preemptive multitasking (and this is most likely true.). More will be said about this fact in the What Makes UNIX Special? section.
UNIX depends largely on a "command line interface" system, which means the user is given a command prompt. and must enter a text command telling the computer what to do. These commands are actually names of small programs which perform certain specific functions. For example, entering "ls" invokes the "ls" program which lists the file names in the current directory.. This command-line environment is called a "shell," which is the translator between the user and the operating system. There are several different kinds of UNIX shells, which we will discuss below.
One common myth is that UNIX is limited to only a shell environment, but this is basically untrue. There have been several "windowing" programs developed for UNIX, whose job is essentially to create a Windows/Mac-type graphic environment where almost everything can be achieved via pointing-and-clicking. The most popular of these programs is called "XWindows." This windowing system is certainly "prettier" and more intuitative than the plain, cryptic text-only shell, but it is much slower because of all the graphics-requirements, and the user will have to refer back to a shell many times for essential operations which cannot be done through the windowing system.
UNIX is not like Windows, where there is one major version which is the "official" version. Because of its history as a freeware system, UNIX has been free for development by several different people. For this reason, over the years, "UNIX" has come to describe the scores and scores of operating systems which are based on the original model of UNIX. There is no one UNIX, there are scores of different versions of the same UNIX ideal. Here are some examples, along with the companies that make them:
|NetBSD, Free BSD||Freeware, various authors|
|Linux||Red Hat Software, SlackWare, many more*|
Because the variety of UNIX systems, there are different shell programs. These types include the C shell, the Bash shell and the Korn shell.
Among the different shells and UNIX products, there are subtle differences in operation, but by and large, these systems generally work the same. Once you have experience with one form of UNIX, moving to a different shell or system will be easy. Therefore, hereafter, we will use "UNIX" to mean "all forms of UNIX-based systems."
This site was created especially for students of the UNC School of Journalism's
JOMC 050 Class, and anyone else who may be interested.
For more information, please firstname.lastname@example.org