PC-IRAF: The Choice of a GNU Generation

Doug Tody and Michael Fitzpatrick
IRAF Group, NOAO*, PO Box 26732, Tucson, AZ 85726

* National Optical Astronomy Observatories, operated by the Association of Universities for Research in Astronomy, Inc. (AURA) under cooperative agreement with the National Science Foundation.


The modern personal computer (PC) provides a computing platform comparable to a single user workstation, but for a fraction of the cost and often with more power or features. A variety of high quality, free or low cost UNIX/X11 systems plus a wealth of other free software is available for PCs. These transform the PC into a powerful environment for running large astronomical software systems such as IRAF. In porting IRAF to a variety of PC UNIX operating systems much has been learned about both the benefits and drawbacks of the PC as a host for IRAF data analysis. We compare and contrast several different UNIX implementations available for the PC, and compare these to workstation systems. Hardware configuration is also discussed.



In recent years the line between personal computers and workstations has blurred. A PC bought today is often as fast or faster than the machines many astronomers have in their offices, and is available at a lower cost. Features such as a CD-ROM or high-end graphics card come standard or for a cost much smaller than buying similar hardware for a workstation. Top quality UNIX and X implementations are freely available on the Internet or on CD-ROM for the cost of a video game. The PC has become the platform of choice for the free software community and many useful applications are available for the PC in ready to run form (the Gnu utilities, TeX, etc.). We expect that in the coming years the number of PCs used in astronomy will rival the number of workstations, especially for personal and home use, due to the attractive price to performance ratio and the enhanced usability of the platform resulting from the wide range of personal and professional software available.

The PC-IRAF project is an experiment to learn how the different software environments available for the PC compare, while at the same time porting IRAF to the PC to meet the growing demand for IRAF on these systems. In the first few months that the initial Linux port of PC-IRAF has been available roughly 275 distributions have already been downloaded (this is high for a new port). Thus far the user support required for Linux/IRAF has been lower than expected, and lower than what is commonly required for mainstay workstation systems such as SunOS/Solaris. This probably reflects a certain selection effect: folks who have successfully configured a PC and installed UNIX/X11 are likely to have the technical skills required to install and configure IRAF.

Our plans are to initially port IRAF to Linux, BSD, and Solaris x86. Ports to other operating system such as Windows NT and the Macintosh are being considered but there is no commitment to do such work at this time. Our experience so far has been that PCs make excellent single-user systems for IRAF.

Operating System Choices

The initial PC-IRAF port (Sep95) was to Linux. Linux/IRAF is currently available from the IRAF archives or on the IRAF V2.10.4 CD-ROM. Preliminary ports to FreeBSD and Solaris x86 have also been completed and the export versions should be available in early 1996. A PC-IRAF CD-ROM including all PC-IRAF related software and a live file system is also planned for 1996. Although the PC-IRAF project initially emphasizes Unix, we have not ruled out future ports to other operating systems, in particular Windows NT.

Our experience in porting IRAF to these systems has given us some early impressions of the strengths and weaknesses of each platform, both as a platform for running IRAF and for general use as a UNIX/X11 system. These are summarized in the following sections. Any of these operating systems would make an excellent platform for running IRAF or for general use.


Linux is the most popular UNIX system available for the PC today. It is a small, fast system yet has many nice features. A great deal of high quality free software is available for Linux, and commercial products are starting to appear as well. Linux (and BSD, below) has become the platform of choice for the free software community.

Linux is unusual in that while there is only one Linux kernel there are many independently assembled, and not necessarily compatible, Linux distributions available. These distributions combine the Linux kernel with assorted free software packages (e.g. XFree86, GNU) to assemble a complete system including many utilities. We use the popular Slackware distribution for PC-IRAF. Linux/IRAF executables should run on most Linux distributions, but there can be compatibility problems affecting software development.

Linux is a rapidly evolving system developed solely by the free software community. This has the advantage that new versions and features appear rapidly, but it does mean that the system may be somewhat less stable than the alternatives. The large user base means plenty of support is freely available on the net. The hardware support is about as broad as for any PC UNIX although sometimes it can take a while for new hardware to be fully supported. Linux is a great system for someone who is adept with UNIX and who likes to experiment with free software (or for anyone who just wants to get some work done).


BSD UNIX for the PC is the culmination of over ten years of UNIX development by the Computer Systems Research Group at Berkeley, which developed BSD 4.2 VAX/UNIX (the original IRAF development system) back in the early eighties. BSD has made many contributions to UNIX over the years including development of much of the underpinnings of the Internet. There are several variants of BSD UNIX for the PC, including FreeBSD, NetBSD, 386BSD, and the commercial BSDi. We are using FreeBSD for the PC-IRAF port.

FreeBSD is comparable in many respects to Linux: both are free, and both share much of the same software above the kernel. BSD doesn't have the large user base of Linux and the hardware support may not be as broad, but it is arguably a more stable, reliable system and is popular for workhorse applications such as network servers. Distributions are controlled by a core development team, allowing tighter integration and improved version control.

The FreeBSD release provides some nice features like package updates (automatic retieval of sources over the network for updates), a kernel configuration file (as opposed to the Q&A Linux approach), and an easy-to-use install script.

Solaris x86

Solaris x86 is a port of the SPARC Solaris operating system to Intel x86 based systems (PCs). Solaris x86 is a full featured commercial product including printed manuals, telephone support, and extensive hardware support. Frequent patches are released on the Internet to provide support for new hardware. The price for a desktop system is reasonable although Solaris can get expensive if many development tools, compilers, and so on are purchased.

The main advantages of Solaris x86 are compatibility with SPARC Solaris workstations and commercial software support (compatibility means that the software is essentially the same; the underlying hardware is quite different, in particular SPARC and Intel are byte swapped). Solaris is a big operating system with features that may not be available in the free UNIX systems, e.g. support for POSIX threads, multiprocessor support, parallel compilation, and so on. Solaris x86 comes with a commercial grade Microsoft Windows emulator (WABI), a browseable documentation CD-ROM (AnswerBook), and other features of the sort found in such large commercial systems.

The main disadvantage of Solaris x86 compared to the free UNIX systems, aside from the increased cost, is that Solaris is a larger and more complicated system requiring more disk space and memory to install and run efficiently. It is not as widely used in the academic marketplace as Linux. It is a professional system, not quite as friendly and "fun" as Linux and FreeBSD.

Hardware Configuration

One of the most frequently asked questions about any platform, PC or workstation, is what is the recommended or minimal hardware configuration required for running IRAF. There is no simple answer to this question as the resources required depend on how the system will be used and on how much software will be installed. Assuming a typical install the recommendations for 1996 software and hardware would be as follows:

    	   Minimal      		Recommended

    16 Mb RAM 		          32 Mb RAM
    700 Mb disk 		  2+ Gb SCSI/EIDE disk
    15" 1024x768 8-bit monitor    17" 1280x1024 8-bit monitor
    486-33DX processor 	          P5-90 or faster processor
A suitable desktop or deskside PC-IRAF system should have 1 Gb or more of disk and 16-32 Mb of memory (to avoid paging in typical usage); half this system would work but we wouldn't recommend it. Solaris x86 requires the most resources, at least 24 Mb memory and 400 Mb of disk for a typical install. A Pentium CPU and a PCI backplane are recommended. There are indications that PCI, or at least a fast local bus, makes a big difference in the overall performance of the newer PCs. A large system cache (256 Kb is common on current systems) is necessary to realize the speed of the newer processors. Get at least a Pentium 90 as the older chips have heat dissipation problems. 4 Mb of video RAM is required for 24 bit display at higher screen resolutions, but you can get by with 2 Mb.

The situation with networking is changing too rapidly to recommend anything specific. For remote login ISDN is available in many areas although a PPP or SLIP connection using a 28K modem line works fine for most applications (image display can be a slow). A tape drive is recommended, possibly required, for astronomical data interchange and for backing up large disks. A good choice is a DAT or Exabyte on a SCSI adapter. Nowadays any PC should have a CD-ROM drive.

Many high end laptops can run UNIX/X11 and IRAF. The main concern here, aside from hardware support by the version of UNIX you plan to run, will be the screen size. Get the highest resolution screen you can afford. Since late 1995 many vendors are offering 600x800 SuperVGA screens on laptops.

Comparison to Workstations

Our expectation is that the PC, already a major player in 1996, will play an increasingly important role in astronomical computing in the future. The primary reason is that for a modest cost one can get a fully configured system of tremendous capability. Another important factor is the wealth of software available for the PC, including alternative operating systems and commercial and personal software. No other platform, including workstations, has such a wide range of software available.

PC hardware and software became competitive with workstations sometime around 1994. By 1995 PC hardware offered performance comparable to a typical desktop workstation - better performance than the several year old workstations many people still had in their offices. The UNIX operating systems variants such as Linux, BSD, and Solaris x86 matured to the point where they were useful at about the same time.

Although PC hardware has reached the point where it is plenty fast enough for personal computing, including much scientific computing, this does not mean that it is on a par with workstation performance. The high end workstations have continued to evolve as well and are now essentially supercomputers, faster than is needed for most applications (for which the PC is now an option), but providing the raw power needed for larger problems. Modern high capacity astronomical detectors still often require the power of a high end workstation. An 8K square CCD mosaic for example, produces images 128-256 Mb in size and a typical night's data set might contain 50-100 such images. Even a simple operation such as viewing such an image requires quite a powerful system.

Workstations continue to offer a no-nonsense, professional capability which minimizes maintenance and provides high reliability, characteristics which are needed by large institutions and for demanding applications such as data acquisition in complex systems. PCs on the other hand, as personal systems often require the user to become a system administrator in order to reduce their data. PC Unix systems still require that networking be configured, backups be performed, OS updates get installed, etc. The chores normally done by the system administrator for the local network of workstations may fall to the astronomer who is just trying to reduce data on a standalone PC.

Due to the great variety of PC hardware available, with continual new product introductions, it is easy come up with a system that is not supported by the software you wish to run. This is not a problem with workstations where the hardware and software are usually purchased from the same vendor. On the other hand similar hardware will generally cost less for the PC.

The PC-IRAF Distribution

PC-IRAF is available both via anonymous FTP to iraf.noao.edu, and on CD-ROM. Contact the iraf group or visit our Web page (see below) for current information on available distributions and distribution media.

Unlike workstation distributions which are available only as a full source tree which may be stripped after installation to save disk space, the PC-IRAF distributions are also available as a pre-stripped source tree and with optional compressed binaries, making the total disk requirement as low as 32Mb for a full runtime installation of the main IRAF distribution. A full installation with sources and several external packages could require as much as several hundred Mb. Precompiled binaries for selected external packages are also available from the /contrib directory in the IRAF archives or may be requested from IRAF site support. The F2C and GCC compilers will need to be installed in order to do any program development or install IRAF external packages. PC-IRAF uses F2C/GCC for all Fortran compilation.

For Further Information

The current status of the the PC-IRAF project is summarized in the project web page at http://iraf.noao.edu/pciraf.html.. Announcements of new software are also posted to the adass.iraf.announce newsgroup which is available via USENET or by subscription to a mailing list. Questions or suggestions may also be sent to the IRAF project at iraf@noao.edu or through the comment form in the main IRAF Web page at http://iraf.noao.edu.