En mi opinión, la razón más importante es que la mayoría de los programas en Windows dependen del registro . El registro es posiblemente un almacenamiento bien organizado, sin embargo, no se sabe que sea muy eficiente. Cuando instala Windows por primera vez, el tamaño del registro es pequeño y las operaciones de búsqueda son económicas; sin embargo, a medida que instala más y más programas, el registro se hace más grande y más difícil de administrar.
Otro factor es la fragmentación del disco. NTFS y FAT son muy conocidos por su incapacidad para prevenir la fragmentación. Por otro lado, los sistemas de archivos de Linux, especialmente ext3 (no tengo experiencia en reiserFS u otras alternativas) son bastante resistentes a la fragmentación.
Una breve introducción a la fragmentación.
¿Qué es la fragmentación? Este artículo hace un buen trabajo al explicarlo, pero lo esencial es esto: Windows agrupa todos sus archivos en un solo lugar en el disco, mientras que Linux los distribuye por todo el lugar. Eso significa que, cuando un archivo crece en Windows, corre el riesgo de ser tan grande que se superpone a la asignación del disco duro del siguiente archivo, y por lo tanto debe ser movido o (más probablemente) fragmentado, con el nuevo fragmento almacenado en un lugar diferente en el disco duro. La próxima vez que se accede a ese archivo, Windows realmente tiene que hacer dosaccesos al disco, uno para el archivo inicial y otro para el fragmento recién creado. Cuando un archivo crece en Linux, por otro lado, a menudo hay espacio más que suficiente para él, y el sistema operativo avanza felizmente. El método de Linux tiene una pequeña desventaja en los discos duros mecánicos, y es que, debido a que los archivos están distribuidos por todo el lugar, hay un pequeño retraso para acceder a ellos a través de una serie de archivos "agrupados". El proyecto e4rat funciona bastante bien para eliminar o reducir algunos de estos retrasos (solo sistemas de archivos ext4), y la sobrecarga incurrida nunca es peor que lo que experimenta Windows por la fragmentación de archivos.
Otro factor es un pequeño truco que Windows saca: una instalación de Windows nunca está activa cuando está activa. Windows inicia muchos procesos despuésinicie sesión. La distinción entre los procesos del sistema y los procesos del usuario es un poco vaga para Windows, especialmente para las versiones anteriores a XP. Y muchas aplicaciones de Windows están ansiosas por iniciar procesos en segundo plano y colocar iconos de bandeja. Con el tiempo, una instalación de Windows comienza a iniciar más y más procesos al inicio. Sin embargo, Linux inicia estrictamente todos los procesos del sistema antes de iniciar sesión. Después de iniciar sesión, solo se inicia un número mínimo de procesos. Linux tampoco alentó el uso de servicios en segundo plano relacionados con tareas específicas de un usuario específico, o el uso de iconos de bandeja. La última versión de Gnome niega que todas las aplicaciones coloquen iconos de bandeja, excepto una lista blanca muy estrecha. Entonces, con el tiempo, una instalación de Linux todavía inicia solo un número limitado de procesos después del inicio.
Estoy seguro de que hay otros numerosos factores que contribuyen a este fenómeno, estos son los principales que se me ocurren.