Chapter 4. Principales debilidades de Linux

Como pretendo darle una visión global de Linux, mostraré tambien sus debilidades.

4.1. Linux puede ser ineficiente

Esto quiza sorprenda a más de alguien, pero Linux es en cierta medida, ineficiente.

4.1.1. Programas monolíticos

Si bien Linux tiene todas las características de un Unix moderno como memoria virtual o bibliotecas compartidas; usualmente muchas aplicaciones como los demonios apache, sendmail y ftp lo único que comparten es la biblioteca de C.

La mayoría de los programas están pensandos monolíticamente, son pocos los programas completamente multihebras (threads). Esto se patentó cuando MindCraft realizó su famosa prueba de "Quién es más rapido: Apache sobre Linux o IIS sobre NT", perdiendo Apache por un margen bastante grande.

Esto es así porque la mayoría de los esfuerzos están en construir un sistema estable y altamente útil, en vez de uno eficiente. Esto tambien está haciendo que las distribuciones cada día sean mejores y a la vez más pesadas, un precio que no deberiamos pagar necesariamente.

4.1.2. X-Window, un gran elefante

Mucha gente escucha por ahí que "Linux es tan eficiente que utilizamos nuestro 486 como servidor", asi que se animan y prueba Linux como estación de trabajo. Al final, concluyen que Linux es más lento que su Windows 95 y lo borran definitivamente.

La razón de esto es X-Window, el sistema gráfico estándar de Unix. X-Window es un gran elefante, que consume mucha memoria y es algo ineficiente.

Esto, unido al hecho de programas monolíticos, hacen que la experiencia gráfica en Linux no sea muy satisfactoria a veces. Esto se nota bastante con BeOS, un Sistema Operativo escrito completamente en muchos componentes que intentan aprovechar las ventajas de las máquinas actuales.

4.1.3. ¿Significa esto que debo rechazar Linux por ser ineficiente?

La respuesta es un no absoluto. De partida, hay muchos ejemplos de sistemas ineficientes en todos los sistemas operativos y cada día piden más y más requerimientos mínimos. Linux no es el único ineficiente en las áreas que expuse.

La máquina que ganó a Apache en Mindcraft tenía la capacidad suficiente para soportar todo el sitio web de Microsoft. Sin embargo, Microsoft utiliza un cluster de varios servidores. Es decir, este tipo de pruebas son hechas en situaciones irreales.

Usted logrará un servicio de calidad a un excelente precio/rendimiento en situaciones reales. Por darle un ejemplo imaginario, quizas usted estará pagando un 50% más de dinero por solo un 10% más de rendimiento. En ese caso, puede utilizar todo el dinero que ahorro en Licencias para comprar más o mejores máquinas y obtener el mismo resultado.

Por último, se están haciendo avances en este aspecto. Un ejemplo es el servidor web a nivel del kernel. En la actualidad este es el servidor web de contenido estático más rapido existente. Otro ejemplo son avances en los sistemas gráficos. GNOME no es el mismo que hace un año.