Byte: FreeBSD vs Linux Revisited
Beerwolff writes: "This time I have remembered the link to the Byte article that's a follow-up to two of Moshe Bar's previous articles comparing FreeBSD and Linux--This time with the new Linux VM. His Apache "results show that Linux is better at handling I/O cache than FreeBSD, and that FreeBSD is more efficient at building up and tearing down processes."" As usual, please take benchmarks with a grain of salt, caveat emptor, look before you leap, and so forth.
"As usual, please take benchmarks with a grain of salt, caveat emptor, look before you leap, and so forth."
In particular, be sure to read the very bottom of the article:
Before you fire up your e-mail program to contest the results or suggest some neat trick to get even more out of either the Linux benchmark server or the FreeBSD server, remember what I said at the beginning of this review: This was not a scientific benchmark in a professional benchmarking lab. All results are only valid within my own environment and you are certainly bound to see a different result on your machines. The benchmark was only about finding out how well Linux handles stress loads compared to FreeBSD, and I do not claim that one OS is better than the other one.
These aren't scientific. These are the results one person sees - and also note that the various problems presented to the servers give different results. FreeBSD and Linux both had strengths and weaknesses even in his tests.
MAXUSERS was set to 20!!
Jeez, I won't even set it that low for my personal machine. For the purposes of this kind of benchmark, I would have at least started with 128. If you want to be fair in I/O benchmarks, have BOTH machines mount the filesystems asynch. If you're going to do a comparison, at least compare apples to apples. Softupdates rocks, but I still think async is going to be faster.
"To those who are overly cautious, everything is impossible. "
The NICs were a mix of Alteon and Intel Gigabit for the clients.
If he's using the Gigaswitch I think he's using, it takes two Gigabit Fiber Modules that each provide two 1000BaseSX ports. He's ignoring the twenty-four 10/100 ports and running a network on the backbone, as it were.
Not that it matters to a magazine columnist who has a Proliant to play with, but this is a little more expensive than 1000BaseTX, isn't it?
Any response to a question like this is bound to upset someone. I'll /dev/null.
answer with the caveat that this is my opinion that developed over the
past three years following them both as well as other commercial OSs.
Those of you offended in any way by this, please cat flames >
That said -- the differences between FreeBSD and Linux can best be
understood in the context of American politics. There are essentially two
philosophies: Republican (FreeBSD) and Democrat (Linux).
The FreeBSD organization is a republican structure -- we have our say as
users, but the final decisions devolve to the core team who take the final
responsibility for their decisions. FreeBSD takes a conservative approach.
In other words, better things should work correctly at the expense of a
minorities desires, than to please all of the people all of the time and
have unexpected components of the OS breaking on a regular basis. We are
free to vote our approval or disapproval by changing our OS.
Linux is a democratic group. There is no single authority to accept final
responsibility except for Linus as it relates to the kernel. Linux adopted
early on a consensus approach (POSIX, etc.). In a sense, Linux is much
like current Democratic politics -- the mob pretty much rules. The end
result is that there is really no such thing as Linux -- there are
distributions that use the Linux kernel and from then on you have
essentially different operating systems. Slackware, for example, doesn't
look at all like Red Hat. Describing Linux is much like describing Mach.
(There isn't much - both are just micro kernels. _Anything_ can be
implemented over them.)
So as I see it, it comes down to this: vote for the philosophy that
appeals to you. I use FreeBSD because I rely on my machine for many other
uses besides tinkering with operating systems. FreeBSD doesn't change the
world on me every 6 months. Linux is in constant change. New things are
showing up all the time. If you like tinkering with operating systems and
having things that used to work break, Linux may be your answer. If you
don't know Unix -- pick one and get started. You'll learn how to pick the
best choice. No matter which one you pick, it will be infinitely better
that Micros**t anything.
Every installer I've ever used has sucked in some way, shape, or form. I'm a very experienced computer user, so much so that I do tech support at my university, but I keep running into problems. I think I just got my first real working linux install up and running this afternoon. Here is my analysis, from the point of view of a very technically competent computer user who just doesn't happen to have had that much experience with linux.
Windows: Usually works very well. When it doesn't, you're screwed.
Red Hat: I installed 5.1 a few years ago on a partition-rich windows machine. I got X working, but I don't think I had a window manager installed, or if so, I was not informed of this. Regardless, it was useless. I managed to mount my windows partitions. This was very useful, because it enabled me to copy my bashrc to a windows partition, so I could boot into windows and create an alias setting ls to equal ls --color. If you're wondering why I did such a strange thing, I ask you how you would do with vi if you had no experience and nobody looking over your shoulder. I had to use Norton AntiVirus to remove lilo because it broke the CD player under windows. I'd launch into it from windows, read some man pages, try to get X to work, and give up. Then I got a girlfriend, and uncooperative OSs lost importance. I even had Windows 95 mostly stable.
I tried 7.0 several months ago, and had great difficulty because I was limited to 2 635 MB hard drives (what was laying around). I had gnome-games. Yay. I tried Debian on the same machine, but as my internet connection was a PPPoE DSL, I could never get a connection for apt-get. I'm told it can be done, but I was never told HOW it can be done. I checked the HOWTOs and couldn't find anything.
Debian: A friend helped me install it a few weeks ago, and I didn't get around to hooking it up until a week ago, because I was bogged down with work requiring windows software, and didn't yet have a hub. Last week I hooked it up. I liked it a lot. I wanted an IM/ICQ client. I tried building GAIM from source. It had a GTK+ dependency. I got GTK+, which needed GLIB. I got GLIB, but since they hadn't updated their changelog from 1.2.7 to 1.2.9 I got the wrong version, so GTK+ wouldn't build. I tried getting the right one. The multiple versions made my system very happy. My friend suggested I just apt-get it. I had already tried this, and he explained that I needed to get it from the unstable tree. I modified my sources.list to get unstable. I ran apt-get install gaim. This broke X. I tried changing back to stable and reverting, but couldn't get it to work. I removed X. For some reason, dpkg took the liberty of REMOVING GCC and associated development tools in the process. My machine was now completely fucked. I ran the installer again. I forgot to configure my ethernet card, so I needed to run it again. This required changing my boot order to boot from CD-ROM. I couldn't do this, because something in the installer had apparently mangled my BIOS so it wouldn't read keystrokes until the OS started booting. I did a jumper reset of the BIOS and it installed just fine. There was just one hitch though. While configuring the X server, I couldn't get the mouse to work. I tried various protocols, various device names, but nothing would work. The answer was right in front of my face: the refresh rate was defaulted to 0. WHAT KIND OF IDIOT DEFAULTS A MOUSE REFRESH RATE TO 0? It took a few hours of staring at this to realize something I hadn't really noticed because I considered it's misadjustment to be outside the realm of rational action, as I still do.
If FreeBSD is as easy as I'm hearing, I may try that out the next time Debian self-destructs.
Windows and Linux both suck. The difference is that Linux sucks twice as fast and 10 times more reliably, and since you have the source, it's your fault.
WARNING: there is a trojan on your
I run both (slack-8/2.4.14 and FBSD 4.4) on my workstation. I find FreeBSD way easier to manage and generally have better performance, more pleasant to administer.
Support of "important" hardware is about the same.
My USB printer and scanner function well in both, for example.
Support of more exotic hardware still is more problematic in FreeBSD: No 3D graphics on nvidia because nvidia's driver has not been ported to FBSD yet. My DVB-S (satellite card) is not supported in FBSD, in Linux I can use it to watch and digitally record programs. DV-video through Firewire doesn't work in FBSD. I don't know whether Linux does any better (I think so) because I switch to Windows to capture and process video.
For software (except 3D games as mentioned) FreeBSD has somewhat less native software, but almost everything (even including VMWare for Linux) runs extremely well under the Linux emulator, often even surpassing the speed when run natively under Linux (this is possible since technically it is not really emulation, but all Linux system calls have been added via a loadable kernel module).
The FreeBSD kernel is able to run Linux binaries, once you have installed the Linux emulation port (it adds a kernel module that is able to work with Linux ABI binaries plus stores a couple of system libs compiled for Linux - so it is rather a different operation mode than an emulation).
Quake3 Arena for example works under FreeBSD just fine.
Where there is a problem is the support of acclerated graphics drivers. Where such a driver is open source, it has been ported to FreeBSD (Matrox drivers, the rather slow nvidia driver for XFree86 3.3.x series, ..).
Where there is only a binary driver, and most unfortunately, this is the case for the fast nvidia drivers, this has yielded no results yet.
The problem is that while the nvidia binary driver might work in theory on all x86 plattforms, with just a different kernel interfacing (for which the source exists), in reality it does only run with certain Linux kernels. Here is a report that goes into details.
Regards,
Marc