High-Performance Networking Unleashed

Previous chapterNext chapterContents


- 20 -

UNIX/Linux

by Frank C. Pappas and Emil Rensing

In recent years, the rise in both popularity and performance of Windows and Macintosh networking products has irrevocably altered the role of UNIX in the world of corporate information systems. UNIX is no longer the de facto standard for the technology workplace, and the question of "Why UNIX?" has been transformed into more than simply an issue of satisfying the needs of demanding users, penny-pinching bosses, or technical neophytes. More to the point, the battle over enterprise-wide network operating system (NOS) solutions has been elevated to a quasi-religion, in which the believers--on both sides of the aisle--eagerly await any opportunity to reshape the opinions of "nonbelievers." This is especially the case among UNIX devotees, whose passion for UNIX (and disdain for Windows) is readily apparent in the jobs they accept, the recommendations they offer to management, and in the opinions they espouse on Usenet, in the media, and at industry conventions worldwide. It's important to understand why so many people have such strong and differing opinions when it comes to the UNIX versus Windows versus Mac debate, because it's anything but a simple issue.

Why Use UNIX?

First and foremost, UNIX is an incredibly powerful, flexible, and dynamic operating system, capable of handling almost any task that you care to throw at it. System administrators and programmers love it because it offers a wide array of avenues through which to address most Information Technology problems, including an obscene amount of processing power, renowned stability and reliability, powerful automation and scripting, and support for a variety of popular (and not-so-popular) programming languages.

After all is said and done, however, you're left with the big question: Why should you select UNIX as the NOS of choice for your organization?

This chapter takes a good, hard look at the question of "Why UNIX?" Specifically, the topics covered are the history and evolution of the UNIX OS, why it has become increasingly popular over the years (especially with the explosion of Internet services), and the various areas in which UNIX most often beats the pants off the competition. Finally, the chapter presents an overview of the six most popular "flavors" of UNIX currently in use around the world, complete with information on system-specific hardware and software requirements, where to find more information, and how to bring UNIX solutions to fruition.

The History of UNIX

With its development pre-dating even the earliest versions of Microsoft Windows and Apple's MacOS, the beginnings of UNIX can be traced back to the early 1960s and a computing project spearheaded by AT&T's Bell Labs. Working in cooperation with a consortium of leading technology R&D firms, the goal of AT&T's project was to develop Multics, an operating system capable of providing a powerful, robust, and reliable computing environment for large-scale deployment in communities throughout the United States. The creation of Multics was anything but an altruistic move on AT&T's part because the motive behind the project was to gain a monopoly in the computer services arena, similar to the regional monopolies enjoyed by AT&T in the telecommunications industry at the time. However, in mid-1969, Bell Labs terminated its support for the Multics project, which for a time left the development of such grand computing services with an uncertain future.

Drawing on the invaluable experience gained from their participation in the Multics project, a number of individuals within AT&T were determined to continue the development of a powerful operating system that could handle large-scale computing problems with ease. After they designed a workable file system that was first ported to the PDP-7 platform, the earliest version of UNIX began to earn marked support from within the ranks at AT&T. It became more popular when, following further development, it was ported to newer, more powerful hardware and successfully tackled the automation of a number of important functions within the company. However, despite the many accomplishments of the system, it was still bulky, unwieldy, and difficult to maintain, which left its designers, administrators, and users yearning for something more.

UNIX Begins to Evolve

AT&T would not have to wait very long for the radical shift in technology that would allow UNIX to be simultaneously made more efficient as well as more powerful. Only a few years after the second port of UNIX to a PDP-11 system, that "something" would take the form of the C programming language. With the introduction of C in the early 1970s--following a number of variants that pre-dated the "official" language--C was chosen by the architects of UNIX as the ideal way to solve a number of the nagging problems inherent in their initial design. With a complete rebuild utilizing the advanced resources of C, UNIX took a number of major steps toward becoming the premiere operating system for handling large-scale computing needs in business, academia, and government, especially because the new C-code foundation for UNIX brought the OS out of the proprietary age into the world of open standards.

Licenses were increasingly granted to universities at little or no cost, and the domination of UNIX was simply limited by how fast administrators could obtain the distributions and install them on their systems. By the late 1970s, the first commercial versions of UNIX were made available to the public, and UNIX began to infiltrate the world of business computing with systems deployed throughout corporate America at a breakneck pace.

Standards and Practices

As developers began to unleash a dizzying array of UNIX variants--not necessarily sporting even remotely similar levels of functionality--it quickly became apparent that a serious, official effort was needed to control the development of standards and features that would minimally define a system as a member of the UNIX family. After all, with the core strengths of UNIX residing in its unique combination of open standards and a common command set, the many dissimilar versions that had begun to pepper the market in the late 70s and early 80s were doing great harm to the uniformity of the UNIX crusade.

As the final arbiter of what is (and isn't) officially part of the UNIX game plan, the Institute of Electrical and Electronic Engineers (IEEE) established two committees that are responsible for regulating the development of the UNIX operating system and supporting software products. As the first of the two committees, POSIX.1 is tasked with maintaining a standardized C library interface for UNIX, so that developers (and users) can be assured that there will be a fairly reliable degree of portability among UNIX flavors for any particular program developed in C. The second of the committees, named (strangely enough) POSIX.2, is responsible for the front-end portion of UNIX, making sure that a basic command set exists that is native to all versions of the operating system, despite any particular eccentricities or proprietary features introduced by the various vendors. Despite this seemingly impossible job, the IEEE's POSIX committees have done a fairly thorough job at maintaining high degrees of compatibility between the different implementations of UNIX, with the features and performance of DEC UNIX, Linux, Solaris, SCO, and others significantly resembling one another.

Where UNIX Excels

Over the course of the past three decades, countless thousands of hours of blood, sweat, and code have been poured into the development of the UNIX operating system. After such a Herculean effort, one that is still in progress even today, you'd expect that UNIX would be able to perform far above the competition in a number of areas central to the field of networked computing. And you'd be right. Not only is UNIX a phenomenal choice to handle traditional corporate computing needs, but it has also risen to the task of providing superior solutions for Internet-based needs, including Web, Telnet, FTP, database access, and more! Because UNIX was designed to handle high usage loads and to integrate without much hassle into a networked environment, it almost always outperforms any other platform/OS combo attempting to perform such services.

But what, specifically, does UNIX do so extraordinarily? Three areas that really highlight the strength of the UNIX OS are closed TCP/IP networking, Internet and intranet services, and database manipulation. The next few sections cover these three areas briefly, touching on the main points and features of each.

Closed TCP/IP Networking

From the earliest days, UNIX was, has been, and forever shall be a network operating system. Unlike Windows and Mac, which evolved over time to include certain successful networking features, the foundation of everything that UNIX does relies on its ability to network speedily and efficiently. In order to understand the UNIX networking environment, you'll need to be familiar with the following six points.

Point One: TCP/IP or Bust

As you'll recall from earlier chapters, a variety of protocols can be used to join a group of computers together in a network. Although UNIX is able to easily and efficiently handle a number of different protocols in certain situations, the single most important pair of protocols to the success of UNIX-based networking is most certainly the combination of the Transmission Control Protocol (TCP) and the Internet Protocol (IP), most often referenced jointly as TCP/IP.

A UNIX system is wholly dependent upon TCP/IP to maintain its connectivity with the various hosts, workstations, and remote users who will want to access the system at any given time. You'll remember from your previous reading that IP has the ultimate responsibility for transferring data from one machine to another, TCP is the virtual traffic cop who makes sure that there's an available, safe route to get your information from bungo.flyingmonkey.org to rango.fojfo.com. And because TCP/IP connections are uniquely identifiable by virtue of their CLIENT[IP:PORT]/HOST[IP:PORT] values, the capacity exists for multiple simultaneous connections, given enough bandwidth and available memory.

Point Two: TCP User Services

Included among the UNIX bag of tricks are a variety of services designed to enhance the usefulness of the UNIX networking environment for users and administrators alike. After all, while TCP/IP is all well and good, it doesn't do anyone any good if the power of TCP/IP can't easily be harnessed and directed by the user. Two of the three most common UNIX services will be familiar to just about anyone who has ever logged onto a UNIX box in the past, namely Telnet and FTP. The third service, DNS (Domain Name Service) is geared toward system administrators and operators.

Telnet is a special communications service that allows a user to remotely connect to a machine, that is, they do not have to be physically present at the console to execute commands, check mail, administer servers, and so on.

FTP similarly allows users to remotely connect to certain machines, although instead of being able to execute the full array of shell commands, the users are limited to either sending or receiving one or more files.

Point Three: Administration Tools and Daemons

Administrators responsible for the maintenance and performance of UNIX machines are provided with a wide range of utilities to automate the most common and complex tasks generally encountered when dealing with the UNIX environment. Of this class of tools, network daemons--a special groups of processes that run silently in the background--assist the administrator by managing everything from routing, logging, and time synchronization to SMTP mail transmissions, talk requests, performance monitoring, and much, much more. UNIX really shines in this area, especially considering that neither Windows nor MacOS-based systems come with anything more than the simplest of network management tools, with large outlays of cash necessary to purchase comparable third-party network software packages.

Point Four: The UNIX Network File System

Of the many duties and responsibilities that a network administrator will face during the course of his employment, one of the most critical deals with maintaining a workable, secure, and reliable file system, ensuring the integrity of both system and user data.

UNIX once again far outpaces the competition in the file system arena (with the possible exception of WinNT's NTFS) with its Network File System, generally referred to as NFS. NFS is geared to allow administrators to quickly and easily construct a complete file system using all or part of local and, more impressively, remote directory trees, including directories residing on machines not necessarily running the UNIX OS. This gives the system administrator a great deal of flexibility because he is empowered to create file systems that don't strictly mimic the distribution of files physically on a given series of partitions. In this way, the administrator can tailor specific file systems to meet the special needs of various user groups, applications, or other processes, without having to purchase, configure, and maintain separate physical resources for various services.

Point Five: NIS and System Security

Once you've passed the initial steps of installing and configuring your UNIX network--or have decided that now is a good time to re-examine your existing network configuration--one of the most vital issues that you'll need to address is network security. As a fairly secure system--though not necessarily sporting the security certifications featured by other operating systems--the UNIX security system is of little use if improperly configured or simply misused.

The UNIX NIS is comprised of a series of administration utilities, daemons, and database tools that are designed to streamline the maintenance and optimization of multiple-host UNIX networks. NIS functions very much like the User Administrator for Domains in Windows NT, conceptually at any rate, in that UNIX NIS allows the system administrator to consolidate a number of security-critical files from two or more UNIX hosts into a centrally hosted security database, to which all future requests involving security information are passed. This is an extraordinarily useful feature for two main reasons. First, with all security information residing on one physical machine, you can keep close physical and electronic watch for illegal or otherwise unauthorized console or remote access. Second, because all changes to security information are written to the central NIS database, they are instantaneously available to all machines (NIS clients) validating logins and other requests against the NIS database (NIS host). This can potentially save the system administrator a lot of time, frustration, and record-keeping because he will no longer have to review and update the security information on all his machines following each employee termination, layoff, transfer, or resignation.


The files controlled by NIS are: passwd, group, hosts, ethers, networks, rcp, services, protocols, netgroup, bootparams, aliases, publickey, netid, netmasks, c2secure, timezone, auto.master, and auto.home.

Point Six: Resources for Troubleshooting the Network

As every experienced system administrator knows, Murphy's Law is about the only constant in the universe: If something can go wrong with your network, chances are it probably will. Generally, your network will fail horribly at one of three times: two o'clock in the morning; when vendors are back-ordered for the specific part of which you're in dire need; or when the security pad and physical lock to your network operations center have died and you can't even gain access to your machines. Unfortunately, the network diagnostic tools that accompany most UNIX distributions can't do much to combat these types of problems, but they can and do assist in resolving many common and not-so-common problems that tend to afflict TCP/IP networks. There are seven main tools (in addition to many third-party products) that can help you isolate specific problems and get you back on track in the event a network segment fails, an Ethernet card croaks, or a remote host goes down, which are illustrated in Table 20.1.

Table 20.1. UNIX-TCP/IP network troubleshooting tools.

Tool Name Description
ifconfig This command will report on the currently configured interfaces that are installed in a particular machine. Additionally, ifconfig will allow you to update the configuration of the interface if you believe it to be erroneous.
netstat Netstat offers four very important diagnostic command options, -I (interface), -r (route), -a (connection), and -s (statistics). -I will report with a concise chart of the current interface status, with special attention to inbound and outbound packets, collisions, and errors. -r will display the current routing table, along with flags detailing the current status of each particular route. -a will provide current connection status on a port-by-port basis. -s varies slightly based on the vendor, but generally provides a fairly comprehensive breakdown of almost every conceivable (and measurable) value relating to the
TCP/IP functions of the network.

nfsstat nsfstat aids the administrator in isolating performance problems that may be the result of a degraded, dying, or improperly configured NFS system.
arp arp will dump the current contents of the address resolution protocol cache to <STDOUT>. This information will allow you to confirm that each Ethernet address is properly associated with the correct IP address.
Ping Ping can be an excellent tool to use when you are either unable or sporadically unable to reach a particular host. Ping will confirm that the remote machine is, in fact, responding to requests, and that there is a valid, functional route from your machine to the server.
Traceroute Traceroute is a handy ask-and-answer utility that will query each hop (router, gateway, host, and so on) between two IP addresses to identify themselves. In this fashion, you can quickly learn if your problems are local, at an ISP, or somewhere at the host destination.
Snoop Snoop is a last resort. Running Snoop will switch the NIC over to promiscuous mode, allowing the NIC to listen to (and analyze) all traffic that passes by on the network. This has some serious security implications attached to it, so be sure to check with your boss before you start snooping around.

Internet/Intranet

The second area in which UNIX has performed spectacularly is in providing both Internet and intranet services to large volumes of users through the Hypertext Transfer Protocol (HTTP). Due to the initially unprecedented (and now standard) growth in the online user community, everyone from college students to museums, corporations, and government agencies have tried to make as much information as possible available by the Internet. Most often, this information is available on the World Wide Web (WWW), the part of the Internet best suited for the simultaneous delivery of audio, video, and text files. Of course, information is still occasionally accessed through Telnet, FTP, and Gopher servers, though these delivery mechanisms have taken a back seat to the flashy, user-friendly nature of the Web.

UNIX has prospered as a Web platform for a number of reasons, primarily because the hardware configurations generally far outperform their Windows or MacOS competition when providing Web services. Additionally, for the largest of corporations seeking a Net presence, UNIX was more than likely already entrenched in their information services department, and it was a familiar platform on which to develop products for the Web.

What's more, the third-party software available for the UNIX operating system is exceedingly powerful and robust, which is a very enticing factor that usually sways companies away from the less powerful, limited applications available for Apple and Microsoft operating systems. From database systems to ad delivery and discussion software, virtually any service that can be run on Windows or MacOS can be accomplished with more versatility, increased speed, and can handle higher numbers of concurrent users when run under UNIX.

Database

Despite the fact that software vendors are constantly releasing new and impressive software for the Windows, Mac, and PowerPC platforms, the odds are that you'll be hard pressed to find a suitable enterprise-wide solution to your database needs among these offerings. Now, this may not necessarily be a bad thing, because the high-end database systems that run under UNIX are both extremely powerful and prohibitively expensive, meaning that if you or your company can't quite afford the software and the hardware for the UNIX solution, your computing needs probably don't require such blazing speed and flexibility.

However, for those of you who have access to the company till and do, in fact, have a need for the latest and greatest of the modern database systems, there are a number of companies that can provide excellent solutions, often tailored to meet your specific needs courtesy of on-site representatives.

Here are some resources you can use as a starting point:

Flavors of UNIX

The rise in popularity of UNIX as a server and workstation operating system has led to the need for UNIX to run on a variety of hardware platforms. Many large corporations and universities as well as smaller companies and personal users wanted to run UNIX on their existing hardware. From that need, several flavors of UNIX, all with the same core features, same core command set, same development tools, and extremely efficient, integrated networking capabilities were developed to run on a variety of hardware platforms--from the Motorola 68000 series processors found in some older Apple and Atari computers to MIPS processors found in today's high-end Silicon Graphics workstations and servers. In fact, it's safe to say that there is a version of UNIX that will run on any major, modern hardware platform, which makes UNIX a perfect choice for small LANs to huge, global WANs.

As an upgrade strategy for hardware and software platforms, UNIX is also an excellent choice. To say nothing of the portability of code and the breadth of applications available for different UNIX systems as discussed earlier in the chapter, the integrated networking features make UNIX an excellent entry-level and professional operating system solution. As your network infrastructure grows and upgrades to new and better technologies, integrating new protocols and hardware devices into your servers and workstations in a UNIX environment will prove to be an uncomplicated task (depending on the availability of the physical hardware devices, of course) that will deliver unparalleled networking performance. From 14.4Kbps modem dial-up networking to dedicated data services over T-1 lines, it is almost always faster on UNIX, regardless of the flavor.

UNIX for Free?

For those of you on a budget, several low-cost (free) versions of UNIX-like operating systems are available. They are referred to as UNIX-like simply because they are not fully POSIX- compliant; however, they do have all the features you would expect in a modern, fully functional version, including true multitasking, shared libraries, demand loading, proper memory management and integrated TCP/IP networking. NetBSD (not to be confused with BSDI, which will be discussed later) and Linux are the two major contenders in the free UNIX operating system market. The choice of which free version you choose will be based partly (if not entirely) on what hardware platform you choose (or currently own). Table 20.2 shows which of the free UNIX-like versions will run on which hardware platform.

Table 20.2. Platform availability for free UNIX variants.

Hardware Platform Linux NetBSD
Apple (PowerPC-based) X

Amiga/Apple/Atari (68000-based Systems)

X
Intel (386, 486, Pentium, and Pentium Pro) X X


NOTE:
Many ports of Linux and NetBSD are available on a variety of hardware platforms from vendors like Atari, Commodore, and Digital Equipment Corporation. The list is always changing. For more specific information about what platforms support what flavor, head to the Web:

Linux: http://www.ssc.com/linux-int/Resources/linux-faq/section1.html#cpu NetBSD: http://www.netbsd.org/Ports/index.html It's important to remember that although these versions are free, they are most certainly not considered public domain software. The copyrights to much of the core code that comprises Linux and NetBSD are retained by their authors and distributed under specific, general release guidelines. It's very important that you check the documentation regarding copyright and licensing for the NetBSD and Linux distributions before you begin using the software in either a personal or commercial environment.

Solaris from Sun Microsystems

Developed by Sun Microsystems from its own SunOS, Solaris was designed to be a more "open" option for users of Sun RISC-based workstations and servers. Systems from Sun are certainly expensive, but they are also extremely powerful, fast, and flexible. Part of their success in speed can be attributed directly to their processor architecture. RISC-based processors can perform several tasks simultaneously. In fact, many Internet service providers choose servers and workstations from Sun that run Solaris because of the speed with which networking functions under Solaris. Many large corporations and universities base their entire network infrastructure on Sun systems because of the performance seen from Solaris under unusually heavy loads. Furthermore, Solaris is the most popular UNIX operating system found on the Internet today, which is a great testament to the ability of Solaris to network in a high performance fashion.


NOTE:
For more information about hardware from Sun Microsystems, check out http://www.sun.com. For information about software from Sun Microsystems, check out http://www.sunsoft.com.

Although Solaris has also been ported to 486-based systems, Sun has seen little success with its sales, possibly because of difficult installation and confusing maintenance procedures, but more probably because of a mismatch of hardware and software. Solaris runs extremely well on systems designed to run Solaris. Solaris runs rather poorly on systems not designed specifically for it. Regardless, Solaris is an excellent choice and top contender on the high-end UNIX market.

HP-UX from Hewlett-Packard

Consumers know them for their printing and imaging systems. Scientists and industrialists know them from their analysis, testing and measurement systems, but MIS professionals know them for their network servers, workstations and high-performance hardware. That's right, Hewlett-Packard has their own version of UNIX: HP-UX.

Providing a highly reliable, standards-based foundation for companies to run and manage critical solutions, HP-UX can be argued as the industry's leading large-scale UNIX. Designed for the demands of large-scale operations that require both compliance to the standards of POSIX and a solution set that meets the demands of more specialized applications in the financial and technical industries, HP-UX is strict on its IEEE compliance but open enough to be applied to specialized applications in a variety of industries. HP-UX also boasts outstanding software scalability and value-added features. It is designed to run in environments ranging from desktop workstations, graphical engineering workstations, departmental servers, and enterprise server systems within the heart of large corporations.

HP-UX is also a leader in multi-vendor network operating environments, connectivity with other network operating systems, and mainframe connectivity. Thanks in part to Hewlett-Packard's wide variety of networking hardware products for its UNIX server and workstation hardware line as well as the additional "openness" found in HP-UX, it simply excels in network performance features. From 10base-T adapters to Asynchronous Transfer Mode adapters, HP-UX can talk the talk and Hewlett-Packard servers can walk the walk. Hewlett-Packard also goes the extra step by offering a rather extensive line of dedicated network hardware like high-speed hubs, network switches, and routers.


NOTE:
For more information about hardware and software from Hewlett-Packard, check out http://www.hp.com. The list of protocols and hardware supported by HP is always growing! Be sure to visit their site for the most current information.

SCO OpenServer and BSDI

SCO OpenServer is today's leading commercial UNIX server operating system for Intel-based hardware platforms. OpenServer systems from the Santa Cruz Operation run crucial business operations for government agencies, large corporations, as well as small- to medium-sized businesses of every kind. OpenServer systems are excellent for running multiuser, I/O-intensive applications, communications and networking gateways, as well as mail and messaging servers in both host and client/server environments. Like other UNIX operating systems, OpenServer has networking that is extensible with existing LANs and WANs. SCO also boasts a 16-year history of bringing high-performance network computing operating systems and solutions to the Intel platform.


NOTE:
For more information about software from the Santa Cruz Operation, as well as free licensing offers for non-commercial and educational uses, check out http://www.sco.com. SCO also has products for running DOS and Windows applications under UNIX, which makes for even tighter integration with existing DOS and Windows workgroups.

Berkeley Software Design, Inc. is the commercial supplier of the high performance BSD Internet and networking operating system software. Originally developed at the University of California, Berkeley, BSDI Internet Server operating system software integrates the complete 32-bit BSD/OS and its extremely efficient ultra-fast TCP/IP networking. All you need is an Intel 386 or 486, Pentium, or Pentium Pro server, and you're ready to go. Like products from SCO, BSDI Internet Server delivers world-class performance with advanced software and performance-optimized networking. The BSDI Internet Server takes full advantage of the wide range of advanced PC networking hardware available today, including 100Mbps Ethernet adapters and FDDI networking cards. The BSDI server integrates seamlessly with many existing routers. Also, BSDI server can act as its own router, which eliminates the expense and latencies associated with hardware routers. BSDI's unique built-in router has an excellent feature set. It is highly versatile and extremely efficient. It supports SLIP or PPP over a modem for inexpensive dial-up communications or high-speed synchronous interface cards at speeds up to fractional T-3.


NOTE:
For more information about software solutions from Berkeley Software Design, Inc., check out http://www.bsd.com.

Digital UNIX from Digital Equipment Corporation

Digital UNIX is a modern, fully POSIX-compliant, 64-bit UNIX operating system from the kernel out. Designed to run on specialized hardware platforms from Digital based on Alpha processors, Digital UNIX delivers full, native 64-bit computing today. Digital UNIX features a robust networking feature set that you would expect to find in any UNIX including support for TCP/IP, Telnet, IP Multicast, Token Ring, SLIP, PPP, NTP, BIND name services, Streams, and sockets. Integrated FDDI support, Asynchronous Transfer Mode protocol, and specialized packet filter applications also make Digital UNIX an excellent choice for any high-performance network environment. Currently, Digital UNIX supports more standards than any UNIX, which makes coexistence with and migration from other, smaller-scale UNIX systems extremely easy. Digital UNIX brings excellent speed of networking and multiuser support into one extremely fast, scalable solution for any size environment or budget.


NOTE:
For more information about Digital UNIX, check out http://www.unix.digital.com. Of course, if you find everything you need on the Web, you won't get to talk to Digital's world-class sales representatives or product resellers!

IRIX from Silicon Graphics

Often referred to as the MacOS of the UNIX world, Silicon Graphics is known for its easy-to-use-and-maintain UNIX workstations that specialize in multimedia production and computer graphics. IRIX is the version of UNIX from Silicon Graphics used on the systems that created the visual effects in movies such as Twister, Independence Day, and Star Wars Special Edition and used on Internet servers for some of the largest Internet service providers and Internet-online services in the world. With a proven 64-bit architecture for high-performance visual computing, I/O-intensive services, and high-performance, reliable networking functions, IRIX is the first desktop workstation-to-data-center server, 64-bit UNIX operating system. IRIX provides exceptional desktop multimedia production services, with extremely high-performance networking services and advanced data management for servers, plus extensive support for a variety of industry standards. IRIX offers industry-leading scalability across the specialized Silicon Graphics product line, with some servers that utilize as many as 36 processors. IRIX also provides a very interesting feature in software compatibility by providing binary compatibility with legacy versions of IRIX applications. Of course, recompiled 32-bit applications can take full advantage of the latest and greatest 64-bit MIPS performance features.

Silicon Graphics has also geared some of its desktop workstations to Internet and intranet users by combining the performance of a Silicon Graphics workstation with the power of the World Wide Web. Their O2 product line is the first system to provide bundled professional multimedia capabilities and Internet publication and authoring tools. With the Web integrated throughout the desktop interface, users can communicate their work more easily than ever before on company intranets and the Internet.


NOTE:
For more information about Silicon Graphics comprehensive hardware and software product solutions, check out http://www.sgi.com. Because of SGI's target to the computer graphics industry, there is always something fun to see on their Web site!

Linux and NetBSD

Unlike most high-end software products that come with exorbitant price tags, the power and flexibility of UNIX operating systems offers significant advantages for more than just the largest, well-funded corporations and government organizations. As the benefits and promise of UNIX spread beyond these circles, the less well-funded scientists, engineers, and educators of the world decided that they needed an affordable UNIX solution. It was from that need--and perhaps some other secret desires--that free UNIX kernels and other UNIX-based tools were developed.

Linux

As mentioned earlier, freely distributable UNIX-like operating systems are available for certain hardware platforms. The most widely used and readily available is Linux, which is available for Intel 386, 486, Pentium, and Pentium Pro systems as well as Motorola PowerPC, Digital Alpha, Sparc, and MIPS systems. It is an implementation of the IEEE's POSIX specifications. Linux has an extremely wide range of software and services including the standard high performance TCP/IP networking that includes support for services such as SLIP and PPP and specialized hardware such as modems and ISDN adapters. Because the source code to the entire operating system is freely available under the GNU Public License, inclusion of modern networking hardware into the operating system is restricted only by your skills as a developer or your patience for the appropriate software to be written.


NOTE:
The GNU Project was started in 1984 to help with the development of complete, free UNIX-like operating systems. Linux-based versions of products of the GNU system are widely used across the Internet on many different levels and for many different reasons. For more information regarding the GNU software project, be sure to check out http://www.gnu.org. For more specific information regarding the copyrights and licenses associated with Linux and its associated components, please consult the documentation that came with your software distribution.

Grown with the assistance and dedication of developers from around the world, Linux was created by Linus Torvalds at the University of Helsinki in Helsinki, Finland. Torvalds originally started playing with UNIX kernel code as a personal project that was inspired by another UNIX-like operating system called Minix. After significant development time and effort on his part, the first "official" version of Linux (version 0.02) was released on October 5, 1991, with a kernel that is 100% AT&T code-free. Over the next several years, a veritable slew of software developers have responded to the need for a free UNIX for Intel-based hardware.


NOTE:
The following is a reprint of Linus Torvalds' original posting to the Usenet newsgroup comp.os.minix

Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on an OS you can try to modify for your needs? Are you finding it frustrating when everything works on Minix? No more all-nighters to get a nifty program working? Then this post might be just for you.

As I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though it may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02...but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, and so on under it.




NOTE:
http://www.linux.org is the site on the Internet for Linux information They have everything you will need to get started--from more information about Linux to what you need to get up and running, where to get it from, and what to do once you get it!

Different versions of the Linux kernel are usually broken down into a package with other related binaries ranging from minimal root system installations to complete network-ready distributions with tools such as the XFree86 version of the X Window system and whole suites of services and applications. These packages are known as distributions. Various distributions of Linux are available.

The Red Hat Distribution

Red Hat Software is a computer software development company that sells products and provides services related to Linux. Available by anonymous FTP from ftp://ftp.redhat.com/pub, Red Hat's role in the Linux distribution game is to review, package, and develop new tools that are useful for computing professionals who do not have the time or interest to keep up with the cutting edge of development. For more information about the products and services provided by Red Hat, check out http://www.redhat.com.

The Slackware Distribution

Patrick Volkerding created the Slackware distribution of Linux and authored the official 1996 Slackware distribution CD-ROM set. Linux Slackware 96 turns your machine into a multitasking workstation with a full range of software development, text editing, image processing, and high-speed networking services and tools. Slackware can be also be obtained by anonymous FTP from ftp://ftp.cdrom.com/pub/Linux/slackware, or you can order Slackware on CD-ROM on the Web at http://www.cdrom.com/titles/os/slack96.htm.

The Debian Distribution

Debian GNU/Linux is yet another complete and powerful Linux-based UNIX-like operating system. It uses the standard Linux kernel, and includes hundreds of applications, services and tools, including most GNU software and the XFree86 version of the X Window system. Each package is an independent segment of the Debian distribution, in that it is not associated with any particular release of the complete system or distribution scheme. Anyone can create their own packages and even upload them to be made available with the distribution or as a part of the distribution. Debian is possibly best known for its upgradability. It is upgradable incrementally and "in place," which means that users can upgrade individual packages or entire systems when they become available without having to reinitialize disk drives and entirely reinstall operating systems. Debian may be obtained at ftp://ftp.debian.org/debian, or for more information, check out http://www.debian.org.

MkLinux

Apple Computer is supporting a project with the Open Software Foundation Research Institute to port Linux to a variety of Power Macintosh platforms. Currently supported in a prerelease fashion are Apple Power Macintosh 6100, 7100, 8100, 7200, 7500, 7600, 8200, 8500, and 9500 systems and PowerComputing 100 or 120 machines. The MkLinux distribution program is still in its infancy, so for information about how to obtain the software or to volunteer your services in shaping MkLinux, please check out http://www.mklinux.apple.com.

Once you have Linux installed and running and you have networking configured and performing at lightning speeds, you'll be ready to download additional software to run on your system. Listed following are the most popular FTP archives on the Internet for Linux software:

NetBSD

Resulting from an enormous collaborative effort on the part of software developers around the world, the NetBSD Project is dedicated to the production of a freely available and redistributable UNIX-like operating system, NetBSD. Based on a variety of free software products authored by various individuals and organizations, including 4.4 BSD Lite from the University of California, Berkeley, NetBSD has positioned itself as the most POSIX-compliant free UNIX for Intel systems. There are few known glitches in the POSIX compliance, but even if they were all fixed (either through additional development effort) or through revisions of the Posix standard, official compliance will probably never come to NetBSD (or any other free UNIX) simply because of the costs associated with certifications. Due to this stricter-than-average compliance for a free UNIX, it is highly interoperable with other systems. Furthermore, it is easy to port software to NetBSD, because of that same strict compliance.


NOTE:
Similar to the GNU License that protects Linux, NetBSD is protected by a Berkeley-style license. However, some portions of the NetBSD source are protected by the GNU General Public License. For more specific information regarding the copyrights and licenses associated with NetBSD and its associated components, please consult the documentation that came with your software distribution.

NetBSD itself is highly portable and is distributed with complete source code. Like Linux, it has been ported to a large number of hardware platforms and like Linux, it has the same limitations of usability and integration of networking hardware.

Unlike Linux, which has taken a rather ambiguous distribution path, NetBSD is distributed in two easy-to-understand forms. Formal releases are done periodically and include well-tested binaries, source code, and installation tools, and the NetBSD-Current--a nightly distribution of the latest sources gathered from everyone who is currently working on the NetBSD Project. The NetBSD-Current releases are meant for hard-core users and serious kernel hackers who want to work with the absolutely latest software and are willing to help debug it. Each of these distributions can be obtained from http://www.netbsd.org.

Market Share

For years, the Internet was comprised primarily of servers running UNIX. More recently, advances in operating system technology and the decrease of the cost of hardware from vendors such as Intel, Apple, Microsoft, and Novell have shown a major increase in the usage of products such as Windows NT and Novell NetWare as internetworking operating systems. Although UNIX is still run on the majority of Internet sites and corporate networks, Windows NT and NetWare are rapidly gaining ground in the marketplace. Of course, with the availability of almost POSIX-compliant, free UNIX-like operating systems such as NetBSD and Linux that have well-implemented networking support, and a large supply of UNIX professionals in the world, UNIX will be around for some time.

Summary

UNIX is not the proper operating system for every computing need. Although many UNIX loyalists would prefer that were not the case, it is true that for most of the high-end systems, such as Solaris and HP-UX, not only will your company require a highly paid database administrator to run herd over the system, but a large infrastructure outlay as well, in order to acquire the associated machines, disk arrays, and other vital hardware. That being said, however, it's equally important to note that for every job for which UNIX isn't the proper solution, it's likely that there are a dozen or more that would suffer without the power and attractive feature set offered by any member of the UNIX clan.

From its early days as one of the first network operating systems to the overwhelming popularity that has encouraged the development of so many competing styles of the basic UNIX system, UNIX has evolved from a quirky operating system with a questionable future into a networking powerhouse that is respected by nearly every serious technology professional. If you're in a technology position and fail to consider UNIX as a viable solution to your company's computing needs simply because you like graphical interfaces or the Eep! Eep! of the Mac, heaven help you when your boss finds out--which he will about five minutes after your system fails to perform.


Previous chapterNext chapterContents


Macmillan Computer Publishing USA

© Copyright, Macmillan Computer Publishing. All rights reserved.