Comment Solaris and Linux are complimentary (Score 1) 316
Solaris *is already* pretty much free! Developers can get a CD of the x86 version for $10 from sun.com. Most Linux users installed from distros that cost much more than $10! The world needs both Linux and Solaris. Mindcraft showed that NT sp5 beats Linux on systems of more than 2 chips. But if you need a bigger box than 2 chips, Solaris slaughters NT. Solaris scalability comes at a price - - fine grained locking of kernel data structures, mutexes everywhere. Consequently, Solaris *is* slower on single chip systems. The smug moniker "Slowlaris" is applied by those who think that fully threaded, fine-grained locking can be achieved without executing any locking code. Linux is faster on single chips systems because it uses a global kernel lock. And its TCP is not fully threaded. Linux and Solaris both result from careful judgement and brilliant implementation applied to two different design points. They both have a few warts, but they are nonetheless complimentary. Porting code between them is a snap, and if you can admin one, the other is easy. I'm amused to see vendors hawking 4 processor Linux systems. If you really have a load big enough for 4 cpus, you should be running Solaris x86. The only exception is workloads that have few system calls, have little or no network component, and don't stress IO. Don't believe me - - listen to what Linus said at Fermi Lab this spring: http://ssadler.phy.bnl.gov/adler/Torvalds/fnal.htm l. Have a look at the Solaris x86 benchmarks that a Sun performance guru has privately put up at http://fishbutt.fiver.net (and pigberty.fiver.net). Too bad Microsoft and Mindcraft didn't include Solaris x86! All of that said, I have just changed several of my single-chip systems to Linux. Sun has aimed its Solaris design and marketing at SERVERS. The message is loud and clear. It is a pain in the neck to install a boatload of development tools on Solaris x86. I love spinning a Linux CD onto a new disk and having a complete development system up in 40 minutes. Solaris-on-Intel has relatively weak driver support. They release only multi-threaded bulletproof drivers for server-oriented hardware. It takes more programming and debugging time to produce threaded drivers, but it is the only way to get massive throughput. Sun disdains EIDE (the Linux IDE drivers are better), since any real server runs SCSI. Sun dropped laptop support from Solaris altogether, leaving travellers to choose between Windows and Linux. Hardware vendors produce Windows drivers at their own expense and give them to Microsoft. Few of these same vendors write Solaris drivers - - Sun has to write them internally. This is a very big reason why the OS monopoly is self-sustaining. Sun cannot afford to develop top quality drivers for every piece of hardware on the market, and they are unwilling to damage their reputation by distributing crappy ones. This situation is exactly where Linux fits in. The fact that Linux drivers do not have to be threaded makes them easier to write. Lots of 'em end up getting written. And for 2 chip boxes, they are perfectly adequate. Sun is also much more constrained by backwards compatibility than Linux. Although Sun makes a lot of transparent innovations in the guts of the kernel, the existing APIs must remain stable. Linux APIs can evolve much faster - - and there both good and bad consequences to that flexibility. I don't want Linux to "evolve" into a Solaris x86 competitor. Such an evolution would invariably slow single and dual chip system call speed, and reduce driver availability. Some of the creative open source developers would drop out if they had to quadruple their debugging efforts to deal with kernel threads. I'd rather have a fast running, fast-evolving Linux. Personally, I'm really glad to have both Linux and Solaris.