I’ve been using Linux on and off for about 7 years. I am not a programmer or a hacking enthusiast, and the only reason for which I tried Linux was the extraordinary enthusiasm and loyalty of Linux hardcore users. I’ve never seen a product that can convert every user into an advocate apart from Linux, and I kept telling myself that it must be so good to deserve such treatment.
However, with my little experience and little patience, I couldn’t keep any Linux installation for more than a few weeks. I had so many problems which I couldn’t solve by myself and, most of all, trial-and-error method of learning how to master and customize Linux was often disastrous.
I would remove Linux and switch back to Windows, and then I would normally wait until the next SUSE Linux release to try my luck again. Of course, it wasn’t SUSE Linux’s fault; it was all because I didn’t want to invest any time trying to learn Linux the right way. My argument was that an operating system should be easy and intuitive so people can start using it right away, and until Linux reaches this stage, it’ll be so hard to convince people to switch to it, regardless of all those under-the-surface advantages that Linux obviously has.
I tested Ubuntu Linux without installing it a few times in 2005 and 2006. I couldn’t feel any obvious advantages over my SUSE Linux, but that was to change in 2007 when I installed Ubuntu 7.04 for the first time and used the “Synaptic Package Manager”. The difference was so tangible compared to SUSE’s Yast. Moreover, Ubuntu withstood all my unwise and often blind adventures and I was always able to revert back to a stable system. “Unbreakable X” feature kept me in the realm of graphical user interface where SUSE would send me into the command line darkness, and installing proprietary hardware drivers and multimedia software was a snap. Of course, I missed all those configuration options available on SUSE’s control panel, but Ubuntu compensates that by the merits of its clever automatic detection and configuration capabilities.
It was the first time that I didn’t break my Linux system even after a few months of amateur usage. That extended period of time allowed me to see the real advantages of Linux, and more importantly, revealed what was missing in Microsoft Windows. Today, after only one year of using Ubuntu as my main desktop OS, I don’t think that I am switching back to Windows again.
I stopped wondering why Linux fans are almost fanatics. Actually, I’ve been converted into one of them. Trying to rationalize it, I contemplated my experience and came up with a few arguments. I also felt that Linux advantage is partially a result of Windows inferiority; so I decided to split my list into two sections: Why “Not Windows”? and Why Linux?
Why “Not Windows”?
Windows is Expensive:
Windows is expensive software. Both full and upgrade versions will cost a great deal of money especially compared to the absolutely free Linux. Moreover, Windows does not include any meaningful productivity applications by default, so one will have to buy those separately. Pirated versions of Windows are all over the world, but with no technical support or security updates from Microsoft. That means increased vulnerability not to mention legal liability. Of course, it is all because Windows is not free in the first place. Windows Vista makes it even worse because unless you have a powerful new computer, you’ll probably need to upgrade your hardware for the new OS.
Windows wastes system resources:
Windows is world-famous for its irrational system requirement. Windows Vista set a new record when it rendered 70% of the world’s existing computers obsolete. No-one in his right mind can justify why Windows Vista needs 1GB of RAM and 15GB of disk space to install while a modern Linux needs 256MB of RAM and 2GB on the hard disk (including all standard applications). Windows not only consumes the hard disk space to install, but also eats up resources to run since a minimum of 400MB of RAM will always be occupied only for the system with no other programs running.
|Operating System||CPU||RAM||Free Disk Space|
|Windows XP (2001)||300 MHz||128MB||1.8 GBs|
|Windows Vista (2007)||1 GHz||1 GB||15 GBs|
|Ubuntu 7.10 (2007)||500 MHz||256MB||2 GBs|
A Comparison of system requirements
When installing additional software, Windows proves completely inefficient. Most software copy their files to several locations scattered around the hard drive and also keep a copy of the original installation files somewhere on your C drive for future re-installation or removal. This model wastes a huge amount of disk space and makes it almost impossible to do a clean removal or even a clean upgrade of any program.
C:\Documents and Settings\user\Local Settings\Application Data
C:\Documents and Settings \user\Local Settings\Application Data\Downloaded Installations
C:\Documents and Settings\All Users\Application Data
C:\Program Files\InstallShield Installation Information
C:\Program Files\Common Files\Wise Installation Wizard
C:\Program Files\Uninstall Information
Some location where software hide their installation files
Windows also has an inefficient RAM swapping strategy. When the RAM is overflowing or when its content is static for a long time, Windows swaps data from the RAM to a huge file on the C drive named pagefile.sys. This slows down all other disk operations and causes many files to be fragmented (pagefile.sys will be definitely fragmented unless you tweak the system to prevent it). Linux supports swapping as well, but it uses a dedicated SWAP partition to maximize swapping performance and minimize its impact on other disk operations.
In Microsoft Windows, most settings are stored within what is known as Windows Registry. It is the single most important component of the working environment, without which nothing will be functional. I don’t really know what the benefits of having all settings stored in once place are, but I do know the disadvantages. Windows Registry grows over time and collects plenty of rubbish and obsolete data. This and the disk fragmentation are the main reasons why Windows always becomes slower and slower over time. Registry problems cause many error messages. Bloated registry also causes its hidden files to be fragmented, which results in even slower performance. Moreover, plenty of viruses and other security threats use Windows Registry to run and also to control the system.
An example of Windows Registry structure.
Software Installation and Updates:
I’ve already mentioned a few things about installing new programs in Windows. Added to that, the need to install every single program in a separate process is a huge waste of time. All those multi-step installation wizards for every little utility that require you to follow and give some input will seem like a sick joke after you try any of Linux package management interfaces. The total time to setup a fully-functional Windows system can easily reach 10 hours (including the time needed to tweak and optimize the system).
Windows doesn’t keep track of any third-party software installed. It means that, in order to update them, you’ll either check for updates manually on their websites, or allow dozens of individual update-checking agents running in the background. Of course, neither one is nearly acceptable.
NTFS and FAT file systems:
Both NTFS and FAT file systems suffer badly from file fragmentation over time. With normal computer usage, fragmentation will increase by 1% a day. It starts to noticeably affect system performance when it exceeds 10% (i.e. in 10 days). Microsoft Disk Defragmenter only joins file parts but does not optimize file location. You’ll need an advanced defragmenter to optimize the hard disk for best performance because NTFS and particularly FAT systems are sensitive to file location in addition to file contiguity.
An example of fragmented FAT32 disk.
After two decades, Microsoft finally realized that Windows security policies need a radical re-writing. However, even with Windows Vista’s UAC (user account control), they failed to do it right. With any pre-Vista Windows you need to be an administrator-level user to do most tasks, which means exposing your system to all sorts of risks. Even though Vista is better in managing user privileges, but it is still primitive in file permissions. Basically all files are accessible one way or another, which makes them prone to tampering attacks.
There are about 80’000 active viruses for Windows compared to less than a 100 for Linux, and regardless of the reason (which Microsoft tries to justify), it simply means that Linux is the safer OS hands-down. The simple truth is that Windows XP’s security is mediocre, and even though Microsoft has made a good step forward with Vista, but it is still nowhere near Linux.
A vital aspect of security is keeping your applications up-to-date with the latest security patches. That is hard manual labor in Windows, but with Linux (thanks to its package management model) it’s fully automatic.
Windows Vista is released 6 years after Windows XP and this is too long to be able to preserve the backward compatibility. It’s also a very long time on many levels. IT is a fast-paced domain and it’s unacceptable to wait that long for extra functionality or new features. I also consider it outrageous that Vista doesn’t run on most existing computers, which means that after 6 years of waiting for a modern OS, your one-year-old computer is not supported.
In practical terms, upgrading to Windows Vista is often impossible due to software and hardware compatibility and that restricts Vista to only new computer systems.
Windows Upgrade Tool rarely finds a system suitable for upgrading.
Of course, all problems mentioned above are well-known and several developers tried to help solving them by creating customization and tweaking tools, disk cleaning utilities, registry cleaners and defragmenters, advanced disk defragmenters, anti-viruses and other security software. However, this only makes system maintenance a lengthy and annoying task. Again, either you have to do several maintenance tasks manually or accept a tangible system resources loss for agents running in the background; not to mention the additional costs of such software.
Isn’t it better to switch to a system that doesn’t have all those problems rather than trying desperately to fix such a heavily-flawed system?
Linux is Free:
Most Linux incarnations are free, and only some corporate-oriented editions that include professional technical support are offered at a fraction of Windows price. Moreover, not only is the main OS free, but also thousands of available packages that cover almost everything. Many people tend to be skeptical about Linux quality because they think free stuff cannot be good. However, it has been proven without doubt that “open-source” development model resulted in superior quality free software that even big corporations like Microsoft cannot match. Of course, not all Linux projects are successful and not all Linux programs are good and reliable, but isn’t it the same for Windows?
Linux is gentle of your system:
Linux is based on an amazingly small kernel, about 20 MB in size, and that makes it suitable for most computers. There are Linux distributions as small as 50 MB with full graphical user interface and standard functionality. Most recent Linux versions run on systems with 256MB of RAM and an old Pentium processor, and while it is running, it consumes less RAM and CPU horsepower than Windows (Ubuntu 7.10 occupies about 200MB of RAM compared to 400MB of Windows XP SP2 and more than 512MB for Vista). This small footprint makes Linux ideal to revive older machines with a modern set of features and applications. It also makes Linux the OS-of-choice for sub-notebook devices and low-end computers.
Damn-Small Linux 4.2, a Linux distribution with a graphical interface yet it is less than 50MB in size.
Linux is clean and efficient:
In Linux world, packages (i.e. applications) are stored in “pools” on some web servers to make a “repository”. The repository providers keep their packages up-to-date and test their compatibility with the targeted Linux distribution. Most Linux distros use central package management interfaces to add/remove programs. The package manager keeps and updates the list of available software on the internet. When installing a new package, a compressed archive is downloaded from the repository and then extracted to specific folders. (and then the original installation archive can be safely deleted.) The package manager uses installation logs to remove all files when demanded leaving nothing that may hurt the system.
Using the package manager to add/remove applications is much more efficient than Windows. You can install hundreds of packages simultaneously. Select all of them from the list, and then press a button and that’s all. You can also search for any software using the package manager instead of looking for them on the web. Packages are very well organized and tagged to make browsing them fast and easy.
Ubuntu’s Synaptic Package Manager
Linux doesn’t have a registry comparable to Windows Registry. Instead, most settings are stored in small text files which are directly accessible for manual customization (if needed). There are some registry-like sections of Linux (mainly for the GUI) but it doesn’t grow over time and it’s much less likely to get defragmented.
Linux is free from ad-ware, bloat-ware and other useless third-party trial-ware that usually comes with new computers.
Linux is secure:
Linux uses a security policy very similar to web servers. Users have specific privileges which can be easily defined. By default, users have no authority over system files, and the only place in which they have full permissions is their “Home” folders (comparable to “My Documents” folder in Windows.) In order to perform administrative tasks, you either need to use the “root” account or input a password (sudo model). This prevents any external manipulation without the user’s consent.
File and folder permissions are identical to those on web servers. This makes it possible to make critical files completely inaccessible (not even for read-only) and thus protects the system.
An example of file permissions in Ubuntu Linux
Linux has several other security features, such as AppArmor anti-tampering protection, Memory Anti-rootkits protection and build-in network traffic filtering. It is also hacking-proof because no ports are opened by default.
Linux is reliable:
BSOD (Blue Screen of Death) is publicly a Windows trademark. Linux is by no means a crash-proof system but it is less likely to halt especially to a state where it requires restarting the computer. Linux is multi-level system and the GUI is practically no more than a running program. So even if the GUI crashes, you’ll be able to restore it directly from the command line.
The only reason one would need to turn off or restart a Linux system would be to add hardware or change the kernel (update it or install a module into it). That means that the end-user can count on Linux to work consistently, day in and day out.
Updates and upgrades:
Popular Linux distros have 6-12 months release cycle. They are almost all backward compatible and upgrading the system is easy, fast and trouble-free. Fast release cycle means cutting-edge technologies and up-to-date features and fast fixing of problems and shortcomings.
Updating installed software is fully-automated through the package manager so one doesn’t need to check for individual applications updates. The same naturally goes for the system itself. Moreover, no update will ever ask for a reboot unless it changes the system kernel.
EXT3 File System, SWAP partition:
Unlike FAT and NTFS, EXT3 file system is barely sensitive to file location and it’s less prone to fragmentation. EXT3 is also more secure against boot-sector viruses, and performs faster and more efficiently than FAT and NTFS especially for multiple simultaneous disk operations.
Linux uses a dedicated SWAP disk partition for swapping old or overflowing RAM contents. Windows, on the other hand, uses a huge paging file stored on the C drive so it interferes with other disk operations and slows down applications that requires frequent disk access.
Linux is advanced:
Linux incorporates many advanced technologies that expand its usability and applicability. It is natively multi-user which means that more than one user can remotely and locally log-on and use the system simultaneously. This feature allows a user to use an old, slow computer as a terminal to work directly on a powerful computer on the network, and this is different from Remote-Desktop feature (also supported).
Linux has a kernel-level support for virtualization technologies which makes it more efficient as a host system than Windows. Not far from that, WINE project for Linux allows thousands of Windows applications to natively run on Linux systems. Other projects like VirtualBox allow seamless integration between virtual and physical systems running at the same time.
Customization options are endless with Linux systems, and this is the main reason why there are hundreds of Linux distributions available today. The more you learn about Linux, the more you’ll be able to fine-tune it for your specific needs. However, all major Linux distros can work very well right out of the box.
Linux is very modular, and this characteristic allows it to fit in almost every machine: mobile phones, PDAs, MIDs (Mobile Internet Devices), sub-notebooks, laptops, desktops, web servers, data centers and up to super-computer clusters.
Linux is easy to use and maintain:
Linux has an inherited reputation of being difficult to use. That was because, in the past, users needed to use the command line for most tasks. Command line environments can be faster than GUIs if one knows how to use them, but for most users, a simple intuitive graphical user interface is vital. However, today’s Linux editions are totally different. Most tasks can be performed without the command line; even though most How-To’s and guides on the web rely on it. That is because most Linux contributors are advanced users and they feel that the command line is fast and direct.
Compared to the complicated, never-ending maintenance shores in Windows, Linux barely needs an effort. Temporary files are automatically flushed when a user logs-off. There is no registry to clean or a disk to defragment. The only things that need to be done are to keep an eye on the update notifier and to flush downloaded installations archives from while to while. Possibly, you may inspect your “Home” folder for obsolete application settings because un-installing some applications may leave their personalized settings untouched.
Ubuntu’s Update Notification Applet