Hey Mikeq,
That question is tough to answer because I don't know where to start.
I'll just mention some of the things that can be done with Linux as an example. Much of these same things can done with FreeBSD as well. I will leave out the commercial Unixes since they want you to pay big money and don't offer as much right out of the box so to speak.
:: Network routing and packet filtering built in to the Kernel.
:: I built multiple redundant FLOPPY based firewalls using FloppyFW for my companies back end using old as dirt IBM 133Mhz workstations. Got rid of the hard drives and put in two network cards and I was off to the races.
:: I got around the issue of only being able to have one default gateway by using the NAT capabilites built in to the 2.4 NetFilter package on the firewall side and static routes on the cluster manager side using a 2.2 kernel.
:: Packet forwarding to particular services in the backend based on entry port.
:: Cluster management and load balancing using 2.2 kernel. This stuff can be had for nothing using the LVS project or with support and for very cheap using TurboCluster from TurboLinux.
:: Everything needed to build routers as opposed to paying Cisco big dollars can be used right out of the Linux Kernel. Check
freesco.org. You may still need hardware based on your provider. Being down in Venezuela, building our own routers is something we are seriously considering due to power issues, lack of support and parts (for our cisco stuff), the expense of support and parts (for our cisco stuff), and the fact that with the right cards (
cyclaces.com), we could provide our own solutions without being slaves to someone else. Thanx again Tux!
:: IP aliasing. I can do tons of wonderful things with this one.
:: TCP splicing. Tough to explain. Google is your freind.
:: A well thought out architecture that doesn't crash as a result of a buggy program. A process may go stupid on you, but it seldom affects the kernel, and thereby the system.
:: GCC (a compiler) and tons of libs with support for what seems like every language on the face of the earth. Even VB is being ported to it (not by Microsoft I might add).
:: The ability to run as a Windows logon server / domain controller / or to control a Windows network in general using SaMBa. Windows has tried to break this a couple of times as if the SMB protocol was originally theres. It isn't!
:: Support for what seems like every disk format on the face of the earth. I can fire up my machine and mount any Micorosoft, Apple, or a whatever drive type that I want. Read and write to them: the whole nine yards.
:: Journaling file system support via Rieser and ext3.
:: Not married to an interface. What does that mean? It means that when that pretty Windows 9x/NT/2000/XP front end crashes, it often affects the kernel as well. At that point, you are more than likely going to have to reboot. In Linux, if X or a window manager goes south, so what!. The kernel is a couple of layers below and never feels the pain.
:: I don't have to restart the machine to update environment variables. This may not seem like a big deal, but at the enterprise level, this can cost tons of money!
:: And the worst thing in the world to a mouse user: the command line!
I can go on and on, but I don't see the point. Unix, Linux, FreeBSD, Solaris are all a bit tougher to learn, but once learned, the flexibility and power is mind boggling compared to Windows. The time I spent banging my head against the wall learning LInux is paying off (literally) in a multitude of ways.
And yes, many of the above things can be done with Windows, but at what expense?
Or, "but how effecient is it?" Probably not very.
I could never do the routing stuff (as an example) I've been able to do with windows unless someone ports the linux stuff over, and even then, there is still the overhead of the user interface. The system would instantly be far less effecient as a result of all that overhead. Somebody make some software, but then I prolly have to pay a grip for it. And if I can have it for free, then why?
Later on,
BDKR (TRC)