Has Linux really lagged behind Windows and Unix in scalability?
This is an emotion-charged question. People will believe what they want despite the evidence. Accusations have been made that Unix and MS Windows scale to far greater numbers of processors than the Linux 2.4 kernel can. While this is true, a bare claim like this makes little sense unless it is placed within the context of deployment need. Today, Linux kernel 2.4 scales to about four CPUs; still, one should consider whether a four-CPU server is needed for departmental file and print serving in the average company. After all, there are an average 45 users per server.
One factor that has driven the perception that Linux lacks scalability is the fact that Linux kernel capabilities have generally lagged hardware developments. The Linux 2.4 kernel lagged in support of large memory (over 4 GB), in support for new firmware, in support for USB2, and in many other areas compared with MS Windows 2000. The Linux 2.4 kernel does not have native support for Posix ACLs and extended attributes; it lacks in process scheduling and prioritization support. One must ask the question, "How does this affect intended use in a given task environment?"
Linux 2.4 lags in plug-and-play support; it lacks driver support. Linux vendors like Red Hat and SuSE have been quick to back-port Kernel 2.6 drivers and features to the 2.4 kernel. In most cases, the real gap between capability and state-of-the-art hardware has not been that significant.
In summary, the Linux kernel has lagged in scalability and in feature support, so perception becomes the reality.