• No results found

Chapter 3. Setting Up Your Workstation

3.1 Working on a Unix System

You are probably accustomed to working with personal computers; you may be familiar with windows interfaces, word processors, and even some data-analysis packages. But if you want to use computers as a serious component in your research, you need to work on computer systems that run under Unix or related multiuser operating systems.

3.1.1 What Does an Operating System Do?

Computer hardware without an operating system is like a dead animal. It isn't going to react, it isn't going to function; it's just going to sit there and look at you with glassy eyes until it rots (or rusts). The operating system breathes life into the inert body of your computer. It handles the low level processes that make hardware work together and provides an environment in which you can run and develop programs. The most important function of the operating system is that it allows you convenient access to your files and programs.

3.1.2 Why Use Unix?

So if the operating system is something you're not supposed to notice, why worry about which one you're using? Why use Unix?

Unix is a powerful operating system for multiuser computer systems. It has been in existence for over 25 years, and during that time has been used primarily in industry and academia, where networked systems and multiuser high-performance computer systems are required. Unix is optimized for tasks that are only fairly recent additions to personal-computer operating systems, or which are still not even available in some PC operating systems: networking with other computers, initiating multiple

asynchronous tasks, retaining unique information about the work environments of multiple users, and protecting the information stored by individual users from other users of the system. Unix is the

operating system of the World Wide Web; the software that powers the Web was invented in Unix, and many if not most web servers run on Unix servers.

Because Unix has been used extensively in universities, where much software for scientific data analysis is developed, you will find a lot of good-quality, interesting scientific software written for Unix systems. Computational biology and bioinformatics researchers are especially likely to have

developed software for Unix, since until the mid-1990s, the only workstations able to visualize protein structure data in realtime were Silicon Graphics and Sun Unix workstations.

Unix is rich in commands and possibilities. Every distribution of Unix comes with a powerful set of built-in programs. Everything from networking software to word-processing software to electronic mail and news readers is already a part of Unix. Many other programs can be downloaded and installed on Unix systems for free.

It might seem that there's far too much to learn to make working on a Unix system practical. It's possible, however, to learn a subset of Unix and to become a productive Unix user without knowing or using every program and feature.

3.1.3 Different Flavors of Unix

Unix isn't a monolithic entity. Many different Unix operating systems are out there, some proprietary and some freely distributed. Most of the commands we present in this book work in the same way on any system you are likely to encounter.

3.1.3.1 Linux

Linux (LIH-nucks) is an open source version of Unix, named for its original developer, Linus Torvalds of the University of Helsinki in Finland. Originally undertaken as a one-man project to create a free Unix for personal computers, Linux has grown from a hobbyist project into a product that, for the first time, gives the average personal-computer user access to a Unix system.

In this book, we focus on Linux for three reasons. First, with the availability of Linux, Unix is cheap (or free, if you have the patience to download and install it). Second, under Linux, inexpensive PCs regarded as "obsolete" by Windows users become startlingly flexible and useful workstations. The Linux operating system can be configured to use a much smaller amount of system resources than the personal computer operating systems, which means computers that have been outgrown by the ever- expanding system requirements of PC programs and operating systems can be given a new lease on life by being reconfigured to run Linux. Third, Linux is an excellent platform for developing software, so there's a rich library of tools available for computational biology and for research in general.

You may think that if you install Linux on your computer, you'll be pretty much on your own. It's a freeware operating system, after all. Won't you have to understand just about everything about Linux to get it configured correctly on your system? While this might have been true a few years ago, it's not any more. Hardware companies are starting to ship personal computers with Linux preinstalled as an alternative to the Microsoft operating systems. There are a number of companies that sell distributions of Linux at reasonable prices. Probably the best known of these is the Red Hat distribution. We should mention that we (the authors) run Red Hat Linux. Most of our experience—and the examples in this book—are based on that distribution. If you purchase Linux from one of these companies, you get CDs that contain not only Linux but many other compatible free software tools. You'll also have access to technical support for your installation.

3.1.3.1.1 Will Linux run on your computer?

old and new, Silicon Graphics, Sun, Hewlett-Packard, and other high-end workstations and high- performance multiprocessor machines. So even if you're starting with a motley mix of old and new hardware, you can use Linux to create a multiworkstation network of compatible computers. See

Section 3.2 for more information on installing and running Linux.

3.1.3.2 Other common flavors

There are many varieties (or "flavors") of Unix out there. The other common free implementation is the Berkeley Software Distribution (BSD) originally developed at the University of California-Berkeley. For the PC, there are a handful of commercial Unix implementations, such as The Santa Cruz

Operation (SCO) Unix. Several workstation makers sell their own platform-specific Unix

implementations with their computers, often with their own peculiarities and quirks. Most common among these are Solaris (Sun Microsystems), IRIX (Silicon Graphics), Digital Unix (Compaq Corporation), HP-UX (Hewlett Packard), and AIX (IBM). This list isn't exhaustive, but it's probably representative of what you will find in most laboratories and computing centers.

3.1.4 Graphical Interfaces for Unix

Although Unix is a text-based operating system, you no longer have to experience it as a black screen full of glowing green or amber letters. Most Unix systems use a variant of the X Window System. The X Window System formats the screen environment and allows you to have multiple windows and applications open simultaneously. X windows are customizable so that you can use menu bars and other widgets much like PC operating systems. Individual Unix shells on the host machine as well as on networked machines are opened as windows, allowing you to exploit Unix's multitasking

capabilities and to have many shells active simultaneously. In addition to Unix shells and tools, there are many applications that take advantage of the X system and use X windows as part of their graphical user interfaces, allowing these applications to be run while still giving access to the Unix command line.

The GNOME and KDE desktop environments, which are included in most major Linux distributions, make your Linux system look even more like a personal computer. Toolbars, visual file managers, and a configurable desktop replicate the feeling of a Windows or Mac work environment, except that you can also open a shell window and run Unix programs.