1 Introduction 

1.1 Operating Systems

 

In general most would say that the first PC operating system was MS-DOS in 1981.  But of course this is just the Microsoft view. The first operating systems are difficult to define, but if we think of an operating system as the layer of software that interacts between hardware and software this makes it easier, Using this simple definition we can the first operating systems as those that came as built in programming languages such as COBOL in the early 1960's.

 

It is later when VDU's where introduced that operating systems became more interactive, by the 1970's computer programs became to big to fit into economical amounts of ram so swapping and virtual memory was introduced so that "cheaper" backing stores hard disks, tapes and floppy disks could be used.  As we moved to the 80's GUI (Graphical User Interfaces) developed these used the WIMP (Windows Icon Mouse Pointer) Interface, along with this was one of the other biggest parts of today’s computer society this is of course the basis of the internet - networking, during the later 1980's communications standards where laid down and in the 1990's this lead to the adoption of networking for distributed computing, and so the use of multiprocessor and clustering systems became more of a requirement.

 

1.2 Linux

The Linux operating system is of course based on heavily on the Unix operating system, It all started when in 1991 Linus Torvalds, who was an undergraduate student at the University of Helsinki, got a brand new IBM 386 PC.  He was dissatisfied with the operating system that came with the hardware, and wanted to run a version of Unix, unfortunately all the versions of Unix that he had looked at were highly expensive, But Linus was determined that he wanted to write a new version of Unix for his machine, and so decides to send a message across the internet asking for programmers to help him.  The people who responded formed a teamed of talented programmers to tackle the problem.

 

Obviously as time went on more programmers became involved and so they formed the core operating system (the kernel) and of course this was called Linux.  The thing that made Linux different from other operating systems is that in the early stages of development Linus Torvalds made all the source code freely available and although each of the authors control the rights for their own code, all decided to give away freely what they had created so others can build it.  This concept was a concept greeted by the Free Software Foundation.

 

As the source code was freely available other programmers decided to add to the Linux kernel and create different systems to install the software on to a computer system and created distributions.  These distributions were available in different ways some via the Internet and FTP servers, while some available on CD-ROMs for a moderate distributing fee.  Of course some added to this and charged for these additional programs, But under the GNU Public License the source code was freely distributable but had to be identified and distributed free of charge

1.3 Clustering

 

It was in 1994 that a couple of research scientists, Thomas Sterling and Donald Becker, at NASA’s centre of Excellence in Space Data and Information Sciences (CESDIS) in Greenbelt, Maryland, embarked on a project to build a parallel computer out of off the-shelf components. They wanted to make a low-cost, yet efficient, system for processing large sets. Their first system, a 16-node network of workstations, was constructed out of Intel DX4 (486 based) Processors. A novel channel bonding method that allowed them to tie together multiple 10Mbit/second Ethernets to balance network performance without the use of then expensive network switching systems interconnected it. With the addition of message passing software such as the Parallel Virtual Machine (PVM) System, they were able to build a quite effective parallel processing computer on a small budget.  They named the results of their work “Beowulf”, other similar projects exist, such as Linux-ha and LVS (Linux Virtual Server). Clustering can turn several computer systems into a powerful system that can compete with Supercomputers in terms of performance.