Monday, April 12, 2010

The Advantages of Linux

Well following my previous article, I thought it would be a good idea to give some more concrete information about the ins and out of switching to FOSS. The big questions always comes up when Operating Systems are concerned since the FOSS Applications like Firefox can very easily be installed. The idea of this article is to highlight some important considerations as well as the Advantages of using a Linux based OS like Ubuntu.

In articles following this one I will go on to look at specific options, their merits and weaknesses but for now, let's talk a bit about what Linux is, what makes it good and what it can do for you.

What is Linux?

Now most of us use Windows. It was something we used as kids (right after DOS died out) and through the years we have been going from on version to the next, from Win95 through to XP, hopefully skipping the disaster of Vista and finally we are now faced with a slightly patched version of Vista, cleverly marketed as Windows 7. (For those who were fooled by the marketing, 7 is Vista with a few tweaks to it. They dropped the name due to the negative connotations and edited just enough of the visual design to make it look new) So Windows is all we know. While some of us have heard the word Linux being muttered around the coffee machine by some geeks, we do not really know what it is and what it has to offer.

Now Linux, conceived by Linus Torvalds started out as a toy for geeks, something to sharpen skills on, something to test and try new things and to explore all that technology has to offer. Now the result of this is a system that has evolved substantially over the years since its inception. Linux has evolved from a few strings of code that couldn't do much to a system that now leads the way in many areas of technology. And the way that it is written make it amazingly scalable. You can use Linux on everything from Cellphones to Mp3 Players, to Desktop Computers, to Servers and even to Supercomputers! Linux generally gets teamed up with the GNU tools, and we refer to the complete kernel as GNU/Linux but in most circles, for simplicity you will just hear people say "Linux".

Now what you have to understand is that Linux itself is not an OS. It is merely the Kernel. It manages your hardware and drivers. It can not show you a background, show you a program, or even give you some place to type. It is just the foundation. On top of this we can start building and with a foundation as flexible, scalable and powerful as Linux, the possibilities are endless. A full, operational OS based on Linux is called a Distribution or "Distro" for short. This is essentially the GNU/Linux kernel with all the things built on top that enable you to use it like an OS. This includes the programs that show you the nice icons, the backgrounds, the programs, the screen savers etc. And there are thousands of these Distros. You see, in the Free Software World, Choice is King. While the kernel remains essentially the same, the amount of options you have on top can seem almost daunting. But there are so many for a reason. No two people will completely agree on everything. Some prefer their OS to look and work a certain way, other have different ideas and this is what makes Linux Distros great. There really is something for everybody and you are free to move between the choices as you see fit. No lock-ins, no contracts, no licenses. Whether you are a Software Guru or just someone who wants Email and Internet access, there is a Distro perfect for you.

This choice is the first major benefit of Linux and it does not stop at the OS selection. There are literally thousands of programs, all free, that you can choose from. Document editors, Spreadsheet creators, Audio and Video editors, Games, Educational Software, Web Browsers, Music Players, Chat Clients. You name it and there is a Linux program that can do it. All at no charge.

Now while you get your head around that, let's look at some of the other advantages of running a Linux based OS.

You do not need Antivirus.

Simple as that. Viruses are Windows Programs that do bad things to your system or your data. They can make systems crash, they can steal your info and they can annoy the hell out of you. Linux is Immune to all Windows Viruses! That includes Adware, Malware, Spyware, Trojans, Worms, you name it. Even if you physically copy a virus onto a Linux machine all it can do is sit there. It can not harm the system. Now why is this, you ask? Well as I detailed in my previous article, the way that Microsoft and Linux approach viruses differs vastly. Viruses exploit weaknesses in the security of an OS. Now there are many reasons why that weakness is there but the shortened version is as follows. DOS and Windows were originally written for the Desktop PC. They were meant for stand-alone systems and it was only later by the end of Win98 and the advent of WinNT that networking was brought into Windows. Now this is like designing a very fast car and only later adding on some panels and metal plates to protect it from other cars on the road. Linux is based on the same design strategy as UNIX which was built specifically for Networks where security is paramount. Viruses exploit the lack of security between applications in Windows and trying to patch those holes while still keeping the OS functional and not interfering with the programs is like trying to build a McDonalds on the Highway without interrupting traffic. This is why some security updates for Windows actually break programs! Windows was build as a working OS, then they added the security where they could without breaking everything.

Now Linux OS'es are designed differently. They start with the security, add in the networking and lastly the programs. And through it all they make sure all those programs abide by the laws that Security laid down. With the law laid down, applications get designed right the first time and are forced to play by the rules. This is what makes it so hard for a virus to exist in Linux. There have of course been bugs in Security as there are with any system but Linux does not handle security by throwing it on to the user's lap and saying "You buy antivirus if you want to be safe". With Linux the exploit gets tracked down and fixed in the OS itself, not by some third party vendor who wants to make a buck.

You do get Anti Virus programs for Linux but they do not exist to protect Linux itself. They exist so people can use Linux to scan and clean Windows files. My users all come to me with their flash disks so I can clean them and I can do this with no worry that my machine might get infected.

You do not need to Defrag your hard drive.

What Windows (Or the Windows File System, NTFS, to be more accurate) does is to write data to the first available space on your hard drive. If there is not enough space to write the entire file in the first open area, it writes part of the data there and then moves on to the next available space to write the next part and so on. Now as you delete and add data to your hard drive this creates more small openings where parts of data will be written in and before you know it, your files are fragmented into little bits of data all over your drive and your PC becomes VERY slow. Also when a file grows (Like when you type more data into a Word Doc, the extra data now has to be placed somewhere else and linked back to the original file. Linux (with the Ext4 File System, though Linux can use many different File Systems) does this differently. Instead of just putting down data in the first free space it plans ahead, much like packing a car's trunk for a long holiday. It looks at the file, decides if it is the type of file that might grow (Like a document where more might be typed later) or if it will stay the same size (like a movie which always stays that same length and size) and then looks at ALL the options about where it can be placed. If the first open space is not big enough it keeps looking till it finds a more suitable space so the entire file can be put down in one place. In addition to this, if the file is likely to grow, it will reserve some space next to it for the file to grow into. Smart, eh?

Linux speaks Windows

Linux designers have taken great care to ensure they can be interoperable with Windows. Microsoft has not made this easy, trying to get a stranglehold on standards and everything else. But in most cases where clear standards are set, Linux can play along with Windows. Linux can read and write to Windows Hard Drives, they can read data on Flash disks from Windows and can write data back which can be understood by Windows. Linux can Network with Windows, share files, browse Microsoft hosted sites and much more. OpenOffice.org coders have gone to great lengths to make sure they can open and work with Office 2007 files and if you install Linux next to Windows on your PC, you can choose which one you want to use from day to day because Linux sees Windows and adds it into its Selection List. Windows on the other hand doesn't care what other OS you have. It just writes over the Selection List and proclaims itself the only OS on the machine. Windows also does not see EXT4 Hard Drives and they do not plan to do so anytime soon.

Linux is Lightweight and Fast

The rule of thumb is that more features mean more weight, right? Well yes, that is indeed true but how much weight exactly? This is something that came to mind with users very strongly when Vista was released. Here we were presented with a new OS that needed tons more power to run and at the end of the day did not really do anything substantial that Windows XP could not. Sure it was shinier and prettier but why does Vista and Win7 need so much from the hardware when in general terms they do exactly the same things that XP did? Well the answer is bloat. Bloat that came from sloppy coding of the new features. There are many ways to do thing in this world and there are many ways to code things and while all might get the job done, certain ways do it more efficiently. Linux takes efficiency very, VERY seriously. Where other companies will just keep adding weight with new features, in the FOSS world there is a constant drive for refinement, weight reduction and efficiency. Microsoft is a Business and they care about profit. FOSS is a community and they care about perfection. To give you an example, in the last 4 versions of the Ubuntu Operating System the features have grown dramatically, yet the time it takes to boot has decreased over the same period and the speed of Ubuntu has actually increased! This is because every effort is made to refine and make things run better. The results speak for themselves.

Windows 7 Minimum Specs
1GHz CPU
1GB RAM
16GB Hard Drive Space

Ubuntu Minimum Specs
700MHz CPU
384MB RAM
8GB Hard Drive Space

Now that is a MASSIVE difference! Both these Operating Systems do the same thing, and then you have to keep in mind that Windows 7 must have Antivirus on at all times which brings down its speed even more. Yet when a new version of Windows comes out we are expected to fork over money for it as well as more money for the new hardware it needs to run. Linux on the other hand allows you to get more out of your hardware and can even give some life and use back to hardware that Windows considers to be obsolete. This makes it ideal for someone who needs more from their machine but can not really afford better hardware.

Now with our computers doing so many billions of things every second, we can not, by feel, gauge real speed anymore. Not in a computational sense anyway. What we can feel is Apparent Speed, Responsiveness and Sluggishness. There is nothing more painful that just opening a folder and having to wait 5 seconds before you see its contents. Or typing something and seeing the computer lag behind you in displaying the characters. Or how about starting up and seeing the desktop, only having to wait another 2 minutes while the background programs load before you can do anything? This is where Linux is a real winner. Things happen snappier, open faster, boot quicker and when you see the desktop, feel free to start working as everything is already loaded. Need to stand up and make coffee while your PC boots up? Ubuntu boots in about 30 seconds on most computers and on some with fast SSD hard drives people have made it boot in 7 seconds or less.


Linux is Stable

Linux runs some of the biggest servers in the world and has millions of people looking over its code. Vast data centres like the ones at Google use Linux, the most powerful Supercomputers in the world like the Cray Jaguar and IBM's Roadrunner all run on Linux. Stability is not an option in these industries, it is an entry requirement and the same Linux Kernel that gives them the stability they need runs inside the Distros that you and I can have for free. That is what makes the free software model so great. Improvements that get made for Supercomputers filtered down to Desktop Users and vice versa. You do not need to reboot Linux when things start getting slow, when something is no longer in use, it is neatly cleaned out of the RAM and resources are freed up. You do not need to restart Linux when new programs are installed and you do not need to be the computer Administrator in order to run programs. This means that should you have someone else that uses the computer, you can restrict their access effectively and stop them from making system changes without impeding their ability to work.

These are some of the most important differences that Linux has from Windows and as you can see it has a lot to offer all types of users, from technical people to normal home users. There is a Linux Distro out there for you. In my next article I will look at how you know if Linux is right for you and look at some of the more user friendly options and their pros and cons. I hope this article has blown away some of the mystery that many Windows users associate with Linux.

David

No comments:

Post a Comment