Quote:Who in their right mind would choose Windows as a game server? If nothing else, it's a waste of money.
EverQuest was ran in Windows NT servers AFAICR (they shipped before W2k, even). Also, all of the Xbox Live! infrastructure runs on Windows, and that seems to scale pretty well ;-)
It is entirely possible to run servers on Windows, and the cost of Windows is not the major cost there, compared to everything else that goes into running a real data center.
That being said, personally I have better experiences from Linux servers than Windows servers, so that's probably what I'd choose, but there are cases that could sway me.
Finally, when it comes to efficient I/O, you have to tip your hat to Microsoft in the .NET framework. The BeginRead()/IAsyncCallback/EndRead() API is easy to use, and it maps very well to I/O completion ports, which are the high-efficiency construct of the NT kernel.
Meanwhile, UNIX has been bogged down in thinking about signals, and that in turns leads to some confusion between threads and processes, which actually makes highly parallel I/O servicing more annoying on UNIX than Windows.