1.1. What Is UNIX? What Is Linux? A Little History

 <  Day Day Up  >  

When learning about the shells, you will find they are often associated with different versions of the UNIX/Linux operating systems. For example, the Bourne and Korn shells are associated with AT&T UNIX, the C shell with Berkeley UNIX, and the Bash shell with Linux. Before delving into the particulars of the shells , this section is provided to give you a little background information about the operating systems on which they reside.

1.1.1 A Little Bit About UNIX

UNIX is a multiuser, multitasking operating system initiated by Ken Thompson in 1969 at AT&T Bell Labs. UNIX was designed to allow a large number of programmers to access the computer at the same time, sharing its resources. It was to be simple and powerful, versatile and portable. It could run on computer systems ranging from microcomputers to super minicomputers and mainframes.

At the heart of UNIX is the kernel, a program loaded when the system boots. The kernel talks to the hardware and devices, schedules tasks , and manages memory and storage. Due to the spartan nature of UNIX, a large number of small simple tools and utilities were developed, and because these tools (commands) could be easily combined to perform a variety of larger tasks, UNIX quickly gained popularity. One of the most important utilities developed was the shell, a program that allows the user to communicate with the operating system. This book explores the features of the most prominent shells available today.

At first UNIX was adopted, at nominal cost, by scientific research institutions and universities and later spread to computer companies, government bodies, and manufacturing industries. In 1973, the U.S. Defense Advanced Research Projects Agency (DARPA) initiated a research program to develop a way to link computers together transparently across multiple networks using UNIX. This project, and the system of networks that emerged from the research, resulted in the birth of the Internet!

By the late 1970s many of the students who had pioneered and experimented with UNIX in college were now working in industry and demanded a switch to UNIX, claiming that it was the most suitable operating system for a sophisticated programming environment. Soon a large number of vendors , large and small, started marketing their own versions of UNIX, optimizing it for their individual computer architectures. The two most prominent versions of UNIX were System V from AT&T and BSD UNIX, which was derived from AT&T's version and developed at the University of California, Berkeley, in the early 1980s.

(To see a chart of the many different versions of UNIX, over 80 flavors, see www.ugu.com/sui/ugu/show?ugu.flavors.) With so many versions of UNIX, applications and tools running on one system often could not run on another without considerable time and energy spent in making them compatible. This lack of uniformity fueled the rhetoric of competing vendors to abandon UNIX and stay with the older, non-UNIX proprietary systems, such as VMS, that had proven to be more consistent and reliable.

It was time to standardize UNIX. A group of vendors got together and started the concept of " open systems," whereby those participating would agree to conform to certain standards and specifications. UNIX was chosen as the basis for the new concept. A company called X/Open was formed to define the open systems platform, and many organizations began using X/Open as a basis for system design. X/Open is now a part of The Open Group and continues to develop a Single UNIX Specification.

In early 1993, AT&T sold its UNIX System Laboratories to Novell. In 1995 Novell transferred the rights to the UNIX trademark and the specification (which subsequently became the Single UNIX Specification) to The Open Group (at the time X/Open), and sold SCO the UNIX system source code. Today UNIX-based systems are sold by a number of companies. The systems include Solaris from Sun Microsystems, HP-UX and Tru64 UNIX from Hewlett-Packard, and AIX from IBM. In addition there are many freely available UNIX and UNIX-compatible implementations , such as Linux, FreeBSD, and NetBSD.

1.1.2 Why Linux?

In 1991, Linus Torvalds, a Finnish college student, developed a UNIX-compatible operating system kernel at the University of Helsinki, Finland. It was designed to be UNIX on a PC. Although Linux mimics UNIX System V and BSD UNIX, it is not derived from licensed source code. Rather, it was developed independently by a group of developers from all over the world who were informally allied through the Internet.

For many, Linux offers an alternative to proprietary UNIX and Windows operating systems, and a large Linux culture has evolved sponsoring consortiums, conventions, expos, newsgroups, and publications in a new revolution to rival Windows' dominance in the PC world. With the help of many system programmers and developers, Linux has grown into today's full-fledged UNIX-compatible operating system, with upward of 20 million users. The current full-featured version is 2.6 (released December 2003) and development continues. Linux is distributed by a number of commercial and noncommercial organizations that provide enhancement to the kernel of the operating system, some examples being Red Hat, Slackware, Mandrake, Turbo, and SuSE Linux.

You may have noticed a penguin associated with Linux. The penguin is the official Linux mascot, called Tux, selected by Linus Torvalds to represent the image he associates with the operating system.

The Free Software Foundation

In 1992, the Free Software Foundation added its GNU (GNU is a recursive acronym "GNU's Not UNIX" ) software to the Linux kernel to make a complete operating system, and licensed the Linux source code under its General Public License, making it freely available to everyone. Hundreds of GNU utilities were provided by the Free Software Foundation, including improvements to the standard UNIX Bourne shell.

The GNU tools, such as grep , sed , and gawk , are similar to their UNIX namesakes, but have also been improved and designed for POSIX [1] compliancy. When you install Linux, you will have access to the GNU shells and tools, not the standard UNIX shells and tools. And if you are using a traditional UNIX system, such as Sun's Solaris 5.9, you will also have access to many of these tools, including the GNU shells.

[1] The requirements for shell functionality are defined by the POSIX (Portable Operating System Interface) standard, POSIX 1003.2.

 <  Day Day Up  >  


UNIX Shells by Example
UNIX Shells by Example (4th Edition)
ISBN: 013147572X
EAN: 2147483647
Year: 2004
Pages: 454
Authors: Ellie Quigley

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net