Valhalla Legends Forums Archive | General Discussion | An Objective Comparison between FreeBSD and Windows

AuthorMessageTime
nslay
[u]Note[/u]: This is not an OS flaming post, this is not meant to spawn argument

This includes features also in other BSD and Linux distributions.

Alright, as some of you know, I used to be very "gung-ho" about Windows.  I grew up with a Microsoft bigot father and so I grew up around Windows systems of all kinds my whole life (even Beta tested many of them).  So you could guess my views of Linux/Unix was very dim.  A few years back I had been attracted to trying FreeBSD (based on what friends have told me) and I started reading FreeBSD's handbook.  I took my dandy time learning how to install it, configure it, and maintain it...and even learned from friends.  It's been about a year now and I have become so acquainted to it that I am comfortable using either.  While using it I found all kinds of advantages and drawbacks compared to Windows (and vice versa).

[u]FreeBSD Advantages[/u]
Ports and Package System
The FreeBSD ports and package system was the most notable advantage I saw over Windows.  If you chose to install the ports system (about 300MB), you instantly had access to some 12000+ programs and unlike Windows where you had to download setup files, FreeBSD would fetch the sources automatically and build and install the software for you with a make command.  If you were missing dependencies, it would build those beforehand.  All the installation information would be kept in a database.  Likewise, FreeBSD also has a package system (of precompiled binaries) that could be fetched from any media (including the internet) and instantly installed without any compilation.
For example, if you wanted to build gaim as a port, you would do:
# cd /usr/ports/net/gaim
# make && make install clean

or (the above is safer)

# make install clean

And as a package you would do:

# pkg_add -r gaim

Where the -r option tells it to fetch it from the internet (usually freebsd.org)

To keep your software updated, you would use portupgrade in conjunction with CVSup.  If you don't have CVSup or portupgrade, you can easily build them from the ports system or install them via the package system.  CVSup is used to update your system and ports sources and portupgrade is used to update all or specific software.  With a single command, you can update all installed software, a very powerful and convenient feature.

Configuration Files
In my opinion, despite seeing the various setup and wizard GUIs from the MMC (Microsoft Management Console), I think configuration files allow for more configuration flexability, especially when a GUI doesn't have what you want (which usually means its time to go digging through the registry).  I would also add that in most cases, it is easier for a developer to write configuration parsing schemes than it is to try to fit all options on a nice window.  Of course configuration files are not necessary for everything (such as enabling the wheel of your mouse!).

Command Line
The command line in Unix/Linux is a very powerful tool, in fact it is the primary interface of these systems.  Best of all it requires very little to use the command line, you could even configure one of these systems through serial (eww).  With a little Unix familiarity and the use of the man pages, you can setup the entire system as well as have complete control over it.  If you thought DOS-like, well you're slightly off as these systems have virtual terminals.  A FreeBSD installation usually has 8 virtual terminals enabled and you can navigate between them using Alt+F# and from each one, run an application and manipulate the system - it is a multi tasking system (obviously).  It is especially nice to have when your Window Manager fails...

Security
Unix/Linux are known to have much better security than Windows for a number of reasons: 1) There aren't nearly as many people wanting to break Unix/Linux 2) Open source allows the public to audit the code...more auditers means more awareness, projects such as OpenBSD proactively audit their code for security problems.  On a side note, OpenBSD is supposedly the most secure server OS on the market.
FreeBSD in particular has had very few CERT warnings in the past decade.

Misc
Most of the above advantages are generally true for many Unix and Linux distributions, but there are many base system advantages that I'm not terribly familiar with or are not worth mentioning due to their relevance to a normal desktop user.  For example, FreeBSD is said to have a superior network stack to even Linux distributions or that it recently includes pf, an OpenBSD firewall, in its base system...probably one of the best firewalls.

[u]FreeBSD Disadvantages[/u]
Ports and Packages
One problem with FreeBSD ports is that some ports take significant time to compile...for example KDE or Gnome could take several hours.  I extrapolate that the packages are meant to alieviate this problem, but they are poorly kept up to date.  If you add KDE as a package, you can count on getting an older version.  One work around is using a smaller window manager such as fluxbox.

Configurations
FreeBSD doesn't automatically configure your system in many respects and in more recent versions, the install no longer includes X or Window Manager configuration utilities.  FreeBSD is not terribly difficult to configure, but you must know what to configure.  Although, FreeBSD will work out of the box...but to have a window manager, you must configure X, ttys and build your preferred window manager.  Worth mentioning, some trivial things (like your mouse wheel) have to be configured...which is sort of dumb.

[u]Windows Advantages[/u]
Hardware Compatibility
Windows will run on just about any system (within reason).  It has many drivers to choose from and in some cases, if a driver is missing, it can use something generic.

Configuration
Usually little configuration is needed, it works out of the box.  For some general options, it includes wizards and spiffy dialogs.

Software
Some say that Windows is more compatible with software.  This may be true in terms of games (You can find many replacements on Unix/Linux for file formats and applications and what not).  That is not the point though.  As you read about the disadvantage of FreeBSD ports, they can take several hours to compile if they are quite large...Windows uses all precompiled binaries which is a plus for convenience.

[u]Windows Disadvantages[/u]
Primary Interface
Window's primary interface is a GUI (Graphical User Interface)...this may be very convenient but if it breaks (and it has for me), it's not very easy to fix...especially when you have to go digging through the registry to fix it.  It doesn't have a backup interface such as the text prompt and to get a prompt you must use the Recovery Console from diskette or the Windows CD and even then, it is very limited.  In these cases, you are usually forced to Repair the system via Windows Setup.

Configurations
Even though it requires little configuration or includes spiffy dialogs, for more specific settings you are forced to dig through the registry or find a program that makes the changes for you.  Messing with the registry is also very dangerous (another plus to having configuration files).

Security
Windows has a bad track record in security and while 2003 Server or XP SP2 are very much improved, there are many problems that Microsoft sits on (such as the DSO exploit in IE).  Furthermore, because it is closed source, we have no way to audit their code and put a great deal of trust in them.  I imagine there are many more problems but as a business, they have no real reason to spend money fixing them if no one knows.  I also extrapolate from recent events, that Microsoft is gaining more control of their software and I'm starting to think they are out to use their userbase for marketing statistics and anti-piracy...clearly this is invasion of privacy.

[u](my)Conclusion[/u]
If FreeBSD had optional automation for system configuration, better maintained precompiled binaries, and utilities that provided easy configuration of system components then I'd imagine FreeBSD more userfriendly.
If Windows had a backup virtual terminal interface, configuration files, automated software updates (for not only their base system) then it would be at least less "fragile".
August 10, 2005, 10:01 PM
iago
Just one thing  you didn't say that summarizes the security:
FreeBSD: Designed to be secure out of the box, you have to choose to do dangerous things
Windows: Designed to be insecure out of the box, you have to harden it if you want it to be secure


Besides that, well written!
August 12, 2005, 1:34 PM
nslay
[quote author=iago link=topic=12487.msg124081#msg124081 date=1123853690]
Just one thing  you didn't say that summarizes the security:
FreeBSD: Designed to be secure out of the box, you have to choose to do dangerous things
Windows: Designed to be insecure out of the box, you have to harden it if you want it to be secure


Besides that, well written!
[/quote]

Windows XP is [u]pretty[/u] secure out of the box (based on what I've been told), especially if you install the version with SP2 preloaded (msdn offers an XP with preloaded SP2 ISO).
That's not the point though, there are many problems Microsoft sits on.
Usually if there are any significant problems in FreeBSD and I imagine any other Unix/Linux distribution, they are immediately fixed.

Another thing that bothers me...I ran Windows XP and 2000 setup to see if I could format my external drive in FAT32 (since freebsd's newfs_msdos is supposedly broken)...XP doesn't give you the option to use FAT32 and 2000 doesn't see USB external drives...so I ended up not using either.  When I rebooted, one of those setups wrote over the MBR and I couldn't get the boot manager (it just booted windows)...  That's evil!  Although, I did fix it shortly after.

[u]A fallback of UFS2[/u]
This isn't discussed anywhere, it doesn't appear to bother anyone.  I used UFS2 on my external drive (for now) and I noticed that 9 GBs were used when it was newly made.  I thought that strange and I extrapolate from briefly skimming a few sites, that its for the extended attributes.  I ran a test on my /usr mount by summing all the file sizes...I took the figure given and subtracted by what the system gave me and found the same thing, except 1.3 GBs.

UFS3 is supposedly in the works for FreeBSD 6 and will supposedly use a journaling system to match ext3's performance...I wonder if it will eat up space for extrended attributes...
Here's an article on FreeBSD 6...it looks like its going to rock!
[url]http://www.zzine.org/read.php?op=view&item=1308[/url]
August 12, 2005, 6:10 PM
iago
Yeah, Windows' setup overwrites your MBR without warning.  Rather rude, I agree.  Having a firewall enabled doesn't count as secure.  But Windows has things like NULL sessions, uPnP, and other things over several open ports that are frequently used for viruses.  Just because there's a firewall on by default doesn't fix the problem, just hides it. 

I'm seriously considering installed FreeBSD beside Linux, just to play with it.  Or maybe I'll install it in VMWare.  We'll see!  If I install it beside Linux, I'll have to get rid of Windows.  No big loss there, really. 



August 13, 2005, 3:20 PM
Myndfyr
I thought that this overall was a well-written commentary.  I just wanted to briefly remark on your comments regarding the lack of default command prompt in Windows.

The only time it has broken for me that it couldn't be repaired through the GUI is when something has been overwritten like the partition table or the MBR, which caused the system drive to not be found.  I haven't had an issue in XP where I couldn't boot up to the GUI in either the standard GUI or safe mode.  And, FYI, you can install the Recovery Console to the system drive after your main installation is complete.

I've never broken it to a point where I've had to go do anything registry-related.  And I've broken Windows a lot of times.  :P
August 13, 2005, 7:01 PM
EpicOfTimeWasted
The 6- series won't be seeing a journaling filesystem, because 6.0 is slated to become the -STABLE tree for the 6 series.  The FreeBSD team has said that migrating from 5.x to 6.0 won't be as big of a change as 4.x to 5.0 was, so much so that it should be safe to do a source upgrade, rather than a fresh binary install.

Also, as nice as the FreeBSD network stack is, I remember reading that it's kinda become stale, and some Linux distros have passed it in performance.  The whole thing is in the process of being rewritten to be more streamlined and efficient though, so I'd expect it to jump back up to the top when the rewrite is complete.
August 14, 2005, 7:15 AM
Yoni
[quote author=iago link=topic=12487.msg124172#msg124172 date=1123946426]
I'm seriously considering installed FreeBSD beside Linux, just to play with it. Or maybe I'll install it in VMWare.
[/quote]
I tried VMWare'd FreeBSD.
Just so you know, it's a pain to get X working, and you can forget about audio altogether.
If you don't care about either of those, gogo.
August 14, 2005, 12:59 PM
nslay
[quote author=Yoni link=topic=12487.msg124272#msg124272 date=1124024365]
[quote author=iago link=topic=12487.msg124172#msg124172 date=1123946426]
I'm seriously considering installed FreeBSD beside Linux, just to play with it. Or maybe I'll install it in VMWare.
[/quote]
I tried VMWare'd FreeBSD.
Just so you know, it's a pain to get X working, and you can forget about audio altogether.
If you don't care about either of those, gogo.
[/quote]

Ever try driver_load=YES in /boot/loader.conf for sound or compiling your kernel with your sound driver?

my loader.conf has
[code]
snd_ich_load=YES
[/code]

Sound works just fine...xmms runs like a charm

No!

if you chose at least X-User in the package menu, Xorg is preloaded

[u]Instructions to configure Xorg[/u]
1) Have Xorg generate a configurations file

# Xorg -configure

2) Test your Xorg configuration file

# Xorg -config xorg.conf.new

To exit X press Cntrl+Alt+Backspace

3) Add extra options

Add any other option mentioned in the man pages
# man xorg.conf

Some typically used configurations:
Configuring Your Wheel Mouse
For [u]Section "InputDevice"[/u] with identifier Mouse0
add this line:
[code]
Option  "ZAxisMapping" "4 5"
[/code]

Setting HorizSync and VertRefresh
in [u]Section "Moniter"[/u]
be sure to add your appropriate rates
For example
[code]
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "IBM"
        ModelName    "IBM ThinkPad LCD"
        HorizSync       30-107
        VertRefresh     48-120
        Option  "DPMS"
EndSection
[/code]

Note: [u]Option "DPMS"[/u] enables the power saving mechanism.

Usually X can detect these settings automatically.

Setting specific modes (not necessary methinks)
For [u]Section "Screen"[/u]
Set your valid modes in the valid Depth fields (ie. Depth 24 = 24 bit)
For example:
[code]
SubSection "Display"
Viewport   0 0
Depth     24
Modes "1024x768"
EndSubSection
[/code]

X usually detects your capabilities without this though.

5) Use your new configuration file
copy xorg.conf.new to /etc/X11 (with new name xorg.conf)

# cp xorg.conf.new /etc/X11/xorg.conf

Now you're all set!
startx should start X and your Window Manager if you have .xsession defined
You can have your window manager load automatically by editing /etc/ttys
You'll see a line for xdm, it will be turned off...configure xdm or any other desktop manager and then set its path and turn it on.
Mine is:
[code]
ttyv8  "/usr/local/bin/kdm"            xterm  on secure
[/code]
August 14, 2005, 2:19 PM
nslay
[quote author=MyndFyre link=topic=12487.msg124199#msg124199 date=1123959675]
I thought that this overall was a well-written commentary.  I just wanted to briefly remark on your comments regarding the lack of default command prompt in Windows.

The only time it has broken for me that it couldn't be repaired through the GUI is when something has been overwritten like the partition table or the MBR, which caused the system drive to not be found.  I haven't had an issue in XP where I couldn't boot up to the GUI in either the standard GUI or safe mode.  And, FYI, you can install the Recovery Console to the system drive after your main installation is complete.

I've never broken it to a point where I've had to go do anything registry-related.  And I've broken Windows a lot of times.  :P
[/quote]

If various registry entries are removed, the Windows GUI will not load...what happened for me is that when I logged in (for any user) I would end up with just the desktop (no taskbar, no icons, nothing...not even right click menu).  The only thing I had access to was the Task Manager.  With Skywing's help, I was able to restore the missing registry entries and it worked once again...
August 14, 2005, 2:37 PM
nslay
[quote author=iago link=topic=12487.msg124172#msg124172 date=1123946426]
Yeah, Windows' setup overwrites your MBR without warning.  Rather rude, I agree.  Having a firewall enabled doesn't count as secure.  But Windows has things like NULL sessions, uPnP, and other things over several open ports that are frequently used for viruses.  Just because there's a firewall on by default doesn't fix the problem, just hides it. 

I'm seriously considering installed FreeBSD beside Linux, just to play with it.  Or maybe I'll install it in VMWare.  We'll see!  If I install it beside Linux, I'll have to get rid of Windows.  No big loss there, really. 
[/quote]

The NULL sessions (the passwordless accounts I assume you mean) are enabled by default in Home edition only and they can't be used remotely anyways.
In XP SP2 most of the insecure services are disabled.
A Firewall helps, but you're right, there are a lot of holes...the biggest are in their browser I think.
August 14, 2005, 3:36 PM
Kp
[quote author=nslay link=topic=12487.msg124280#msg124280 date=1124033778]the biggest are in their browser I think.[/quote]

But since the browser is the OS (or is it that the OS is the browser?), isn't that saying that the biggest holes are in the OS? ;)  Microsoft's been pushing that IE is an integral part of Windows for a [u]long[/u] time... :)
August 14, 2005, 3:49 PM
iago
[quote author=nslay link=topic=12487.msg124280#msg124280 date=1124033778]
[quote author=iago link=topic=12487.msg124172#msg124172 date=1123946426]
Yeah, Windows' setup overwrites your MBR without warning.  Rather rude, I agree.  Having a firewall enabled doesn't count as secure.  But Windows has things like NULL sessions, uPnP, and other things over several open ports that are frequently used for viruses.  Just because there's a firewall on by default doesn't fix the problem, just hides it. 

I'm seriously considering installed FreeBSD beside Linux, just to play with it.  Or maybe I'll install it in VMWare.  We'll see!  If I install it beside Linux, I'll have to get rid of Windows.  No big loss there, really. 
[/quote]

The NULL sessions (the passwordless accounts I assume you mean) are enabled by default in Home edition only and they can't be used remotely anyways.
In XP SP2 most of the insecure services are disabled.
A Firewall helps, but you're right, there are a lot of holes...the biggest are in their browser I think.
[/quote]

The NULL sessions are in home and pro.  I'm reasonably sure I've used both. 

In XP SP2, as far as I know, the insecure services are firewalled.  Are you sure they're disabled?
August 14, 2005, 6:06 PM
nslay
[quote author=iago link=topic=12487.msg124299#msg124299 date=1124042793]
[quote author=nslay link=topic=12487.msg124280#msg124280 date=1124033778]
[quote author=iago link=topic=12487.msg124172#msg124172 date=1123946426]
Yeah, Windows' setup overwrites your MBR without warning.  Rather rude, I agree.  Having a firewall enabled doesn't count as secure.  But Windows has things like NULL sessions, uPnP, and other things over several open ports that are frequently used for viruses.  Just because there's a firewall on by default doesn't fix the problem, just hides it. 

I'm seriously considering installed FreeBSD beside Linux, just to play with it.  Or maybe I'll install it in VMWare.  We'll see!  If I install it beside Linux, I'll have to get rid of Windows.  No big loss there, really. 
[/quote]

The NULL sessions (the passwordless accounts I assume you mean) are enabled by default in Home edition only and they can't be used remotely anyways.
In XP SP2 most of the insecure services are disabled.
A Firewall helps, but you're right, there are a lot of holes...the biggest are in their browser I think.
[/quote]

The NULL sessions are in home and pro.  I'm reasonably sure I've used both. 

In XP SP2, as far as I know, the insecure services are firewalled.  Are you sure they're disabled?
[/quote]

Yes but in Pro, NULL sessions are not enabled by default...I am pretty sure you have to enable them via Local Security Policy

Install SP2 and have a look at all the services it disables...I am pretty sure UPnP service is disabled among others (such as messenger).
August 14, 2005, 6:24 PM
Maddox
FreeBSD Disadvantage - lack of native ports for games. Don't mention WINE, because we all know it is NOT the same quality as gaming on Windows.
August 14, 2005, 11:58 PM
Yoni
To clarify, I meant that X and audio are hard to configure in VMWare'd FreeBSD, not FreeBSD in general.

Especially audio... Which seems impossible, without writing some kernel-level code of your own. Like a driver that works.
August 15, 2005, 12:50 AM
iago
[quote author=Maddox link=topic=12487.msg124339#msg124339 date=1124063911]
FreeBSD Disadvantage - lack of native ports for games. Don't mention WINE, because we all know it is NOT the same quality as gaming on Windows.
[/quote]

PC's aren't the best platform to run games on.  That's why you buy a console.  You're paying less money overall than the upgrades you have to keep up with, you're guarenteed that the games will run to the best of their ability, and you free up your computer space for music and work.  It's win - win! :)
August 15, 2005, 10:42 PM
Soul Taker
Have you tried playing Starcraft 64?  Do you own War3 on a console?  Guildwars?  WoW?
August 16, 2005, 12:44 AM
nslay
[quote]
If FreeBSD had optional automation for system configuration, better maintained precompiled binaries, and utilities that provided easy configuration of system components then I'd imagine FreeBSD more userfriendly.
[/quote]

Actually, such a BSD distribution exists...it's called PC-BSD :D
[url]http://www.pcbsd.org/[/url]

Look at this screenshot of the installer!  Although, I don't mind building a system from ground zero so I just say stick with FreeBSD...it's installer isn't that terrible anyways!
[img]http://www.pcbsd.org/images/PC3.jpg[/img]
August 17, 2005, 9:25 AM
Myndfyr
[quote author=iago link=topic=12487.msg124406#msg124406 date=1124145749]
[quote author=Maddox link=topic=12487.msg124339#msg124339 date=1124063911]
FreeBSD Disadvantage - lack of native ports for games. Don't mention WINE, because we all know it is NOT the same quality as gaming on Windows.
[/quote]

PC's aren't the best platform to run games on.  That's why you buy a console.  You're paying less money overall than the upgrades you have to keep up with, you're guarenteed that the games will run to the best of their ability, and you free up your computer space for music and work.  It's win - win! :)
[/quote]

Perhaps, but I can't run my games at 1600x1200.  I can't even come close to 1080p without investing more money in a TV than I do in a PC.
August 17, 2005, 4:04 PM
Zakath
[quote author=iago link=topic=12487.msg124406#msg124406 date=1124145749]
PC's aren't the best platform to run games on.  That's why you buy a console.  You're paying less money overall than the upgrades you have to keep up with, you're guarenteed that the games will run to the best of their ability, and you free up your computer space for music and work.  It's win - win! :)
[/quote]

iago, quite frankly I'm disappointed in you. I know that you have turned into a rabid supporter of non-Windows platforms, but saying that consoles are better than PCs as a gaming platform is disingenuous and misleading. PC games and console games are completely different beasts, and I'm extremely surprised that you would imply otherwise.

That aside, the fact of the matter is that Windows is still vastly superior for PC gaming. Not enough game makers produce non-Windows binaries for it to be otherwise, as unfortunate as that is. Emulation and porting takes time and are frequently imperfect. But hey, don't let me distract you from your Linux-mongering. ;)
August 23, 2005, 5:01 AM
nslay
If you're still interested...
A much more intensive description of FreeBSD's capabilities is written here:
[url]http://www.cons.org/cracauer/freebsd.html[/url]

Way better written than mine :)
August 23, 2005, 10:42 AM
iago
[quote author=Zakath link=topic=12487.msg125025#msg125025 date=1124773317]
[quote author=iago link=topic=12487.msg124406#msg124406 date=1124145749]
PC's aren't the best platform to run games on.  That's why you buy a console.  You're paying less money overall than the upgrades you have to keep up with, you're guarenteed that the games will run to the best of their ability, and you free up your computer space for music and work.  It's win - win! :)
[/quote]

iago, quite frankly I'm disappointed in you. I know that you have turned into a rabid supporter of non-Windows platforms, but saying that consoles are better than PCs as a gaming platform is disingenuous and misleading. PC games and console games are completely different beasts, and I'm extremely surprised that you would imply otherwise.

That aside, the fact of the matter is that Windows is still vastly superior for PC gaming. Not enough game makers produce non-Windows binaries for it to be otherwise, as unfortunate as that is. Emulation and porting takes time and are frequently imperfect. But hey, don't let me distract you from your Linux-mongering. ;)
[/quote]

Consoles make life way easier by elminating problems like: spyware, clutter taking up ram, viruses, incompatible hardware, incompatible software, and other problems.  They aren't better (yet), but they're so much easier! :P

More and more games are being ported to Linux, though, which is really cool.  Companies are realizing that there is indeed a market there!
August 23, 2005, 12:07 PM
nslay
[quote author=iago link=topic=12487.msg125042#msg125042 date=1124798842]

Consoles make life way easier by elminating problems like: spyware, clutter taking up ram, viruses, incompatible hardware, incompatible software, and other problems.  They aren't better (yet), but they're so much easier! :P

More and more games are being ported to Linux, though, which is really cool.  Companies are realizing that there is indeed a market there!

[/quote]

That or Microsoft isn't as great as it used to be.
August 23, 2005, 12:21 PM

Search