What is Linux?

From LXF Wiki

Revision as of 10:45, 8 Dec 2005; view current revision
←Older revision | Newer revision→
Table of contents

What on Earth is Linux?

Where did Linux come from?

Back in the 1960s, when computers were the size of small houses and could only be operated by men with beards and a stack of hole-punched cards, there was no such thing as an operating system. Programmers would first have to create an environment, then create their application to run in it. It took a lot of card punching, and also meant that an application created on one system would probably not work on another, even from the same manufacturer. This couldn't go on, and in 1969 a pair of engineers from AT&T's Bell Labs created an OS called Unix.

Unix gave users a standard way to interact and control their computers. However, these standards weren't very standard at all; a number of proprietary Unix flavours appeared, created by hardware manufacturers desperate to 'lock in' users to their kit. The only thing these variations had in common was that they were all hideously expensive.

Then, in 1991, a student from Helsinki started to create his own Unix-compliant OS - 'just a hobby' the young Linus Torvalds wrote in one newsgroup - that would be released on the Internet and distributed freely as Open Source software. This project was taken up by a community of geeks, hackers and astute entrepreneurs. Linux, as it became known, grew in scope and sophistication. Although in its initial phase, and only really of interest to other programmers, those programmers began to construct the applications that would ease non-technical users into the Linux world. It's estimated that Linux now resides on about eight per cent of the world's PCs, and is growing faster than any other operating system.

What does it do?

Like any other operating system, Linux is a program that allows users to control their computers, acting as a host for the applications that make owning a computer worthwhile. From comprehensive office suites and graphics tools to web design and games, Linux is blessed with every type of application you could imagine - and some you couldn't. It is especially popular for 'mission critical' tasks that require stability and security, such as running World Wide Web sites and e-commerce. The downside of such power has been that, in the past, the OS has been regarded as difficult to install and use for the average user. That is changing, however, as the face of Linux becomes more friendly. It is now making real headway in the mainstream.

As well as being a multitasking OS (it can do more than one thing at once), Linux is also multiuser. In an office, this means that one server can handle a variety of applications at the same time: the finance director could browse the company accounts while the secretary secretly played Quake in a different room. For home users, multiuser means that each member of the family can have their own set-up - including applications, desktop themes and so on - which won't interfere with everyone else's.

Great! How much does it cost?

The revolutionary thing about Linux, apart from the fact that it doesn't crash every five minutes, is the way in which it is distributed. While the big software corporations charge an arm and a leg to let you use their systems, Linux is free. You can download it from the Internet (if you've got a lot of patience or a broadband connection), copy it off your mate or install it from a magazine coverdisc.

Though the profit-motive is a very large aspect of the phenomenal growth of Linux, some credit must also be given to the growing number of companies who have set about creating various distributions which give users not just a top quality OS, but also a range of value-added software, utilities and programming tools too. The big names in Linux distribution include Red Hat, SUSE, Mandriva and Debian, but these are just the tip of a very large iceberg. Go to any search engine, type in 'Linux distributions' and prepare to be amazed. Distros vary in both quantity and quality, but most come with a wide range of free or Open Source software and can be bent and shaped to your own particular tastes and needs.

What does it run on?

One of the most useful things about Linux is that it's not tied to a single platform. While Windows will only run on Intel machines (or clones thereof) and MacOS is only at home on Apple computers, you'll find a Linux distro for just about anything. The x86 version will just about install on a humble 486, albeit without a usable GUI, which makes it ideal for turning older machines into servers, but it is also perfectly capable of squeezing every last drop of performance from the latest Pentium IV. There are also flavours available for Motorola 680x0 processors (Amiga and Atari ST), Sun Sparc workstations, Advanced Risc Machine processors (Acorns), Power PC machines (iMacs etc), MIPS R3000/4000 machines (Silicon Graphics workstations) and also full blown mainframes like the IBM S/390.

The openness of the Linux kernel - as well as the dedication of hardware enthusiasts - is the reason behind this platform promiscuity, but the result is that you can extend the life of an old machine while still using up-to-date software. Linux is also quickly becoming the world's system of choice for embedded applications such as DVD players, personal information managers, media terminals and Internet access devices.

So it's a software program then?

Although it's often referred to as a single program, the average Linux installation is in fact a collection of software, the heart of which is the kernel. In order to make any sense of the kernel, you'd probably need a computer science degree or a really tenacious will to learn. Fortunately, you can simplify things considerably by installing a shell to act as a go-between for the user and the kernel.

There are two types of shell: the command line interpreter (CLI) and the graphical user interface (GUI), and to further confuse things, there are various versions of both types. The CLI is equivalent to MS-DOS in that you issue commands to the OS by typing arcane phrases such as 'echo $SHELL'. before sitting back and waiting for the results. The CLI may be a powerful tool and can sometimes be essential for power users, but if you find programming as interesting as concrete, you'll really need a GUI.

In the bad old days of proprietary UNIX, a GUI was only possible with the addition of a costly X Window System (the next layer of our Linux cake). However (and you'll notice a common thread here) a community of coders got together and decided to create a free one. This is called XFree86. It handles not only graphics cards and monitor resolution, but also all your mouse actions and keyboard presses. Some XFree86 programmers decided to take the code in a different direction, and made their own version: X.org. This includes support for the latest generation of 3D graphics cards and chipsets, and makes installing Linux as easy as pie. Well, almost as easy as pie.

What's a Desktop Environment?

Your Desktop Environment is the thing you actually look at all day long. KDE was the original king of the desktops, but disagreements over the direction of the project and, more specifically, the licensing of its source code, led one group of coders to branch out. They created The GNOME Foundation, dedicated to producing free software under the GNU protocol.

GNOME and KDE both do admirable jobs of providing a stable, customisable and intuitive environment for Linux, and also provide an easy means of migration for technophobe Windows users. GNOME, like its rival, is actually more than just a desktop. It provides a development platform, and the tools, for coders to create a range of standards-compliant applications that are then released under the GNU licence. Part of the package is GNOME Office, a set of productivity tools including a word processor (AbiWord), a spreadsheet (Gnumeric) and a graphics package (The GIMP). Taking its cue from Windows, the GNOME applications have a consistent look and feel and, in the case of The GIMP in particular, are rapidly becoming just as accomplished as their proprietary cousins.

Both KDE and GNOME are flexible, comprehensive alternatives to Windows, and the great thing is that, if you can't decide which desktop you prefer, you can install both and choose between them to suit your mood - it won't cost you a bean. And if you like the look and feel of Windows, MacOS or even BeOS (to name but three), just point your browser at www.themes.org, where you'll find thousands of different 'skins' for both environments.

So what's the bad news?

There is always some bad news. In the Linux world, this comes in the form of the ubiquity of Windows and the desire of PC manufacturers to save money. As PC processors became more powerful, chip manufacturers have decided that the CPU could work a lot harder and take over the running of sound systems, graphics and, crucially, modems. The first two items have been easily integrated into Linux, but the third has proved problematic. These 'winmodems' rely on software drivers that are an integral part of Windows and are unlikely to work with Linux. This is beginning to change - check out www.linmodems.org for more information - but it's a slow process, so don't hold your breath if you have one sitting in your machine.

Scanners from certain manufacturers are also impossible to run with Linux owing to said manufacturers refusing to release the information for their devices that would allow others to create the drivers. So if you have something like a UMAX parallel port device, your pictures will have to remain unscanned. Or will they?

Can't I have Linux and Windows?

For various reasons (such as the ones given above), many people are reluctant to trash their other operating systems. The good news is that you don't have to: Linux will happily run alongside (although not at the same time) as Windows or MacOS. By giving it a home on your hard drive, you'll be able to scan or surf in your old operating system, while getting the benefits of Linux. Linux can get at files from Windows, so you can even use your scans or downloaded wallpaper with The GIMP.

The process of installing a dual boot system begins with preparing your hard disk for partitioning. This is where people often have problems as the wrong choice could lose data, but many of the modern distros have special tools to help you, so it's not that daunting. Next, the software formats your newly created partition (Linux has its own file allocation system), and begins adding the operating system and - if you've selected them - a variety of development tools, applications and games. And that really is about it. The next time you boot, you'll be presented with a menu from where you can select which operating system to boot up.

Obviously, with PCs being such sophisticated, complicated beasts, there are many problems that can arise, but in most cases the process should be no more taxing than that of installing the Windows operating system.

Can Linux run Windows software?

Yes and no. If you'd like to 'go native' and dump Windows altogether, but need it for one or two vital applications, check out Wine (www.winehq.org), a small program that acts as an interpreter between Windows applications and Linux.

Users have had a number of notable successes with the system, including getting Word 2000 and Excel 2000 running. WINE does a good job with most things and companies such as Corel and Deneba have used it to rapidly port their Windows apps to the Linux platform. Although Wine isn't perfect yet - and may never be - it does provide a way for users to keep a vital application without having to keep the OS.

A spin off from Wine is the Cedega project (http://www.transgaming.com/) this is a pay-for piece of software that allows users run 'Windows' games. They have quite an archive of supported games and are well worth the £3 a month fee. Another alternative is VMWare, which is a straight PC hardware emulator that works under Linux. However, VMWare is commercial software and so needs to be paid for, and you-ll also need a valid copy of Windows.

What's next?

The computer industry moves fast and Linux is no exception. The difference is that the evolution of the OS is both user-led and open to all. Linux development continues at a rapid pace. Development on hardware support has been bolstered by many manufacturers being keen to support Linux now, and the software that runs on Linux is getting better almost daily. Take a look at all the stuff on the Linux Format coverdiscs for some of the more notable examples.

It's an exciting time to get involved in the community, so what are you waiting for?