-->
Previous Table of Contents Next


X

X (sometimes called X Window) is a graphical user interface designed at MIT to provide portable GUI applications across different platforms. The version of X supplied with Linux is called XFree86, and is a direct port of the standard X11R5 system to 80386-based architectures. XFree86 has been enhanced to provide compatibility with some other GUIs, including Open Look.

XFree86 supports several different video cards at a number of resolutions, offering a high-resolution graphical interface. Any X application can be recompiled to run properly under Linux, and a number of games, utilities, and add-on applications have been developed and supplied as part of the X system.

The XFree86 system also includes application development libraries, tools, and utilities. This allows programmers to write applications specifically for X without having to invest in expensive software development kits or libraries.

DOS and Windows Interface

Because Linux is designed for PC machines, it made sense to provide some compatibility with Microsoft MS-DOS as part of the operating system. Linux provides a DOS emulator as part of the distribution system, which allows many DOS applications to be executed directly from within Linux. Don’t expect complete portability of DOS applications, though, as some are written to access peripherals or disk drives in a manner that Linux can’t cope with. The WINE project has developed a Microsoft Windows emulator for Linux. This enables Windows applications to be run from within Linux, too. A better approach, called WABI, is available at additional cost. WABI lets Linux run Windows applications under X.

Linux does allow you to transfer files seamlessly between DOS and the Linux file system, accessing the DOS partitions on a hard disk directly, if so configured. This makes it easy to move files and applications back and forth between the two operating systems.

TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) is the primary networking system used by UNIX and Linux. TCP/IP is a full family of protocols that were developed for the Internet, and you must use TCP/IP when you venture out onto the Internet. If you want to interconnect with other UNIX machines, you will probably have to use TCP/IP as well.

The Linux TCP/IP implementation provides all the networking software and drivers usually associated with a commercial UNIX TCP/IP package. With it you can create your own local area network, attach to existing Ethernet LANs, or connect to the Internet.

Networking is a strong feature of Linux and will be dealt with in considerable detail later in this book. You don’t have to network your Linux system, of course, but a network is cheap and simple to install and is a fantastic method for transferring files between systems. You can network over modems, too, so you can have your friends’ Linux machines on a network.

Linux’s History

Linux was developed as a freely distributable version of UNIX. UNIX is the most widely used operating system in the world and has long been the standard for high-performance workstations and larger servers. UNIX, first developed in 1965, has a strong programmer-oriented user group that supports the operating system.

Because UNIX is a commercial product, though, it must be purchased for each platform it will run on. Licensing fees for UNIX versions for PC machines range from a few hundred to several thousand dollars. In an attempt to make UNIX widely available for no cost to those who want to experiment with it, a number of public domain UNIX systems have been developed over the years.

One of the early UNIX workalikes was Minix, written by Andy Tanenbaum. Although not full-featured, Minix provided a small operating system that could be used on PC machines. To expand on Minix, a number of users started developing an enhanced and more fully featured operating system that would take advantage of the 80386 CPU’s architecture. One of the primary developers of this system, which became known as Linux, was Linus Torvalds of the University of Helsinki who released an early version of Linux in 1991. A first commercial “almost bug-free” release was unleashed to the programming community in March 1992.

Soon, many programmers were working on Linux, and as the challenge and excitement of producing a growing UNIX workalike caught on, Linux grew at a remarkable rate. It continues to grow as programmers adapt features and programs that were originally written as commercial UNIX products to Linux. New versions of Linux or its utilities are appearing at an astounding rate. It is not unusual to see a new release every week, even. As the number of developers working on Linux grew, the entire UNIX workalike operating system was eventually completed, if not perfected, and now includes all the tools you will find in a commercial UNIX product.

To avoid any charges for Linux whatsoever, the Linux developers do not use any code from other UNIX systems. There are no licensing fees involved with the Linux operating system and part of its mandate is to be made freely available. Some companies have undertaken the task of assembling and testing versions of Linux, which they package on a CD-ROM for a (usually) minimal price.


Previous Table of Contents Next