¿Puede Linux hacer que un equipo dure más?

Es una pregunta que a veces me han hecho, y que no es sencilla de contestar. No se puede decir que un sistema operativo pueda hacer que el hardware dure más. En este sentido, influyen muchos factores, y no es que Linux pueda hacer que la fiabilidad sea mejor solo por ser Linux.

Como es un tema algo delicado, intentaré desgranarlo e ir explicando cuáles son los factores que influyen en la fiabilidad. Es decir, cómo el software y firmware podría influir en los problemas de la electrónica…

Desglosando los puntos clave…

En principio, lo que sí hace GNU/Linux es alargar la vida de viejos equipos gracias al uso de distros ligeras que puedan darle una segunda oportunidad a ese hardware que ha quedado algo obsoleto. Incluso puede aislar sectores erróneos (véase badblocks) de una unidad de almacenamiento y funcionar perfectamente en ella, algo que otros sistemas no podrían hacer. Pero… ¿podría también hacer que un hardware dure más tiempo en comparación con otros sistemas operativos como Windows? Dicho de otro modo, ¿puede Windows hacer que tu hardware tenga una vida útil más corta con respecto a Linux? Veamos:

  • Optimización: para alargar la vida útil del hardware, es importante que no se haga trabajar tan forzado, es decir, que no se caliente tanto, que las frecuencias de reloj se mantengan cuanto más bajas mejor, menor carga de trabajo, etc. Esto lleva a pensar que un sistema operativo más ligero, y que consume menos recursos de hardware, puede hacer que tu hardware no envejezca tan rápido. Conclusión, si el sistema operativo está más optimizado y consume menos recursos, entonces puede ayudar a no acelerar el deterioro.
    • ¿Puntos a favor de Linux en este sentido? Lo cierto es que hay distros de todo tipo, algunas más «derrochadoras» que otras. La verdad no se puede hablar en términos genéricos. Lo que sí es cierto es que tienes una gran flexibilidad para poder elegir un entorno de escritorio más ligero (o prescindir de él), y elegir otras muchas partes, e incluso la posibilidad de configurar un kernel totalmente optimizado para tu máquina, algo que es imposible en otros sistemas como macOS (en este caso, al ser una plataforma más limitada, ya viene optimizado) o Windows.
  • Calidad del código: un código bien escrito, no solo para hacer bien su trabajo, sino con menos bugs, también puede influir. Reiniciar el equipo por hardware no es algo realmente positivo para la electrónica. Por tanto, un SO que necesite menos número de reinicios podría mejorar la vida. Aunque, sinceramente, si pudieras coger dos equipos exactos y realizar reinicios e uno de ellos y en otro no, la diferencia entre ambos no sería realmente grande (si la cantidad de reinicios no es exagerada).
    • En este sentido, el mundo *nix en general (no Linux en particular) tiene cierta ventaja. Fuera de esta familia, se debería evaluar la estabilidad y robustez del sistema operativo en cuestión con el que se compare. Además, incluso dentro de GNU/Linux se debería tener en cuenta el tipo de distribución, ya que existen diferencias notables entre ellas.
  • Malware: puede contribuir a deteriorar el equipo, ya que algunos tipos de malware pueden ejecutarse en procesos en segundo plano que están usando ingentes cantidades de recursos de hardware (más temperatura, modos de potencia superiores,…) y si son persistentes y no se eliminan, con el tiempo pueden someter al equipo a un estrés severo. En este sentido, plataformas con menor cantidad de malware sí que podrían  tener una ventaja.
    • Nuevamente el mundo *nix saldría victorioso en este sentido (con excepciones como Android), además de cualquier otro sistema operativo de minorías que no suele ser objetivo de este tipo de problemas.
  • SWAP vs pagefile.sys: tanto la SWAP (sea partición o swapfile) del mundo *nix, como pagefile.sys de Windows, se comportan de igual forma. No habría diferencias entre uno y otro en términos de fiabilidad. Ambos podrían acelerar el deterioro del disco duro, especialmente en el caso de un SSD por el número limitado de ciclos. Ten en cuenta que en ese espacio se van a estar escribiendo procesos que se descargan de la RAM según la prioridad (véase kernel scheduler), lo que significa cierto estrés para la memoria. Incluso en los primeros SSD, menos fiables, se recomendaba no alojar la SWAP en ellos y hacerlo en el HDD. Actualmente eso ha cambiado, pese a eso, sigue suponiendo bastantes ciclos para la zona ocupada por la memoria de intercambio. Nuevamente, no por ser Linux saldría victorioso en este sentido.
    • Aquí no habría distinción si se comparan cargas de trabajo similares. Es decir, no sería justo comparar un sistema operativo para el escritorio con un sistema operativo dedicado soportar altas cargas de trabajo (servidores, HPC, mainframes) y alta disponibilidad. En esos casos podrían someter al hardware a mayor estrés.
  • Un S.O. puede dañar el hardware: esto es así en tanto y en cuánto un SO puede actualizar el firmware de cualquier componente, lo que podría terminar en una mala actualización (véase brick), o modificar ciertos parámetros físicos como la frecuencia (véase overclocking/overvolting), o por hacer un número intensivo de ciclos de escritura/borrado en memorias flash, inhibir la capacidad de refrigeración modificando la velocidad de los ventiladores, usando modos de energía inapropiados, powervirus, o por otros problemas (Killer Poke, acciones de usuario inapropiadas…). Pero esto es ajeno al tipo de sistema operativo, puede ocurrir en todos. Y como puedes comprobar, tiene más que ver con los controladores y firmware que con el propio sistema operativo en sí. Esto nos lleva al siguiente punto.
    • Esto puede ocurrir a todos por igual. No hay un vencedor ni un perdedor.
  • Controladores y firmware: los controladores y el firmware (código de las memorias programables tipo ROM o eFUSEs de los dispositivos) están íntimamente relacionados con la forma en la que el harware trabaja. Problemas en ellos pueden resultar en un malfuncionamiento, sobre-estrés, e incluso, en el caso del firmware, en un dispositivo totalmente inservible.
    • En este sentido, puedes pensar que los drivers de código abierto podrían ser un problema, especialmente si son creados a partir de ingeniería inversa, ya que podrían no estar funcionando de la mejor forma. Pero lo cierto es que la diferencia no es tan notable, ya que esos controladores se limitan a hacer lo mínimo, es decir, son bastante simples y en ocasiones ni siquiera extraen todo el rendimiento ni usan todas las funciones del dispositivo al que pertenecen. En otras ocasiones, son las propias empresas que han diseñado el dispositivo, o la tecnología a la que pertenecen, los encargados de aportar código, lo que disiparía aún más las diferencias.
    • Un controlador deficiente podría hacer que la eficiencia energética del dispositivo se vea afectada, o tal vez que no funcione de forma correcta, y por tanto, su fiabilidad también mermaría. Algo que puede ocurrir en cualquier sistema operativo por igual…
    • Los puntos críticos de un sistema operativo están especialmente en el soporte para ACPI, TRIM, etc., ya que son sistemas que afectan directamente a la fiabilidad del hardware. Por tanto, un soporte pleno, y adecuado, podría marcar la diferencia. En los principales sistemas operativos, el soporte es bastante bueno en general. Aunque, tengo que reconocer, que puede que en GNU/Linux encuentres más problemas en cuanto a ACPI que en Windows, especialmente con ciertos modelos de hardware.
    • Las fallas de hardware son de las principales causas de crash del sistema. Pero los propios controladores tienen mucho que contribuir en este aspecto. Se pueden crear controladores más tolerantes a fallos, lo que daría mayor robustez incluso cuando hay problemas en el hardware. Desafortunadamente, esto no es sencillo, ya que no es fácil anticiparse a los fallos de hardware, ni se pueden producir de forma controlada como ocurrirían en entornos reales. Y esto es igual para todos los SSOO.
    • Por último, todo lo dicho aquí para los controladores sería aplicable también la firmware. Solo que en este caso, la dependencia del fabricante de hardware es aún mayor…

Si estás interesado en monitorizar la fiabilidad de tu sistema, te recomiendo conocer acerca del término RAS.

Conclusión

Linux, macOS, Windows logos

Conclusión, no se puede decir, de forma general, que un SO concreto pueda ser mejor que otro en cuanto a «mimar» al hardware. Como puedes comprobar, dependerá más de otros factores que del propio sistema en sí…

Así que, para determinar si un sistema operativo puede contribuir con la fiabilidad, hay que analizar todos esos factores descritos y buscar el que mejor parado salga en cada uno de ellos, incluyendo buscar los controladores adecuados y/o elegir el hardware con mejor soporte para tu sistema.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar