Software restrictions:
-----------------------
A program written for Linux will not run under Windows and vice versa. For example, Microsoft makes a version of Office for Windows and another version for the Mac. They are two different products, each capable of only running on the operating system it was designed for. There is no version of Microsoft Office for Linux. Some programs, such as Firefox, are available for multiple operating systems (Firefox runs on Linux, Windows, Macs and more). Vendors of such software go to the trouble of making different versions for each supported operating system.
This is the rule, but there are a fair number of exceptions.
The most ambitious exceptions allow for installing one operating system under another. For example, on a computer running Linux (referred to as the host or native OS), you can install a copy of Windows (referred to, in this case, as the guest OS). In the Windows OS running under Linux, you can install any and all Windows programs. Somewhat like a split personality, one computer can run two operating systems at the same time. The guest operating system runs in an environment referred to as a virtual machine (VM). A company called VMware was the first to market with a virtual machine product (also called VMware) for personal computers. Virtual PC, competes with VMware. The two products differ in their supported host and guest operating systems. Virtual PC used to be from Connectix but Microsoft purchased them in 2003. The first release from Microsoft, Virtual PC 2004 will run Linux, but Microsoft does not provide support. Microsoft also lowered the price to $129.
Win4Lin, by NeTraverse is also a virtual machine product, but not as full featured as Virtual PC or VMware. It provides a virtual Windows environment under Linux for Windows 95/98/Me. At $89 though, it is much cheaper than the more feature laden virtual machine products and still lets you run two operating systems concurrently. (read a review). There are two flavors of Win4Lin, a standard desktop version and a terminal server version. For more see Software maker weds Linux PCs, Windows applications from CNET News.com April 22, 2004.
Less ambitious than virtual machine products (which let you run any application on the guest OS) are Linux distributions that attempt to run a handful of Windows programs directly. The goal here is enable migration of desktop users from Windows to Linux while still being able to run some Windows applications under Linux. The three Linux distributions that do this, all include a product called CrossOver Office from CodeWeavers that allows running Microsoft Word, Excel, PowerPoint, Outlook (from Office 97 and Office 2000), Visio 2000, Intuit's Quicken and Lotus Notes directly under Linux. The first Linux distribution to offer this feature was Lindows. Xandros Linux (previously Corel Linux) released their Desktop 1.0 distribution in October 2002 with better Windows compatibility than Lindows (see ExtremeTech review). SuSE Linux Office Desktop was released in January 2003 and can run some Microsoft Office programs (read more about this from ExtremeTech, USA Today, ZDNet).
For more on the subject of running selected Windows applications directly under Linux read: CrossOver Office Professional 3.0.1 by Jim Lynch at ExtremeTech (June 2004), Run Microsoft Office Without Windows from PC Magazine (April 2002), Breaking Windows: CodeWeavers and NeTraverse Bring Office to Linux from Open for Business (May 2002) and Linux Offers Better Windows Apps Without the Wait by Steven J. Vaughan-Nichols in eWeek (May 2004).
CrossOver also can be purchased separately (CodeWeavers sells it for $50) and installed on other Linux distributions. Support for Office XP is expected in the future. Front Page and Access are not supported. This approach does less but costs less - there is no need for a Windows license and no need for a VM product.
CrossOver is based on the Wine project, which attempts to allow a handful of important Windows applications to be more or less usable in a Linux environment. Wine is free software and is included with many GNU/Linux distributions. CrossOver Office is a commercial version of Wine that you have to buy. Wine does not, and will not, provide 100% compatibility; it will never run all Windows applications perfectly. Even applications that its runs well may not have all their features and functions available. Mary Jo Foley wrote that the Microsoft WGA (Windows Genuine Advantage) program looks for Windows programs running with Wine and purposely generates an error. See Microsoft Seeks to Bottle Up Open Source Wine (February 18, 2005).
TransGaming makes WineX which allows Linux users to run various Windows games that require OpenGL and DirectX. The combination of CrossOver Office and WineX should let you run many Windows programs under Linux and is likely to be cheaper than VMware or Virtual PC. In July 2004 TransGaming gave WineX a new name, Cedega, and announced support some DirectX 9 games. (Linux Takes on Windows Gaming from ExtremeTech July 28, 2004)
On yet another front, Ximian (owned by Novel) is developing Project Mono, which will allow Microsoft .Net applications to run on Linux. This should be very very exciting (at least to us nerds).
Microsoft has no interest in supporting Linux applications under Windows. The virtual machine products just mentioned however can do this.
There is yet another approach to crossing the OS divide that goes by the names Terminal Services, Server Based Computing and Thin Client Computing. On the Windows side, the Terminal Services feature in Windows 2000 Server and Windows 2003 server can be supplemented with software from other companies (Citrix being the market leader) to provide server-based Windows applications to non-Windows machines. I used an earlier version of the Citrix software, then known as WinFrame, to provide Windows NT server-based applications to Windows 95 and 98 clients. Quite cool. On the Linux/Unix side, Tarantella supports the display of Unix server applications on non-Unix, non-Linux machines.
Supported Hardware Devices:
---------------------------
More hardware works with Windows than works with Linux. This is because hardware vendors write drivers for Windows more often than they do for Linux. When Windows XP came out however, many existing peripherals would not work with it because XP required new drivers and the vendors had little motivation to write drivers for old hardware.
The poor hardware support in Linux is drastically illustrated in an article by Fred Langa. He wrote about problems getting nine different Linux distributions (versions) to work correctly with two different sound cards (one real, one virtual) that all versions of Windows, even back to Windows 95, dealt with perfectly (see Linux's Achilles' Heel, Information Week magazine. April 19, 2004).
Hardware the OS runs on:
-------------------------
(Updated March 2005) Linux runs on many different hardware platforms, not so with Windows. For example, Windows NT used to run on MIPS CPUs until Microsoft changed their mind. It also used to run on Alpha CPUs, again, until Microsoft changed their mind. No one gets to change their mind with Linux. It runs on a very wide range of computers, from the lowest of the low to the highest of the high. The supported range of computers is all but stunning.
Because of its ability to run without a GUI, and thus need less hardware horsepower than Windows, Linux can run on very old personal computers such as 486 based machines. I took a Linux class where the server the students used was a 100 MHz Pentium. To get more mileage out of old hardware, Papa John's converted 2,900 pizzerias to Linux. On the high end, Linux runs natively on IBM mainframes (the Z series) and on other high end IBM servers. eBay runs their web site on Linux as does Google. IBM's family of "Blue Gene" supercomputers, used by Lawrence Livermore National Laboratory for nuclear weapons simulations, run Linux. NASA uses it on supercomputers that run space-shuttle simulations. On the small side, the iPodLinux Project created a version of Linux that runs on Apple iPods. NEC is working on Linux-based cell phones and Motorola is going to make Linux its primary operating system for smart cell phones. Debian Linux can run on on a computer the size of a deck of playing cards (100mm by 55mm) with an ARM cpu. In the home, Sony and Matsushita (parent company of Panasonic) will use Linux to build increasingly 'smart' microwave ovens, TVs and other consumer gizmos. Likewise MontaVista Software will release a version of its embedded Linux for use in consumer electronics devices. Web site linuxdevices.com seems to track this.
Clustering:
------------
Linux has an edge here. It has been used to make enormous clusters of computers. In October 2002, ComputerWorld magazine said: "Linux clusters provide supercomputer-type performance at a fraction of the expense." The same article reported that Merrill Lynch runs a cluster of 50 Linux computers. In March 2005, Forbes magazine reported that: "Linux now has become so technically powerful that it lays claim to a prestigious title--it runs more of the world's top supercomputers than any other operating system." (see Linux Rules Supercomputers by Daniel Lyons March 15, 2005).
Multiple Users:
----------------
Linux is a multi-user system, Windows is not. That is, Windows is designed to be used by one person at a time. Databases running under Windows allow concurrent access by multiple users, but the Operating System itself is designed to deal with a single human being at a time. Linux, like all Unix variants, is designed to handle multiple concurrent users. Windows, of course, can run many programs concurrently, as can Linux. There is a multi-user version of Windows called Terminal Server but this is not the Windows pre-installed on personal computers.
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).
Hard disk partitions:
---------------------
Windows must boot from a primary partition. Linux can boot from either a primary partition or a logical partition inside an extended partition. Windows must boot from the first hard disk. Linux can boot from any hard disk in the computer.
Swap files:
--------------
Windows uses a hidden file for its swap file. Typically this file resides in the same partition as the OS (advanced users can opt to put the file in another partition). Linux uses a dedicated partition for its swap file (advanced users can opt to implement the swap file as a file in the same partition as the OS).
File Systems:
-------------
(updated September 2005) 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).
As for crossing over, Linux can read/write FAT16 and FAT32. Some Linux distributions can read NTFS partitions, others can not. Captive-NTFS can be used to give Linux read/write access to NTFS partitions. I don't know much about it, but it does not seem to come pre-installed. Also, Windows XP SP2 caused it problems. In September 2005, PC Magazine reviewed a $70 product called NTFS for Linux from the Paragon Software Group that gives Linux the ability to read/write to NTFS partitions. For 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
* Ext2Fsd claims to be an Ext2 File System Driver for Windows
* An open source project, the Ext2 File System Driver for Windows
* The Ext2 Installable File System For Windows is free
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".
Modems:
--------
To save money, many internal modems do not include their own processor, instead they rely on the main cpu in the computer for their processing needs. These cheap modems are referred to as "winmodems" because they typically include low level calls to the Windows operating system that can not be replicated in Linux. For the most part, winmodems will not work under Linux. If you need to run a winmodem under Linux see Linmodems.org and
www.linuxant.com/drivers.
Scripting:
----------
Windows started with BAT files (a combination of OS commands and optionally its own language) and then progressed to Windows Scripting Host (WSH) which supports two languages, JavaScript and VB Script. Windows also has WMI, the Windows Management Interface which makes many functions available to scripts.
Linux, like all Unix variants, provides multiple scripting languages, referred to as shell scripts. Among them are the Bourne shell, the C shell, Perl, Python and Ruby. I have used the first three, but not Python and Ruby. I find the Linux scripting languages cruder than WSH but much more powerful than BAT files. They tend to use special characters instead of English commands and don't support objects (this only matters to programmers).
One scripting language that can run on both Linux and Windows is PHP. It always has to be installed under Windows, it may have to be installed under Linux. PHP is typically found running on Linux based web servers in combination with Apache, but it is capable of running "client side" (on your computer).
Printer Drivers:
----------------
Every computer printer ships with drivers for last last few versions of Windows (at the time it was manufactured). Running the printer on a very old or too new version of Windows may or may not work. Still, this a far better situation than with Linux which does not support as many printers as Windows. In an environment with many Linux users, shared network printers a tech support staff, this should not be an issue as you can limit yourself to well supported printers. Home users of Linux however, will no doubt suffer from the relatively poor support for printers. Stephen Manes wrotein Forbes magazine (October 28, 2002) that "Linux printer drivers tend to handle the simplest of printing functions and leave out the rest".
Help:
--------
Stephen Manes wrote in Forbes magazine (October 28, 2002) that Linux "Help screens often omit everything but the most rudimentary information and the most arcane." For commands, both OSs offer help on the syntax and options of individual commands, providing you know the command. In Linux it is often done by appending --help or -h to the command. In Windows it's often done by appending /? to the command.
Owing to it's command line history, Linux also offers help via the man (short for manual) and info commands. The man documentation for the ls command, for example, is referred to as the man page for ls. From the Linux command line you can search the man database with "man -k somestring" which produces a list of manual pages containing "somestring".
Windows offers help in the GUI interface for the GUI interface. On the Linux side, both KDE and Gnome also have built-in help about using themselves. I'm told that the Windows help is better for newcomers (nerds hate writing documentation, especially on an introductory level, and Linux is done by volunteers).
User Data:
----------
Windows allows programs to store user information (files and settings) anywhere. This makes it impossibly hard to backup user data files and settings and to switch to a new computer. In contrast, Linux stores all user data in the home directory making it much easier to migrate from an old computer to a new one. If home directories are segregated in their own partition, you can even upgrade from one version of Linux to another without having to migrate user data and settings.
Shutting Down:
--------------
Both have to be told to shut down and for the same reason, to quiesce in-flight activity in an orderly manner. You shut down Windows thru the Start button, then select Shutdown. In both the KDE and Gnome GUIs for Linux, you shut the system down by first logging out (equivalent to logging off in Windows). In Gnome, you select the Halt option, in KDE, the shutdown option. Linux can also be shut down from a command prompt using the shutdown command which can either shut the system down immediately or be told to shut it down at some time in the future. Windows XP also has a shutdown command, earlier versions of Windows did not.
(Updated December 2005) The scheduler built into Windows XP is not able to schedule programs to run at shutdown time. I find this annoying, because its an excellent time to schedule backups. Linux can schedule programs to run automatically at shutdown time. I haven't tried this but a quick glance at How Linux boots makes it seem complicated. I'm told to follow the instructions in this article but replace runlevel 5 with runlevel zero, which represents shutdown time.
Choosing Linux vs. Windows:
---------------------------
On the Personal Computer show in December 2003 John C. Dvorak predicted a bright future for Linux. His main points being: it's free, the applications are getting more mainstream, Open Office is a "fabulous" product, the GUI is pretty much like Windows, it's high quality, bullet proof and resistant to the thousands of Windows viruses and worms. If he owned a company with thousands of PCs, he would put everyone on Linux.
To date the only organizations (that I've heard about) using hundreds or thousands of Linux based computers are government agencies in countries all over the world. They may be driven by cost and/or security concerns (practically speaking there are no Linux viruses). Some countries also may not like being beholden to a U.S. based company for so much of their software.
See More Balls Through Windows from The Economist April 20, 2004 on cfo.com. Is Microsoft finally about to face real competition in desktop-computer software? This article raises a point I agree with. The next version of Windows, the one that will replace XP, is not going to be delivered for a long time opening up a window of opportunity for Linux. In addition, the upcoming version of Windows is likely to be expensive and require new hardware, two other areas where Linux competes well. It may also involve too many changes. By the time it's delivered, more and more Linux distributions will look more like Windows, just as Microsoft rolls out a new user interface. People accustomed to the current Windows UI may resist the change.
However, Microsoft fights the spread of Linux at all costs. For example, when Thailand was going to make government subsidized Linux based computers available throughout the country, Microsoft cut a deal with the Thai Information, Communication and Technology Ministry. People in Thailand can buy Windows XP and Office XP (without Outlook) pre-installed, activated, and ready to run for the equivalent of $37 US dollars. See Microsoft offers cut-rate Windows from CNET News.com February 9, 2004. Then again, the governments of China, Japan and South Korea are teaming up to create their own Asian flavor of Linux.
My 2 Cents:
------------
The above are facts, to the best of my knowledge, not opinion.
source:
http://www.michaelhorowitz.com/Linux.vs.Windows.html