Google

Linux VS Windows

LINUX vs. WINDOWS



Flavors

(revised April 2007) Both Windows and Linux come in many flavors. All the flavors of Windows come from Microsoft, the various distributions of Linux come from different companies (i.e. Linspire, Red Hat, SuSE, Ubuntu, Xandros, Knoppix, Slackware, Lycoris, etc. ).

Windows has two main lines. The older flavors are referred to as "Win9x" and consist of Windows 95, 98, 98SE and Me. The newer flavors are referred to as "NT class" and consist of Windows NT3, NT4, 2000, XP and Vista. Going back in time, Windows 3.x preceded Windows 95 by a few years. And before that, there were earlier versons of Windows, but they were not popular. Microsoft no longer supports Windows NT3, NT4, all the 9x versions and of course anything older. Support for Windows 2000 is partial (as of April 2007).

The flavors of Linux are referred to as distributions (often shortened to "distros"). All the Linux distributions released around the same time frame will use the same kernel (the guts of the Operating System). They differ in the add-on software provided, GUI, install process, price, documentation and technical support. Both Linux and Windows come in desktop and server editions.

There may be too many distributions of Linux, it's possible that this is hurting Linux in the marketplace. It could be that the lack of a Linux distro from a major computer company is also hurting it in the marketplace. IBM is a big Linux backer but does not have their own branded distribution. Currently there seem to be many nice things said about the Ubuntu distribution.

Linux is customizable in a way that Windows is not. For one, the user interface, while similar in concept, varies in detail from distribution to distribution. For example, the task bar may default to being on the top or the bottom. Also, there are many special purpose versions of Linux above and beyond the full blown distributions described above. For example, NASLite is a version of Linux that runs off a single floppy disk (since revised to also boot from a CD) and converts an old computer into a file server. This ultra small edition of Linux is capable of networking, file sharing and being a web server.



Graphical User Interface

Both Linux and Windows provide a GUI and a command line interface. The Windows GUI has changed from Windows 3.1 to Windows 95 (drastically) to Windows 2000 (slightly) to Windows XP (fairly large) and is slated to change again with the next version of Windows, the one that will replace XP. Windows XP has a themes feature that offers some customization of the look and feel of the GUI.

Linux typically provides two GUIs, KDE and Gnome. See a screen shot of Lycoris and Lindows in action from the Wal-Mart web site. The lynucs.org web site has examples of many substantially different Linux GUIs. Of the major Linux distributions, Lindows has made their user interface look more like Windows than the others. Here is a screen shot of Linux made to look like Windows XP. Then too, there is XPde for Linux which really makes Linux look like Windows. Quoting their web site "It's a desktop environment (XPde) and a window manager (XPwm) for Linux. It tries to make easier for Windows XP users to use a Linux box."

Mark Minasi makes the point (Windows and .NET magazine, March 2000) that the Linux GUI is optional while the Windows GUI is an integral component of the OS. He says that speed, efficiency and reliability are all increased by running a server instance of Linux without a GUI, something that server versions of Windows can not do. In the same article he points out that the detached nature of the Linux GUI makes remote control and remote administration of a Linux computer simpler and more natural than a Windows computer.

Is the flexibility of the Linux GUI a good thing? Yes and No. While advanced users can customize things to their liking, it makes things harder on new users for whom every Linux computer they encounter may look and act differently.


Text Mode Interface

This is also known as a command interpreter. Windows users sometimes call it a DOS prompt. Linux users refer to it as a shell. Each version of Windows has a single command interpreter, but the different flavors of Windows have different interpreters. In general, the command interpreters in the Windows 9x series are very similar to each other and the NT class versions of Windows (NT, 2000, XP) also have similar command interpreters. There are however differences between a Windows 9x command interpreter and one in an NT class flavor of Windows. Linux, like all versions of Unix, supports multiple command interpreters, but it usually uses one called BASH (Bourne Again Shell). Others are the Korn shell, the Bourne shell, ash and the C shell (pun, no doubt, intended).



Cost

For desktop or home use, Linux is very cheap or free, Windows is expensive. For server use, Linux is very cheap compared to Windows. Microsoft allows a single copy of Windows to be used on only one computer. Starting with Windows XP, they use software to enforce this rule (Windows Product Activation at first, later Genuine Windows). In contrast, once you have purchased Linux, you can run it on any number of computers for no additional charge.

As of January 2005, the upgrade edition of Windows XP Home Edition sells for about $100, XP Professional is about $200. The "full" version of XP Home is about $200, the full version of XP Professional is $300. Windows Server 2003 Standard Edition with 10 Client licenses is about $1,100. Because they save $100 or so on the cost of Windows, Wal-Mart can sell a Linux based computer for $200 (without a monitor) whereas their cheapest Windows XP computer is $300 (as of January 2005).

The irony here is that Windows rose to dominance, way back when, in large part by undercutting the competition (Macs) on cost. Now Linux may do the same thing to Windows.

You can buy a Linux book and get the operating system included with the book for free. You can also download Linux for free from each of the Linux vendors (assuming your Internet connection is fast enough for a 600 MB file and you have a CD burner) or from www.linuxiso.org. Both these options however, come without technical support. All versions of the Ubuntu distribution are free.

You can purchase assorted distributions of Linux in a box with a CD and manuals and technical support for around $40 to $80 (some distributions may be less, others may be more). Regular updates and ongoing support range from $35 a year for a desktop version of Linux to $1,500 for a high-end server version. August 2004 Red Hat started selling a desktop oriented version of Linux for under $6 per user per year.

After the initial cost (or lack thereof) of obtaining software, there is the ongoing cost of its care and feeding. In October 2002, ComputerWorld magazine quoted the chief technology architect at Merrill Lynch & Co. in New York as saying that "the cost of running Linux is typically a tenth of the cost of Unix and Microsoft alternatives." The head technician at oil company Amerada Hess manages 400 Linux servers by himself. He was quoted as saying "It takes fewer people to manage the Linux machines than Windows machines." Microsoft commissioned a study that (no surprise) found it cheaper to maintain Windows than Linux. However, one of the authors of the study accused Microsoft of stacking the deck by selecting scenarios that are more expensive to maintain on Linux.

I don't know if there will ever be an objective measure of the ongoing care and feeding costs for Linux vs. Windows. If there were however, it would have to consider:

  • Dealing with bugs in the operating system
  • Dealing with bugs in application software
  • Dealing with viruses, worms, Spyware, etc.(big advantage to Linux here)
  • Dealing with software upgrades to new versions (both the OS and applications)


Getting Linux

Nothing need be said about getting Windows. As for Linux, you can buy a computer with it pre-installed, but usually not at major retailers. All the major PC vendors have been selling Linux based machines on their web sites for years. In large part though, these were server computers targeted at businesses not consumers. Linux pre-installed on consumer machines has been hit or miss, mostly miss. But, there are signs that this is changing (see the next topic - low cost laptops - for more on this).

There seems to be (as of November 2007) a new trend in targeting Linux for consumers. Many different companies are offering computers with low end CPUs targeted as second machines, or for use by children. This could be a Windows Vista backlash. Moving from Windows XP to Vista requires more complexity, more hardware horsepower and learning a new interface. Plus, it's expensive both for the hardware and the software. In contrast these latest Linux based computers machines have a simplified user interface and require the same or less hardware horsepower than Windows XP. And they are much cheaper, both for hardware and software reasons. The Linux interface can be customized, and every company selling a Linux based machine customizes the look and feel. Some go for simplicity hoping the machine can be used by children and non-techies. Other try to mimic the Windows XP interface.

An interesting article on cheap Linux computers for consumers is Five reasons not to fear a $200 Linux PC by Erica Ogg of CNET dated January 24, 2008. The subtitle is: A rash of supremely affordable PCs preloaded with Linux has hit mainstream retail stores. And trying one is not as risky a proposition as you might think.

Wal-Mart was a very early player when it came to selling computers running Linux. In November 2007 they started again, after backing away from it. The Everex Green gPC TC2502 is $200 (just for the computer, no monitor), emphasizes online applications but comes with Open Office, runs a version of Linux called gOS (which itself is a version of Ubuntu v7.10) and comes with 512MB of RAM, an 80GB hard disk, a CD burner/DVD reader and both Ethernet and a modem for connecting to the Internet. According to a CNET review in also includes 24/7 toll-free tech support. Shortly after its release, it appears to be popular. See also Review of the Everex TC2502 Green gPC and $200 Ubuntu Linux PC Now Available at Wal-Mart.

Previously, Wal-Mart sold PCs with Lycoris, Lindows and SuSE also for as low as $200. In March 2004, they started selling Sun Microsystems' version of Linux, the Sun Java Desktop, starting at $298. In December 2004, Wal-Mart started selling a $498 laptop computer running Linspire. I don't think these were big successes.

In January 2008, Sears started selling a Linux based tower machine for $300, with a $100 rebate that brings it down to $200. The hardware is from Mirus Innovations and it comes with a Celeron processor, 80GB hard disk, 1GB ram, a CD burner and Freespire version 2.0 (a version of Linspire).

The Zonbu Desktop mini is small, silent and cheap. It is approximately 5 x 7 x inches with no moving parts, 512 MB ram, and 4GB of flash based storage. It costs $100 to $300 depending on the service plan you chose (as of January 2008). Service plans include continuous online backup. See One week with Zonbu by Peter Glaskowsky at CNET September 14, 2007.

In August 2007 Lenovo announced plans to sell laptop computers with Linux pre-installed. They were to run a Linux distribution from Novell and were expected in the fourth quarter of 2007. They actually went on sale in January 2008, but as of the end of January 2008, the web page for Linux on Thinkpads seems like their heart is not in it. At Lenovo.com, none of the desktop computers are offered with Linux (as of June 2007).

In June 2007 Dell started selling consumer machines with Ubuntu Linux pre-installed. See Dell picks Ubuntu for Linux PCs at CNET News.com. As of December 2007 they sell machines with Ubuntu Linux version 7.10. See here and also dell.com/linux and linux.dell.com.

In January 2008 Shuttle introduced a $200 Linux based computer. Also in January Asus said it will release a desktop version of the Eee PC to be called the E-DT. The E-DT is expected to cost between $200 and $300 ( obviously this is without a monitor).

HP dipped their toe into consumer Linux, but as of June 2007, every HP consumer desktop is running Windows Vista. On their 38 consumer laptops, 37 are running Vista, one uses XP. Even their small business desktop machines are all Windows. They only sell server versions of Linux. Back in 2004 HP was planning to offer a business notebook computer, the Compaq nx5000, with SUSE Linux pre-installed.

Emperor Linux loads Linux distributions on laptops from Dell, IBM, Sony and others. Pogo Linux sells custom-built desktops loaded with both Linux and Windows. Their main customers are universities and government agencies.



Installing the Operating System

There are three ways to install Windows XP: a clean install, an upgrade install and a repair install. Then, there is a "recovery" install, which is not an install in the true sense of the word but rather the restoration of a disk image backup.

  • A clean install refers to starting with nothing (either an entirely empty hard disk or just an empty partition or just unallocated space on the hard disk) and ending up with just Windows.
  • An upgrade install refers to starting with an older version of Windows and ending up with a newer version. Existing data files and applications should not be affected by the upgrade to the newer edition of Windows.
  • A repair install refers to installing the same version of Windows on top of itself. This is used to fix a broken copy of Windows and existing data files and applications are not affected.
  • A "recovery" is typically used to restore a computer to its factory fresh state. All data files are wiped out. All applications installed since the computer was new, are wiped out. All upgrades to Windows itself (patches, service packs) are lost. Applications pre-installed by the computer manufacturer are restored. Originally this was done from CDs, then DVDs. Now it is normally done from a hidden area of the hard disk.

Then there is Windows Vista where much has changed. I'm not familiar with the install options for Vista. Andy Pennell, a Microsoft employee, wrote about his problems installing Vista on June 21, 2007. He is very familiar with Windows and installed Vista onto a second internal hard disk, leaving the existing hard disk with Windows XP unchanged. At least that was the plan. See Installing Vista: My Personal Hell. Installing Vista on a computer with an existing copy of Windows, with the intention of dual-booting, is much trickier than it used to be with earlier versions of Windows.

There is a huge variation in the Linux installation procedure. Different distributions of Linux have their own installation programs (which may even change with different versions of the same distribution). Installing Linux on a computer without an existing operating system is much easier than installing it on a machine with an existing OS that you want to preserve.

I'm sure that installing Linux is getting easier all the time. While I haven't done it all that often, I have seen it become easier over time. Is it easy enough for you?

  • Ed Bott blogged about his experience installing Linux on July 31, 2006. Linux, XP, and my old PC
  • In March 2007, he tried again with mixed success. Why does Linux hate me?
  • A picture is worth a thousand words so this July 2007 picture show at ZDnet on Installing OpenSUSE 10.2 is instructive
  • In June 2007, I installed Ubuntu v7.4 on an IBM NetVista machine that was about four years old. The system would only run at 640x480 and things went downhill from there. The problem may have been due to a KVM switch that prevented the system from querying the monitor. However, instead of asking me or telling me anything about a failure to detect the monitor, it just ran at 640x480 with no GUI based facility to increase the resolution.

When installing Linux on a machine where you don't need to preserve the existing operating system, there is likely to be an option to clobber the existing OS as part of the Linux installation procedure. Or, you can use a program to totally wipe everything off the hard disk before installing Linux. The free Darik's Boot and Nuke is fairly famous for this. Better yet, the hard disk vendor should have a free utility that not only wipes the hard disk but also can run diagnostics on the disk.

You can also buy a new computer without any operating system. A low end Dell server, the PowerEdge 840 sold for $600 in June 2007. You can buy an HP ProLiant server starting at $500 that is certified to run six Linux distributions. IBM is big on Linux, quoting their web site: "The entire IBM Systems product line is Linux enabled." They sell computers both with no operating system and with Linux pre-installed. Nothing there is cheap however. Wal-Mart used to sell Microtel machines without an OS, but no more.

Installing Linux for dual booting, that is, keeping the existing operating system in tact, is probably best left to techies. It is all too easy to lose the pre-existing OS. You need to be familiar with hard disk partitions and some Linux terminology. With Red Hat Linux 8, the booklet on how to install the OS was over a hundred pages.

In his Linux book, Mark Minasi said that installing Linux on a desktop computer was more likely to be successful than on a laptop computer.


Application Software

There is more application software available for Windows. Then again, there may be sufficient software for your needs.

Obtaining application software: If you buy a copy of Windows on a CD-ROM, you get no application software with it. If you buy a copy of Linux on a CD-ROM (or two or three) it typically comes with gobs of free application software. A new computer with Windows pre-installed may have additional application software, this is up to the PC vendor. I have seen a new Sharp laptop machine that came with no software other than Windows itself. In contrast, Sony VAIOs, for example, come with a lot of software. Often however, necessary software, such as the Adobe Acrobat reader, is not pre-installed by the PC vendor. Each Linux distribution comes in multiple flavors, the more expensive versions come with more application software.

Application software installation: The installation of applications under Windows, while not standardized, is generally consistent. Installing software under Linux varies with each distribution and is not nearly as simple, easy or obvious as Windows. Lindows lets users install software in a manner somewhat like Windows update - applications are downloaded and automatically installed. They charge for this service however. The May 20, 2004 issue of the Langa list newsletter had an interesting take on the difficulty installing software under Linux. In a July 4, 2004 review of Linux in the Washington Post (Linux, Still an Awkward Alternative), Rob Pegoraro called application software installation "Linux's biggest embarrassment" and I have no doubt that he is correct.


Server Based Applications

There is yet another approach to crossing the operating system divide that goes by the names Terminal Services, Server Based Computing and Thin Client Computing. This approach runs applications on a server and sends a picture of the output to another (client) computer. From the client computer, keystrokes and mouse movements are sent back to the server. This approach is totally dependent on a network.

Windows applications are run by a server version of Windows and use the Terminal Services feature to communicate with a client computer. Depending on the software used, the client computer may be running Linux or Windows or a Mac. The all Microsoft solution can be supplemented with software from other companies (Citrix being the market leader) to provide advanced features. Years back, I used an earlier version of the Citrix software, then known as WinFrame, to provide Windows NT applications to client computers running Windows 95 and 98. Quite cool.

On the Linux/Unix side, Tarantella supports the display of Unix server applications on non-Unix, non-Linux machines.


Networking

They both do TCP/IP. Linux can do Windows networking, which means that a Linux computer can appear on a network of Windows computers and share its files and printers. Linux machines can participate on a Windows based network and vice versa. See Mixing Unix and Windows By Larry Seltzer (July 2002).



File Systems

Windows uses FAT12, FAT16, FAT32 and/or NTFS with NTFS almost always being the best choice. The FATx file systems are older and have assorted limitations on file and partition size that make them problematical in the current environment. Linux also has a number of its own native file systems. The default file system for Linux used to be ext2, now it is typically ext3.

File systems can be either journaled or not. Non-journaled systems are subject to problems when stopped abruptly. All the FAT variants and ext2 are non-journaled. After a crash, they should be examined by their respective health check utilities (Scan Disk or Check Disk or fsck). In contrast, when a journaled file system is stopped abruptly, recovery is automatic at the next reboot. NTFS is journaled. Linux supports several journaled file systems: "ext3", "reiserfs" and "jfs".

All the file systems use directories and subdirectories. Windows separates directories with a back slash, Linux uses a normal forward slash. Windows file names are not case sensitive. Linux file names are. For example "abc" and " aBC" are different files in Linux, whereas in Windows it would refer to the same file. Case sensitivity has been a problem for this very web page, the name of which is " Linux.vs.Windows.html". At times, people have tried to get to this page using " linux.vs.windows.html" (all lower case) which resulted in a Page Not Found error. Eventually, I created a new web page with the name in all lower case and this new page simply re-directs you to the real page, the one you are reading now (with a capital L and W).

Fragmentation: (Added January 2008) Windows file systems all suffer from fragmentation, which results in a file being scattered all over the hard disk. I'm told that Linux file systems are much less prone to this, but I don't know the details and whether it applies to all or some of the Linux file systems. With classic magnetic platter based hard disks, fragmentation can be a big deal as the disk is much slower than the RAM or CPU and having to walk all over the hard disk to get a file slows things down. How this will play out on newer SSDs I don't know. While there is no waiting for spinning platters, SSDs have to deal with wear leveling, a feature designed to extend their limited lifespan. Speaking of fragmentation, I've heard very good things about Raxco's PerfectDisk for Windows.

Crossing Over: (Last Updated: June 2007) As for supporting each others file systems, Linux can read/write FAT16 and FAT32. When I first wrote this topic, only some Linux distributions could read NTFS partitions. Now more can both read and update NTFS, a feature critical to using Linux as a Rescue CD for a broken copy of Windows.

Captive-NTFS was "the first free NTFS read/write filesystem for GNU/Linux". It is no longer being maintained. In its place is the NTFS-3G Read/Write Driver which the website describes as "an open source, freely available read/write NTFS driver for Linux, FreeBSD, OS X, and NetBSD." NTFS-3G is fairly new, being considered stable only since February 2007. It can deal with the multiple versions of NTFS used by Windows XP, Windows Server 2003, Windows 2000 and Windows Vista. At least 85 distributions support NTFS-3G in some manner, among them: Ubuntu, Red Hat, Debian, Knoppix and Mandriva.

In September 2005, PC Magazine reviewed a product called NTFS for Linux from the Paragon Software Group that gives Linux read/write access to NTFS partitions. For more information on Linux and NTFS, see the Linux NTFS Project.

On its own, Windows can not read partitions formatted with any Linux file system. However, a number of products enable this:

  • Explore2fs by John Newbigin can be used to read Linux ext2 and ext3 partitions. Portable version
  • Ext2Fsd claims to be an Ext2 File System Driver for Windows
  • An open source project, the Ext2 File System Driver for Windows
  • The free Linux Reader for Windows from Diskinternals can read the Ext2/Ext3 file systems (added September 2007) Portable version
  • The Ext2 Installable File System For Windows is free and provides full read and write access to partitions and floppy disks formatted with either Ext2 or Ext3. It works with Windows NT4, 2000, XP and 2003. It's also referred to as Ext2 IFS for Windows. If you are running a NAS device, it may very well be storing files using the Ext2 or Ext3 file system.

I have not tried these.

File Hierarchy: Windows and Linux use different concepts for their file hierarchy. Windows uses a volume-based file hierarchy, Linux uses a unified scheme. Windows uses letters of the alphabet to represent different devices and different hard disk partitions. Under Windows, you need to know what volume (C:, D:,...) a file resides on to select it, the file's physical location is part of it's name. In Linux all directories are attached to the root directory, which is identified by a forward-slash, "/". For example, below are some second-level directories:
/bin/ ---- system binaries, user programs with normal user permissions
/sbin --- executables that need root permission
/data/ --- a user defined directory
/dev/ ---- system device tree
/etc/ ---- system configuration
/home/ --- users' subdirectories
/home/{username} akin to the Windows My Documents folder
/tmp/ ---- system temporary files
/usr/ ---- applications software
/usr/bin - executables for programs with user permission
/var/ ---- system variables
/lib --- libraries needed for installed programs to run

Every device and hard disk partition is represented in the Linux file system as a subdirectory of the lone root directory. For example, the floppy disk drive in Linux might be /etc/floppy. The root directory lives in the root partition, but other directories (and the devices they represent) can reside anywhere. Removable devices and hard disk partitions other than the root are attached (i.e., "mounted") to subdirectories in the directory tree. This is done either at system initialization or in response to a mount command.

There are no standards in Linux for which subdirectories are used for which devices. This contrasts with Windows where the A disk is always the floppy drive and the C disk is almost always the boot partition.

Hidden Files: Both support the concept of hidden files, which are files that, by default, are not shown to the user when listing files in a directory. Linux implements this with a filename that starts with a period. Windows tracks this as a file attribute in the file metadata (along with things like the last update date). In both OSs the user can over-ride the default behavior and force the system to list hidden files.

Case: Case sensitivity is the same with commands as with file names. When entering commands in a DOS/command window under any version of Windows, "dir" is the same as "DIR". In Linux "dir" is a different command than "DIR".


0 komentar: