Begin(rant);
I am sick and tired of people bashing Win2k as a "workstation" and not a server. Bashing Windows and touting the superiority of Linux is such a cliche that I get sick to my stomach when I see people doing it just to "fit in." People make this claim somehow based on a notion that the Linux kernel is "superior" in some form to the Win2k kernel.
No matter which way you spin it, the Linux kernel is based on Unix, a relic from the 70's. Most of the new features are basically hacks to get Linux working with new concepts. As a result, the Linux kernel is missing some key features.
The one I always like to mention are OS threads. NT/2k has them, Linux wants them. NT/2k, being the newer of the two OS's, has been designed from the ground up to embody many of the generally accepted computer science improvements from the 80's. No one really likes to mention the fact that whenever Apache runs on a Linux box it actually runs multiple processes and spawns even more if it gets heavily loaded... Problem being, processes need their own virtual memory spaces and have a much higher overhead than kernel threads. IIS can simply create a lightweight thread to handle a new incoming connection... no virtual memory overhead of a new process.
Sure, there are those who will argue with me and say "Linux DOES TOO have threads..." but they don't realize that threading libraries are not the same as kernel-supported threads; they don't receive the same level of scheduling priority. And some sort of a shared-virtual memory hack defeats the whole purpose of threads: they're supposed to be lightweight, and when you create two separate address spaces and then copy one over the other so that they're shared, you haven't exactly done a "lightweight" amount of work in the process...
There are other nice features of the NT kernel as well, including support for kernel object handles (rather than the antiquated Unix "file descriptor" interface) and true process message passing and kernel-supported remote procedure call interfaces. Linux gurus will claim support for all of the things I have just mentioned as well, but generally everything is a hack to retro-fit an old OS model with newer features.
I'm not claiming that Win2k is more stable as a result, but I just want to set the record straight when people simply concede the point that Linux has a "far superior kernel" to Win2k. I'm just saying that I disagree, for good reasons.
I too have a warm spot in my heart for Unix, if only because I got to know it very well during my undergrad and grad days... But it's not so warm that I am blinded from recognizing superior technology as it becomes available.
End(Rant);
Kyle
I am sick and tired of people bashing Win2k as a "workstation" and not a server. Bashing Windows and touting the superiority of Linux is such a cliche that I get sick to my stomach when I see people doing it just to "fit in." People make this claim somehow based on a notion that the Linux kernel is "superior" in some form to the Win2k kernel.
No matter which way you spin it, the Linux kernel is based on Unix, a relic from the 70's. Most of the new features are basically hacks to get Linux working with new concepts. As a result, the Linux kernel is missing some key features.
The one I always like to mention are OS threads. NT/2k has them, Linux wants them. NT/2k, being the newer of the two OS's, has been designed from the ground up to embody many of the generally accepted computer science improvements from the 80's. No one really likes to mention the fact that whenever Apache runs on a Linux box it actually runs multiple processes and spawns even more if it gets heavily loaded... Problem being, processes need their own virtual memory spaces and have a much higher overhead than kernel threads. IIS can simply create a lightweight thread to handle a new incoming connection... no virtual memory overhead of a new process.
Sure, there are those who will argue with me and say "Linux DOES TOO have threads..." but they don't realize that threading libraries are not the same as kernel-supported threads; they don't receive the same level of scheduling priority. And some sort of a shared-virtual memory hack defeats the whole purpose of threads: they're supposed to be lightweight, and when you create two separate address spaces and then copy one over the other so that they're shared, you haven't exactly done a "lightweight" amount of work in the process...
There are other nice features of the NT kernel as well, including support for kernel object handles (rather than the antiquated Unix "file descriptor" interface) and true process message passing and kernel-supported remote procedure call interfaces. Linux gurus will claim support for all of the things I have just mentioned as well, but generally everything is a hack to retro-fit an old OS model with newer features.
I'm not claiming that Win2k is more stable as a result, but I just want to set the record straight when people simply concede the point that Linux has a "far superior kernel" to Win2k. I'm just saying that I disagree, for good reasons.
I too have a warm spot in my heart for Unix, if only because I got to know it very well during my undergrad and grad days... But it's not so warm that I am blinded from recognizing superior technology as it becomes available.
End(Rant);
Kyle