Windows vs. Linux vs. Mac OS vs. FreeBSD Bout

Here’s a comprehensive breakdown of some of the pros and cons of different Operating systems:

The Operating systems in question are as follows:

Linux (Call it a kernel if you will, but I’m generalizing it across all distros)

FreeBSD

Mac OS X

Windows

1. Reliability

Windows:

I don’t think there should be any trouble reaching a conclusion here.
The majority of windows users are familiar with the “Blue Screen of
Death”. Poor reliability is a major drawback in windows. How many
windows users turn their computers on and hold their breath in
anticipation of a crash, or sigh when the computer jams after clicking a
button. Some major (read ‘publicized’) issues were resolved in XP and
more recently Windows 7 which uses the vista kernel anyway. But ‘code
bloat’ has introduced more reliability problems. Many windows fans argue
that it will be fixed with the next update, and each new update fixes
some issues introducing new ones. Windows uses a lot of system resources
and it is very difficult to keep the system up for more than a couple
of months without it reverting to a crawl as memory gets corrupted and
filesystems fragmented. Even frequent maintenance just prolongs the
inevitable by a few hours at the most.

Grade: E

Linux:

Linux is well known for it’s reliability. Servers will often stay up for
years. However, in most distros, disk I/O is non-synchronous by
default, which is less reliable for transaction based operations. This
can produce a corrupted filesystem after a system crash or power
failure, but the new ext4 filesystem changes a lot of things and makes
things more stable. This is usually only a problem for people setting up
servers, and if they’re smart enough they’d change the disk I/O to
synchronous anyway. Linux is very dependable for the average desktop
user.

Grade: B

FreeBSD:

FreeBSD is extremely robust and has recorded uptime in years. “Soft
Updates” optimize the I/O for maximum performance yet still ensures
reliability for transaction-based operations such as database calls.
I’ve tried throwing a lot of gunk into the cogs and it is incredibly
difficult to crash. Windows and some improperly configured linux distros
yeilded to a simple fork bomb e.g : () {:|:}; :

Grade: A

Mac OSX:

To be honest, Leopard did screw some things up in regard to stability
but they were pretty much fixed in Snow Leopard. Although it’ll take a
little more time to sand out some minor kinks, it is extremely reliable
for desktop users. On another note, The darwin kernel, which lies at the
core of OSX was derived from the FreeBSD architecture and uses the same
userland.

Grade: B-
2. Performance

 

Windows:

Windows is adequate for average desktop use but fails miserably under
heavy network loads. A few organizations (I don’t think it’d be legally
advisable to take names here) try to make it work as a server and suffer
from frequent error messages. For their own “hotmail” servers microsoft
used BSD for many years. As far as desktop performance is concerned, as
long as you don’t multi task like crazy, you should be fine.

Grade: C

Linux:

Linux performs well for most applications, however the performance is
not so optimal under heavy network load. The network performance of
Linux is 20-30% below the capability of FreeBSD running on the same
hardware. The situation has improved especially since the 2.4 release of
the Linux kernel introduced a new virtual memory system and the open
source nature allows technology sharing which rapidly enhances
performance tweaks. Linux is very capable of handling loads and can be
adapted to almost any requirement or need.

Grade: A

FreeBSD:

FreeBSD is the system of choice for high performance network
applications. It will outperform other systems when running on
equivalent hardware. The largest and busiest public server on the
Internet at ftp.freesoftware.com, uses FreeBSD to serve more than 1.2
terabyte/day of downloads. FreeBSD is used by Yahoo!, Qwest, and many
others as their main server OS because of its ability to handle heavy
network traffic with high performance and rock stable reliability. This
can actually be thought of as derived from a need for faster and more
efficient processing due to the compilation process of using the ports
collection.

Grade: A

Mac OSX:

OSX is designed specifically to run on a specific set of hardware
(apple) and this allows developers to optimize the system for maximum
efficiency. However, the closed source nature of the development puts it
at a slight disadvantage in regard to the time it takes to fine tune a
system. But, all in all, it handles performance very well.

Grade: B-

3. Security

Windows:

Seriously, it doesn’t matter how secure Microsoft claims their system
is, the reality is that they hold the world record for the most security
holes ever (CERT advisories agree). They offer no guarantee of security
and their software is not available for inspection or peer review due
to the closed-source nature of the OS. There is no way, therefore, for
users to fix or diagnose any of the issues regularly published about
windows systems. Don’t try to play a bullshit argument that hackers
target windows only because of it’s widespread use because that argument
loses premises when I stated CERT advisories above. To give an example,
compare telnet which uses a plaintext passcode to protect you, to ssh,
which unix-based operating systems use by default, that use heavy rsa
encryption to protect you. Microsoft Windows has been affected by a very
large number of known security holes that have cost companies millions
of dollars.

Grade: F

Linux:

Until a couple of years ago, there was no formal code review policy, and
because of that many linux distributions still use non-secure defaults,
and has been susceptible to Unix-based CERT attacks, but the
open-source nature allows for this to be fixed very rapidly. And linux
does include a very robust packet filtering firewall system and a
competent administrator can remove unsafe services. An example of rapid
response fixing is when Konqueror and IE were both discovered to have a
loophoe in their SSL protocols which allowed for it to be remotely
exploited; the KDE dev team went through incoming solution proposals and
had a fix out within the hour. Microsoft took a month to announce that
they were working on a fix. ‘Nuff said.

Grade: B-

FreeBSD:

FreeBSD has been the subject of a massive auditing project for several
years. All of the critical system components have been checked and
rechecked for security-related errors. The entire system is open source
so the security of the system can and has been verified by third
parties. A default FreeBSD installation has yet to be affected by a
single CERT advisory. It also has a notion of kernel security levels,
virtual server jails (which are a pretty unique innovation),
capabilities, ACLs, a very robust packet filtering firewall system, and
intrusion detection tools. BSD is more mature than linux and when it
comes to security it has all the necessary tools to keep you safe. On a
side note: OpenBSD is supposed to be the BSD channel that is optimized
for security, FreeBSD is meant for performance

Grade: A

Mac OSX:

Mac OSX inherits it’s rock solid security from it’s unix lineage and
therefore has very few vulnerabilities. The vulnerabilities that are
most common actually take advantage of backdoors in microsoft office for
mac applications. Microsoft is yet to release a fix for this (With the
heavy competition, it’s not hard to fathom why). But OSX makes it’s
procedures very user-friendly, unfortunately, it does not make it
idiot-proof and a person could very easily open up his hard disk for
remote access (even though a password is required y default, if the
person is dumb enough not to know what he’s doing then he/she probably
doesn’t have a strong password either)

Grade: B
4. File-system

Windows:

The windows FAT and NTFS file-systems are plagued with 20 years of
backward compatibility with some of the earliest PC-based file-systems.
These file-systems are not designed for today’s server applications in
mind. Heck, they weren’t even designed with a multi-user OS or
networking in mind. The maximum file size is roughly 4GB if I’m not
mistaken, whereas it’s 16GB in ext3 and 1TB in ext4 both of which are
unix filesystems. Higher single file sizes reduce and eliminate
fragmentation within a filesystem. So, basically, the Windows
file-system is walking on two broken legs, but it’s walking nonetheless.

Grade: D

Linux:

The new journaled ext3 and ext4 filesystems fix the problems with ext2
which is now mostly only used as swap, and the ext2 gets it’s
performance via an asynchronous mount (which is good for swap, not so
much for file storage).

They offer extremely good performance and the trend of improvement shows
great promise for the future. It is currently a rock-solid file-system.

Grade: B+

FreeBSD:

FreeBSD uses the Berkeley Fast Filesystem, which is a little more
complex than Linux’s ext3. It offers a better way to ensure file-system
data integrity, mainly with the “softupdates” option. This option
decreases synchronous I/O and increases asynchronous I/O because writes
to an FFS file-system aren’t synced on a sector basis but according to
the file-system structure. This ensures that the file-system is always
coherent between two updates. The FreeBSD file-system also supports file
flags, which can stop a would-be intruder dead in his tracks. There are
several flags that you can add to a file such as the immutable flag.
The immutable (schg) flag won’t allow any alteration to the file or
directory unless you remove it. Other very handy flags are append only
(sappnd), cannot delete (sunlnk), and archive (arch). When you combine
these with the kernel security level option, you have a nearly
impenetrable system. The FreeBSD file-system has also been reworked for
8.0 and adds many new features.

Grade: A

Mac OSX:

The HFS+ file-system on the mac is a huge improvement over HFS which
suffered problems namely with font labels and block size allocation
mapping algorithms. This file-system is one of apple’s greatest triumphs
and is the same on used in the ipod, if you were wondering. Although
complete data integrity is still a little questionable, it rarely poses
any problems and the HFS wrapper can easily be changed to encrypt data
without having to change into a crypto_luks file-system or similiar.

Grade: A
5. Device drivers

Windows:

Microsoft has excellent relations with device vendors, and by excellent I
mean lucrative. This allows them to attract a large number of drivers,
and even though there are often conflicts on different versions of
windows, and you have to hassle with cd’s or finding drivers yourself
most of the time; Windows users have excellent access to third-party
drivers.

Grade: A

Linux:

The linux community makes it difficult for vendors to release binary
only drivers, usually in an effort to make them release open-source
drivers. Now, most device vendors don’t wan’t other people peeping into
their source code, so the binaries that they release are an example of
what happens when closed-source clashes with open source… lot’s of
frustrating glitches that the community can’t fix due to absence of
source code. Many simply create their own, but this takes a lot of time
and effort. Giving away drivers to an open-source community isn’t really
as lucrative for the vendors so they are reluctant to release them.
This situation is changing, however, since now more and more people have
started using linux, including some of the hardware vendors themselves.
But honestly, if you’re determined enough, you usually find a way for
it to work, and most linux users are tech-savvy enough for it. (Support
groups are free if you need a geek)

Grade: C-

FreeBSD:

The FreeBSD bootloader can load binary drivers at boot-time. This allows
third-party driver manufacturers to distribute binary-only driver
modules that can be loaded into any system. Due to the open-source
nature of FreeBSD, it is very easy to develop device drivers for new
hardware. Unfortunately, most device manufacturers will only release
binaries for Microsoft operating systems (keyword: lucrativeness). This
means that it can take several months after a hardware device hits the
market until a native device driver is available.

Fortunately, FreeBSD also includes full NDIS API compatibility, so that
binary Windows network device drivers can be loaded into the FreeBSD
kernel directly. Basically, it converts the windows driver into a kernel
module, kinda like ndiswrapper in linux, except it’s easier to
understand and do in FreeBSD.

Grade: B

Mac OSX:

Due to the hardware exclusivity of apple, drivers are not an issue at
all. They make the hardware, and they make the software, so they make
them work good with each other. Third-party drivers are also available
for OSX users, but they rarely ever need them. The only situation in
which I needed a driver when using OSX was with a printer, but it
automatically fetched the driver for me so that kind of eliminates the
‘hunting’ part.

Grade: A
6. Commercial applications

Windows:

There are hundreds of thousands of commercial applications applications
for windows, and usually only for windows. Nearly all commercial desktop
applications (yes that includes games) are made only for windows. If
you have an important application that runs only on windows, then you
have to run that applications either in windows or a windows emulator
such as wine or cedega.

Grade: A

Linux:

Many new commercial applications are available for Linux, and more are
being developed. Unfortunately, Linux can only run binaries that are
specifically compiled for the distribution in question. It is unable to
run programs compiled for FreeBSD, SCO Unix, or other popular operating
systems without significant effort. On the other hand, emulators such as
wine (free) and crossover (not free) allow windows binaries to be
executed so this opens up a whole new commercial application library
for Linux.

Grade: C

FreeBSD:

The number of commercial applications for FreeBSD is growing rapidly,
but is still below what is available for windows. In addition to native
applications, FreeBSD can also run programs compiled for Linux, SCO
Unix, and BSD/OS. Wine, cedega and cross-over are also available for
FreeBSD.

Grade: C+

Mac OSX:

Most popular commercial applications are available for OSX and recently,
there has been a lot of growth in the number of commercial applications
available. Some applications such as Aperture 2 are exclusive to OSX
and tend to be of a very good quality. Cross-Over is also available for
OSX

Grade: C

NOTE: I have not mentioned the fact that all Operating systems
can run virtual machines which can then run a seperate operating system
within the one you are currently running. Notable examples are
VirtualBox and Parallels.

7. Free applications

Windows:

The amount of free Windows software is much less than what is available
for Unix. Many Windows applications are provided as “shareware”, without
source code, so the programs cannot be customized, debugged, improved,
or extended by the user. Piracy is illegal and thus I am not considering
pirated copies of applications or warez as “free”. Licensed free-ware
for windows is not common in this context.

Grade: D

Linux:

There are huge numbers of free programs available for Linux. All GNU
software runs on both Linux and FreeBSD without modification. Some of
the free programs for Linux differ between distributions, because Linux
does not have a central ports collection. If you’re using a commercial
application, chances are there is an open source version of it that does
exactly the same thing, maybe without some of the eye-candy though.
It’s kind of like a modified rule 34: If there is a commercial app for
it, there is open-source for it. If not then it must be created.

Grade: A

FreeBSD:

There are many, many gigabytes of free software applications available
for FreeBSD. It includes thousands of software packages and an extensive
ports collection, all with complete source code. Many people consider
the FreeBSD Ports Collection to be the most accessible and easiest to
use library of free software packages available anywhere. In fact,
Gentoo Linux, NetBSD, OpenBSD, and many other operating systems have
borrowed and extended the famous Ports Collection.

Grade: A

Mac OSX:

Borrowing from it’s unix background again, OSX runs all FreeBSD binaries
and can tap into port collections modified especially for Mac OSX.
Basically, it leaves the dirty work to open-source (lolz).

Grade: A
8. Development Environment

Windows:

Very few development tools are included with Windows. Most need to be
purchased separately, and are rarely compatible with each other. Vista
tried to introduce a “Powershell” but it introduced more security
vulnerabilities and not much of a development environment.

Grade: F

Linux:

Linux includes a large array of development tools, with compilers and
interpreters for every common programming language, all the GNU
programs, including the powerful GNU C/C++ Compiler, Emacs editor, and
GDB debugger. Unfortunately, due to the very splintered nature of Linux,
applications that you compile on one system (Red Hat) may not work on
another Linux system (Slackware). This is why it’s simpler to create a
makefile and configure file, and let the user compile it own his/her
own. Alternatively, the developer can compile it as deb for debain based
distros and rpm for red hat based distros; That will cover a lot of the
general linux population, the rest are more than likely skilled enough
to compile a program (which isn’t difficult by the way – you just have
to run the right file)

Grade: B+

FreeBSD:

FreeBSD includes an extensive collection of developer tools. You get a
complete C/C++ development system (editor, compiler, debugger, profiler,
etc.) and powerful Unix development tools for Java, HTTP, Perl, Python,
TCL/TK, Awk, Sed, etc. All of these are free, and are included in the
basic FreeBSD installation. All come with full source code.

Grade: A

Mac OSX:

Since OSX is unix-based, the usual goodies tag along. Goodies like the
C/C++ compiler, vi, emacs, sed, HTTP, Perl etc. Some stuff you might
have to get yourself, but it’s not hard to do.

Grade: A
9. Development Infrastructure

Windows:

Microsoft Windows is a closed-source operating system driven by
market demand rather than technical merit. New technologies are rushed
into the product before they have been properly designed or fully
implemented. Very little is known about the internal development
infrastructure of Microsoft but the “blue-screen of death” speaks for
itself. In simpler words, the next security patch, or new version, and
release cycle, is all decided by a business-minded bureaucrat who’s
looking for the biggest profit margin. The development team is a
small-knit community of programmers who don’t have enough time or
resources to patch holes caused by the previous development team’s
incompetence or rather powerlessness.

Grade: F

Linux:

Linux is a Unix-like kernel that must be combined with the GNU system to
make a complete operating system. Linux does not use any version
control system so all bug-fixes and enhancements must be emailed back
and forth on mailing lists and ultimately submitted to the one person
(Linus) who has authority to commit the code to the tree. Due to the
overwhelming amount of code that gets written, it is impossible for one
person to adequately quality control all of the pending changes. For
this reason there is a lot of code in Linux that was hastily written and
would never have been accepted into a more conservative operating
system. This is where the distro concept come in. The kernel is at the
heart of the system but developers can combine it with their own mix of
software to create a “flavor” like ubuntu is a different flavor than
opensuse. And in this way there are hundreds of “flavors” each with
their own development infrastructure which usually tends to resemble
that of FreeBSD.

Grade: B

FreeBSD:

FreeBSD is an advanced BSD Unix operating system. The source code for
the entire system is available in a centralized source code repository
running under CVS. A large team (300+) of senior developers has write
access to this repository and they coordinate development by reviewing
and committing the best changes of the development community at large.
FreeBSD is engineered to find elegant solutions for overall goals,
rather than quick hacks to add new functionality. Since FreeBSD is a
complete open-source operating system, rather than just a kernel, you
can recompile and reinstall the entire system by simply typing one
command, “make world”. Cool eh?

Grade: A

Mac OSX:

Now this is also a closed source operating system with a development
infrastructure similar to windows. But it’s links with it’s unix
counterparts allow for better development resources for the dev team to
work with.

Grade: E
10. Support

Windows:

Although support is available for Windows, you should be prepared to
spend as long as an hour on hold, with no guarantee that your problem
will be resolved. Because of the closed source nature of Windows,
there is no informal, free support available, and bugs can only be
fixed on Microsoft’s schedule, not yours. Windows is not updated
frequently, you may wait years for bugs to be fixed.

Grade: D-

Linux:

Many organizations provide professional support for Linux. All the major
Linux vendors offer some level of support, and several offer full 24×7
service. There are many forums where Linux questions are answered for
free, such as newsgroups and mailing lists. As a last resort, you can
always use the source to track down and fix a problem yourself. Now,
that’s what support should look like.

Grade: A

FreeBSD:

Several organizations, including the FreeBSD Mall, offer a wide range of
support options. In addition to 24×7 professional support, there is a
large amount of free, informal support available through Usenet
newsgroups and mailing lists, such as questions@freebsd.org. Once a
problem is found, source code patches are often available within a few
hours. Another point I should better include is that there is a FreeBSD
Handbook available, which covers pretty much everything anyone would
need. No other operating system has such a thing, oh and did I mention
it’s free?

Grade: A

Mac OSX:

Macintosh is usually pretty good about support but then again, due to
the closed-source nature there is little informal support. Now, the
reason I said little here and none with windows, is that Mac OSX is not entirely closed source and the unix foundation is open-source and that can be used to solve a lot of problems.

Grade: D
11. Price and TCO (Total Cost of Ownership)

Windows:

The server edition of Windows XP costs nearly $700. Don’t even get me
started on W7 and Vista. Even basic applications cost extra. Users often
spend many thousands of dollars for programs that are included for free
with Linux or FreeBSD. Documentation is expensive, and very little
on-line documentation is provided. A license is required for every
computer, which means delays and administrative overhead. The initial
learning curve for simple administration tasks is smaller than with
Unix, (which can be explained by more people having experience with
windows, it being so popular) but it also requires a lot more work to
keep the system running with any significant work load. Therefore, be
prepared to cough up some dough, both at the start and for maintenance.

Grade: F

Linux:

Linux is free. Several companies offer commercial aggregations at very
low cost. Applications and documentation is available for little or no
cost. There are no licensing restrictions, so Linux can be installed on
as many systems as you like for no additional cost. Linux’s total cost
of ownership is very low or none, depending on what you go for.

Grade: A

FreeBSD:

FreeBSD can be downloaded from the Internet for free. Or it can be
purchased on a four CDROM set along with several gigabytes of
applications for $40. All necessary documentation is included. Support
is available for free or for very low cost. There is no user licensing,
so you can quickly bring additional computers online. This all adds up
to a very low (or zero) total cost of ownership.

Grade: A

Mac OSX:

Most people complain that OSX is more expensive to get than a windows
computer. The down payment should not be the only thing taken into
consideration. Windows has high system requirements, for which you need
to get more of some sort of hardware, and you end up buying a new
computer often. Then you have costs for anti-virus and stuff like that
(that is pretty obsolete for unix-users) and then maintenance fees
incurred. So even though the price of equivalent apple equipment may
seem slightly higher, in the long run the Total Cost of Ownership turns
out to be quite less than with windows, all depending on the
configuration, of course.

Grade: E
12. User Interface and Ease of Use

Windows:

Windows has pretty much used the same UI for over 10 years, adding
tweaks here and there to make it seem “new, and improved” whereas the
truth is the UI isn’t very savvy when you compare it with the unix
alternatives. As far as ease of use, windows is not actually easy to
work in, and if you use it, your desktop is probably cluttered with
icons. You need to perform more actions to do the same thing that you
could do with less clicks in a unix-environment. The way the navigation
is arranged is pretty sloppy once you use something like GNOME. In a
recent study with elderly people who had never used a computer before,
more found GNOME and the OSX DE to be more easy to use than either the
WINDOWS DE or KDE. The myth that windows is easy to use only stems from
the large number of people who use it or have to use it, and that makes
them familiar with the environment.

Grade: D+

Linux:

Most distros, by default come with an intuitive UI such as GNOME, and
there are many many more available such as KDE, fluxbox, enlightenment,
openbox, IceWM, XFCE, etc. The interface is extremely easy to use, and
there are distributions which deal with migrating windows users and give
them a familiar environment whilst transitioning them into new ones.
Although, for people absolutely new to computers I would recommend
GNOME.

Grade: A

FreeBSD:

Like some distros of linux (eg. Arch). FreeBSD dumps you into the
command-line by default (Unless you configure X during setup). This is
‘delicious’ to users who prefer the command line, but for people who
only know wich button to click to get to their email, this is over their
head. In such a situation PC-BSD or desktop-bsd can intervene giving a
graphical installer and a GUI by default. Again, all open source DE’s
and WM’s are available for BSD.

Grade: C

Mac OSX:

The default UI is simply gorgeous, much like KDE is gorgeous, but this
is a different kind of pretty. The interface is intuitive and easy to
use although some aspects may pose some difficulty for lifetime windows
users (which causes some of them to absolutely hate it, similar to how
some people react to country music in a manner of disgust but love
classic rock).

Grade: B+
Final Standings

The scoring for the grades are as follows:

A= 10

B= 8

C= 6

D= 4

E= 2

F= 0

Windows Linux FreeBSD Mac OSX
Reliability 2 8 10 7
Performance 6 10 10 7
Security 0 7 10 8
File-system 4 9 10 10
Device Drivers 10 5 8 10
Commercial Applications 10 6 7 6
Free Applications 4 10 10 10
Development Environment 0 9 10 10
Development Infrastructure 0 8 10 2
Support 3 10 10 4
Price and TCO 0 10 10 2
UI and Ease of Use 5 10 6 9
Raw Aggregate: 44 102 111 85
Low Handicap (+5 for every score below five, just for the heck of it) 8×5= +40 0 0 3×5 = +15
Total (with handicap) 84 102 111 100

So, with a handicap inclusive total; The overall grades are as follows:

Windows: C+ (+0.00pts)

Linux: B (+0.50pts)

FreeBSD: B+ (+0.25pts)

MacOSX: B (+0.33pts)

Ignore the fractional points in the brackets, that’s only for people who
are on the fence between two similar grades. All in all, I think I did a
pretty decent job at analyzing each OS without prejudice, and if you
felt that I did, well that’s why I added the handicap, which is actually
pretty generous. Feedback is welcome (no trolls please), and If you
have any requests for a specifc review or comparison, feel free to say
so in the comments (open to all humans with a computer). Thank you for
reading.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s