N_Jay said:
I would suggest you spend some amount of time talking to people who design and maintain these systems before you make assumptions.
Dude..I'm a network admin, and have been for the past 7 years. Three of those years were working with one of the largest IP networks in the world. While not nearly as relevent as my experience in "production environments" I was a computer hobbyist for around 13 years prior to me getting paid to do it. My first computer was a Coleco ADAM if that gives you any indication of how long I've been messing with these things. Nowadays my "playground" is considerably more humble than that, but it still places me in charge of around roughly 1,500 PCs running XP and 2k, a dozen or so unix boxes, and several dozen routers, switches, and other random network devices. Every aspect of our network, which spans 3 states, has been designed or redesigned by me from the ground up with the exception of our MPLS network that we use to reach our VoIP provider. In addition to designing and maintaining these systems myself, I do talk to other people who do the same nearly every day. These aren't assumptions, these are facts.
As a specific example of why MS products continue to suck: On any MS operating system, the graphics driver runs in kernel space instead of user space. This is done so that the gaming crowd can have faster screen updates and frame rates but this is not necessary for any application that needs to run on a MDC, and presents both a security risk and a stability problem.
While I will agree with you that selection of hardware and drivers will do much to improve the stability of the system, it doesn't seem to be enough.
Of course, in theory" an embedded OS is more stable, mostly because it is asked to do less, and has "well selected hardware and drivers"!
Right, which is exactly why I say that an embedded OS is still the correct choice for MDCs. There's only so much that personnel need to do with their equipment. So, we can apply the KISS principle and start with a "bare OS" and add the needed functionality and provide well documented APIs for future functionality. I am not a developer, but I know many of them, and all of them complain about how poorly documented Microsoft's APIs are, especially when it comes to device drivers. It's difficult to write a stable driver when you're shooting in the dark. This is not an issue when developing for an open source OS, embedded or otherwise.
IME&O the *only* advantage MS has is the wide selection of applications that are available. It seems that the only way MS has been able to maintain this advantage in recent years is by harassing and penalizing developers if they dare develop for other operating systems. This will change in due time.