Throughout this site, we are going to be talking a great deal about what makes up the Linux operating system. In its earliest form, Linux consisted of the base operating system and many of the tools that were provided on a standard UNIX system. For many companies or businesses, that was enough. These companies may have only required a single computer with several serial terminals attached, running a word processor, database, or other application. However, when a single computer is not enough, the base Linux package does not provide you with everything that you need.
Suppose you want to be able to connect all the computers in your company into a computer network. The first thing that you could use is the networking capabilities of UUCP, which is included in Linux’s network package. However, this is limited to exchanging files, remotely executing programs, and simple terminal emulation. Also, it is limited to serial lines and the speed at which data can be transferred is limited as well.
So it was in the dark recesses of ancient computer history. Today, products exist that allow simultaneous connection between multiple machines with substantially higher performance. One such product is TCP/IP (Transmission Control Protocol/Internet Protocol). If a company decides it needs an efficient network, it might decide to install TCP/IP, which has become the industry standard for connecting not only UNIX systems, but other systems as well.
There is a problem with TCP/IP that many companies run into. Suppose you want everyone in the company to be able to access a specific set of files. With TCP/IP you could devise a scheme that copies the files from a central machine to the others. However, if the files need to be changed, you need to ensure that the updated files are copied back to your source machine. This is not only prone to errors, but it is also inefficient.
Why not have a single location where the source files themselves can be edited? That way, changes made to a file are immediately available to everyone. The problem is that TCP/IP by itself has nothing built in to allow you to share files. You need a way to make a directory (or set of directories) on a remote machine appear as though it were local to your machine.
Like many operating systems, Linux provides an answer: NFS (Network File System). With NFS, directories or even entire filesystems can appear as if they are local. One central computer can have the files physically on its hard disk and make them available via NFS to the rest of the network.
Two other products are worth mentioning. To incorporate the wonders of a graphical user interface (GUI), you have a solution in the form of the X Windowing System or simply X-Windows. And if you just switched to Linux and still have quite a few DOS applications that you can’t live without, Linux provides a solution: dosemu or the DOS Emulator package. Many Linux distributions also provide WINE (WINE is Not an Emulator), which allows you to run a number of Windows programs directly.