Uso de memoria: Linux vs. Windows

Con la llegada al mercado de Windows Vista por primera vez las distribuciones de Linux para computadoras personales requieren menos memoria que Windows.

En la época en la que reinaba Windows 98 (entre 1998 y 2001) eran comúnes las PC con 32 MB de memoria RAM. Muy pocos tenían 64 MB y sólo por el 2001 se empezaron a ver computadoras que vinieran con 128 MB. En esa época Linux no era una alternativa para casi nadie, pero mucho menos lo era si tenían 32 MB RAM. Ejecutar KDE o GNONE con tan poca memoria era frustrante. Los usuarios de Linux usaban clientes de correo de consola como el Pine y era común que las distribuciones incorporaran junto a GNOME y KDE otros manejadores de escritorio más livianos como IceWM. Con 64 MB la experiencia era un poco mejor, pero la comparación con Windows 98 era muy desfavorable. Claro que Linux ofrecía muchísimas ventajas en otros aspectos, pero el entorno gráfico era muy pesado y no había forma de acceder a la web decentemente sin usarlo. Linux necesitaba más memoria que Windows.

En 2001 Microsoft sacó Windows XP al mercado y como pasa siempre las PCs nuevas empezaron a incorporarlo preinstalado por lo que ya no se vendieron computadoras con menos de 128 MB. Este salto puso a GNOME y KDE en el mapa ya que ambos funcionaban muy bien con esa cantidad de RAM.

Como puede observarse en las notas de Gnome 2.0 (lanzado al mundo en junio  de 2002) se indica que funcionaba bien con 96 MB y lo confirma otro usuario en otra página. El 2002 fue un año bisagra en la introducción de Linux como sistema operativo de escritorio ya que, además de darse esta circunstancia de que sus requisitos de hardware estaban al alcance de todos, es el año en el que salieron a la luz las versiones 1.0 del navegador Mozilla y de la suite de oficina OpenOffice.org. Sin duda ambas herramientas fundamentales para todos los potenciales usuarios de Linux.

Durante los años de XP (entre el 2001 el 2006) la cantidad de memoria requerida para Windows y para Linux en computadoras de escritorio fue similar. En general se recomendaba 256 MB para XP y las distribuciones más populares de esos días andaban muy bien con esa cantidad.

A partir de 2006 con la llegada de Windows Vista la situación es la inversa. 512 MB es lo mínimo necesario para que Vista arranque (sin todas las funciones activadas), siendo el doble un mínimo más adecuado. La diferencia con Windows XP es notoria: con 512 MB anda perfectamente. Por el lado de Linux, 512 MB es una cantidad más que suficiente y con 256 MB tampoco se tienen mayores problemas. En el artículo anterior en este mismo blog está la tabla con las cantidades mínimas y recomendadas de memoria para Windows y Linux según qué versión.

Hoy en día es común leer en blogs de usuarios de Vista comentarios como que con 2 GB anda bárbaro. Yo todavía no he usado nunca una PC con esa cantidad de memoria, la mía tiene 512 MB (menos 32 MB usados para video), tengo la última versión de Ubuntu y uso programas pesados (Netbeans 6.1) y corro servicios como FirebirdSQL sin sentir que tengo que ir a comprar más memoria.

Hoy se observa cómo los requerimientos de memoria de Linux pasaron a ser menores que los de Windows revirtiendo la situación existente antes de 2001.

Cuando Windows 98 causaba muchos dolores de cabeza a sus usuarios por su inestabilidad, inseguridad y poca solidez Linux perdió la oportunidad de captar más usuarios por sus altos (para la época) requisitos de memoria. Windows XP solucionó los problemas de inestabilidad y poca solidez de su antecesor suprimiendo uno de los motivos principales que podían llevar a usuarios de Windows a cambiar de sistema, pero a la vez equiparó los requisitos de memoria de ambas plataformas. Windows Vista está dejando afuera del mapa a un importante porcentaje de las computadoras en uso y es un excelente momento para que en muchos casos la migración de XP sea a Linux y no a Vista.

Aumento en los requerimientos de RAM de Windows y Linux

Si comparamos versión tras versión de Windows para usuarios de escritorio (3.1, 95, 98, Me, XP y Vista) vemos un aumento exponencial de los requerimientos mínimos de memoria RAM.

Versión Año Mínimo Recomendado
Windows 3.1 1992 2 4
Windows 95 1995 4 8
Windows 98 1998 16 32
Windows Me 2000 32 96
Windows XP 2001 64 128
Windows Vista 2006 512 1024

La tabla considera unos requerimientos mínimos muchas veces ridículos. Todo el mundo sabe que Windows 95 con 4 MB de RAM no funcionaba. Windows XP con 64 MB es algo nunca visto. Ya muchos están comprobando que Windows Vista tampoco funciona bien con 512 MB. Pero aún así el salto de XP a Vista es impresionante como se ve en el gráfico que sigue.

La evolución de las diferentes distribuciones de Linux es difícil de rastrear ya que antes no acostumbraban  publicar el detalle de requerimientos de memoria ya que estos dependían de los programas que uno quisiera usar y de si usaba o no el entorno gráfico. Voy a considerar 3 distribuciones que sí publicaron sus requerimientos cuando fueron presentadas y casualmente son 3 versiones que he usado yo mismo con asiduidad: Red Hat Linux 9, Fedora Core 2 y Ubuntu 8.04.

Versión Año Mínimo Recomendado
Red Hat Linux 9 2003 128 192
Fedora Core 2 2004 192 256
Ubuntu 8.04 2008 256 512

(*) Tengamos presente que “Recomendado” en el caso de Windows podría interpretarse como un “mínimo recomendado” en casi todos los casos. Sin embargo por experiencia propia puedo afirmar que con 256 MB de RAM tanto Fedora Core 2 y Ubuntu 5.10 (que es de fines de 2005 y no está en la lista) andaban mejor que el propio Red Hat Linux 9. La mejora más que seguro es atribuible a optimizaciones en el escritorio Gnome. Ubuntu 8.04 con 512 MB (en realidad cerca de 480 MB por la memoria de video compartida) funciona holgadamente.

Para tener una idea de cuánta memoria era necesaria para ejecutar Linux con entorno gráfico antes de 2003 podemos mencionar los requisitos de Mozilla 1.0 (presentado en 2002): 64 MB. Es poco probable que el entorno gráfico funcionara adecuadamente con menos RAM, aunque siempre hubo versiones minimalistas de manejadores de ventanas menos amigables para el usuario que KDE y Gnome, pero adecuadas para equipos con 32 MB.

El principal resultado es que en una época (allá por los años 90) Windows requería menos memoria que Linux para ejecutar aplicaciones en un entorno gráfico. Aunque esos años de Windows 95, 98 y Me son muy recordados por las pantallas azules y la inestabilidad de Windows. Cuando se lanzó Windows XP con sus 128 MB de memoria “recomendados” el entorno gráfico de Linux ya estaba empatado con Windows en cuánto a uso de RAM, aunque aún atrasado en facilidad de uso. Las mejoras que sobrevinieron en estos años en ese aspecto no implicaron un aumento significativo de los requisitos de memoria.

Uno de los principales motivos para que Windows aumente tanto los requisitos de memoria con cada versión nueva es que su principal canal de venta son los equipos nuevos y éstos salen a la venta con más memoria que los que la gente tiene en su casa comprados con anterioridad. Además la política de MS es adaptar Windows al hardware que estará disponible un par de años a partir de su lanzamiento. Si en 2001 ya se vendían PCs con 256 MB de RAM (las de más altas prestaciones) entonces Windows XP va a tener esa memoria disponible y la puede usar. A los fabricantes de equipos les da un motivo para que le gente compre una nueva PC para poder usar el nuevo Windows.

Por el contrario, las distribuciones de Linux no tienen interés en que la gente compre equipos nuevos, quieren que todos puedan ejecutarlo con la computadora que ya tienen. Claro que quien tenga necesidad de mayor rendimiento tendrá que tener el hardware adecuado.

Ventajas de usar Ubuntu: Consistencia visual

La consistencia visual en un entorno de escritorio es muy importante. Que un mismo concepto se vea igual en todos lados ayuda a que el usuario descubra por si mismo cómo usar las herramientas y aprovecha su experiencia con una de ellas para aprender las demás.

Dicho esto, Ubuntu no es perfecto en ese sentido. Es difícil lograr consistencia visual cuando en un mismo sistema conviven aplicaciones provenientes de diferentes plataformas. La gran mayoría de las aplicaciones son nativas de Gnome y usan GTK como kit de componentes visuales lo que facilita la consistencia, pero por ejemplo la suite OpenOffice.org, el navegador Firefox y el cliente P2P aMule usan 3 kits diferentes (UNO, XUL y wxWidgets respectivamente). Desde hace un tiempo se trabaja para mantener consistencia visual en estas aplicaciones tan diversas y la situación en Ubuntu 8.04 es bastante aceptable. Firefox es bastante similar al resto del escritorio, la suite OpenOffice.org ya estaba adaptada al entorno y ya casi no se ven demasiadas ovejas negras.

A estos avances recientes hay que sumarle que Gnome, el escritorio que viene integrado en Ubuntu, desde su nacimiento planteó una serie de lineamientos básicos referidos a la interfaz humana para hacerla consistente, atractiva y usable. De hecho muchas aplicaciones que desean formar parte del escritorio Gnome son rechazadas por no seguir esos lineamientos y deben adaptarse.

La multiplicidad de kits de desarrollo de componentes gráficos es algo natural en una plataforma abierta donde cada uno hace sus programas como quiere o como mejor le parece. De hecho hoy en una instalación típica de Ubuntu hay programas hechos con

  • GTK (ya casi no quedan, casi todos han migrado a GTK-2)
  • GTK-2
  • wxWidgets
  • Java (Swing)
  • Qt (aplicaciones del entrono KDE)
  • XUL (Firefox y Thunderbird)
  • SWT (Eclipse y algunas aplicaciones Java que no usan Swing)

La tendencia actual es a que todos los kits se vean iguales al kit “nativo” que es GTK-2 y se ha logrado bastante.

En Windows pasa algo similar, cada programa usa su propio kit, de hecho en Windows se pueden tener instaladas aplicaciones que usen Java, SWT, wxWidets, GTK, GTK-2, XUL y Qt y también la tendencia es a que se vean como una aplicación de Windows nativa, pero el resultado es bastante peor que en Ubuntu por otros motivos.

Las aplicaciones de Windows no respetan ninguna regla ni patrón de consistencia. En parte se explica en este artículo, que es mucho más abarcativo en cuanto a temas, pero que tiene una imagen que vale mil palabras. Ahí se ve claramente como incluso aplicaciones que son nuevas y hechas por la misma empresa que hace el sistema operativo no se ven igual en cosas tan básicas como el menú. Windows Media player 11 no se parece al Office 2007 y el Windows Live Messenger es un bicho raro comparado con casi cualquier otra cosa. Si bien hay conceptos comunes, no siempre aparecen o se comportan igual. Office 2007 parece estar condenado a ser distinto al resto del escritorio, porque el Ribbon (el menú de herramientas modernoso que trae) no está disponible para incluirlo en otras aplicaciones ni de MS ni de terceros. Si bien hay quienes implementaron una imitación de ese kit para ponerle un símil del Ribbon a tu aplicación y MS les compró el producto, no va a estar integrado a las herramientas de desarrollo .NET sino sólo a las de C++.

Por otro lado MS tiene que soportar las interfaces de Windows 3.1, 95/98 y XP en Windows Vista con lo que mantener la consistencia es prácticamente imposible, pero no sería justo criticarlos por eso, de hecho el remedio sería peor que la enfermedad: hacer que dejen de funcionar las aplicaciones viejas. Lo que sorprende es la falta total de consistencia en aplicaciones nuevas hechas por Microsoft mismo. Lo que tampoco ayuda es que cada nueva versión de Windows, Office o alguna aplicación como el Windows Media Player o el Windows Live Mesenger para llamar la atención establezca sus propias reglas en cuanto a interfaz de usuario y rompa la poca o mucha consistencia que hay con las versiones anteriores o los programas coexistentes.

La plataforma más consistente es Mac OS X, que hace un culto de la uniformidad y la consistencia, claro que a un precio alto, ya que una Mac puede llegar a costar el doble o el triple que una PC común y corriente y es una plataforma donde la mayoría de las aplicaciones las hace Apple que además controla el toolkit. OpenOffice.org para Mac OS X no respeta la consistencia visual y tal como pasó con la versión de Windows y Linux anteriormente, la versión 3.0 va a hacerlo.

Ventajas de usar Ubuntu: Seguridad

Cualquier usuario de Windows más o menos consciente sabe que para evitar correr riesgos con su equipo debe añadirle a Windows un conjunto de herramientas de seguridad. En la época de DOS y Windows 3.1 alcanzaba con tener un antivirus más o menos actualizado y escanear el disco duro y los diskettes cada tanto. Luego empezaron a aparecer los antivirus residentes que estaban permanentemente analizando todos los archivos que se leían o escribían en búsqueda de virus.

Hoy en día los virus son un tipo de amenaza junto con el spyware, rootkits, etc. No es raro ver en cada PC con Windows 3 o 4 herramientas de seguridad corriendo en simultáneo.

  1. Un antivirus residente que escanea todo archivo que se lee o escribe y cada correo electrónico que se recibe o envía.
  2. Un antispyware residente como el AdAware o el Windows Defender. El segundo queda residente y analiza también los cambios en el sistema a medida que se realizan. El primero en su versión gratuita no es resiente.
  3. Otro antispyware no residente pero que detecta spyware que no detectan los otros que se tienen. Típicamente el SpyBot Search & Destroy.
  4. Una herramienta de firewall, aunque Windows XP desde que salió el service pack 2 trae uno.

Aquí tenemos un feliz usuario de Windows que hace alarde de todos los cuidados que tiene que tener referidos a evitar spyware. Y otro que da otras recomendaciones.

Cada una de esas herramientas ocupan memoria, disco y si están residentes, hacen más lentas todas las operaciones y requieren constante actualización para encontrar nuevos virus y amenazas.

Además de eso, Internet Explorer durante años fue una puerta abierta de par en par para que se instalaran programas en la PC sin que el usuario se enterara. Con la versión 7, que todos deberían usar, pero en la práctica no lo hacen, se volvió un poco más seguro.

En Linux y por consiguiente en Ubuntu, todo lo que se dijo hasta ahora no existe. Los pocos virus y spywares que hay son más bien pruebas de concepto y no amenazas reales. En Ubuntu no hay que tener un antivirus instalado salvo que se quiera usar Linux para escanear archivos infectados de Windows. Mucho menos un antivirus residente y tampoco hay peligro en recibir virus por correo.

Las bases sobre las que se levanta la plataforma Linux tienen como uno de sus pilares la seguridad. Cada paso que se dio en agregar facilidad de uso tuvo en cuenta no perder ni un ápice de seguridad.

Si bien un usuario con conocimientos técnicos sabe qué cosas no hacer para evitar los virus y demás, sus familiares pude ser que no tengan tales conocimientos y ejecuten cualquier cosa que encuentran en Internet. Conozco una persona que usaba un Windows para navegar por Internet y otro para trabajar. La partición para navegar estaba congelada con esas herramientas que cada vez que se inicia la PC vuelven el sistema a un estado inicial. Una solución extrema y muy molesta.

Con Ubuntu yo sé que no voy a tener problemas de virus ni spyware por más que no use herramientas específicas para contrarrestarlos, pero además estoy tranquilo de que ninguna de las demás personas que usan mi computadora van a tener problemas por más negligentes que sean.

Además al no tener que ejecutar antivirus residentes no se resiente la velocidad de acceso a los archivos ni se ocupa memoria ni hay que dejarla escaneando los fines de semana. Simplemente la usás y listo; una cosa menos en qué pensar.

Ventajas de usar Ubuntu: Requerimientos de Hardware

Cada nueva versión de Windows, si bien pasan varios años entre una o la siguiente, requiere el doble de memoria, procesador y espacio en disco.

Repasemos:

Windows 3.1: 386, 2 MB RAM, 10 MB disco. (1992)

Windows 95/98: Pentium, 8MB RAM, 55 MB disco. (1995/98 )

Windows XP: Pentium 300 Mhz, 128 MB RAM, 1,5 GB disco. (2001)

Windows Vista: Pentium 4 1GHz,  512 MB RAM, 20 GB disco. (2006)

Es simple ver que la plataforma Windows requiere como mínimo la cantidad de memoria con la que salen a la venta las PCs en el momento de salir la versión de Windows. Recuerdo que cuando salió XP casi todos estaban comprándose PC con 128 MB de RAM y aún se vendían con 64 MB. Y lo mismo pasó con Vista, por el 2006 las PCs venían con 512 MB y aún hoy se venden con esa cantidad.

Hay que tener presente que es sabido que Windows 3.1 andaba con 2 MB, pero andaba bien con 4 MB, que Windows 95/98 andaba con 8 MB, pero si no tenían al menos 16 MB andaba muy mal y que XP con 128 MB no va a ninguna parte y se requieren 256 MB para estar bien. Con Vista pasa igual, 1 GB es lo recomendable para que funcione bien.

Ubuntu 8.04, que tiene las últimas versiones de los mejores programas de la plataforma requiere:

Pentium 3 700 MHz, 384 MB, 8 GB disco.

Bien por debajo de un Vista y cerca de la configuración recomendada para XP.

Existe una versión de Ubuntu con bajos requerimientos de hardware, aunque no deja de ofrecer las últimas versiones de todos los programas que trae incorporados. La clave está en seleccionar los programas con menos demanda de uso de memoria y procesador. Se llama Xubuntu y sus requerimientos son increíbles. Anda con 64 MB de RAM, Pentium a 166 MHz y 2 Gb de disco. Una PC comprada en el año 1999 o 2000 podría servir.

Aún activando los efectos de escritorio en Ubuntu, alcanza con un procesador de 1,2 GHz y 384 MB RAM.

Mi experiencia con Ubuntu  y Linux ha sido con 3 computadoras diferentes: una Pentium III de 1 GHz con 256 MB RAM, una AMD Sempron 2400+ con 512 MB RAM y una AMD Athlon 64 X2 4000 con 1 GB RAM. Y en cada una tuve varias versiones de Ubuntu y otras distribuciones de Linux y nunca me pasó de actualizar el sistema operativo a una versión más nueva y que anduviera más lento, en cambio sí me pasó a la inversa. Por ejemplo, Fedora Core 2 andaba mejor que RedHat 9. Y Ubuntu 6.10 andaba más rápido que su antecesor. Con los programas pasa igual, OpenOffice.org cada vez anda más rápido y Firefox 3 es más rápido y consume menos memoria que la versión 2.

Al mejor aprovechamiento de la inversión que uno hace al comprar un equipo hay que agregarle que en la AMD Athlon X2 que es de 64 bits le instalé la versión de Ubuntu de 64 bits. Las pruebas de rendimiento en el mismo hardware entre la versión de 32 bits y la de 64 bits dan que para operaciones de cálculo intensivo, la versión de 64 bits es entre un 5% y un 35% más rápida. Hay explicaciones técnicas que justifican esos resultados. En Ubuntu para 64 bits todos los programas están compilados para 64 bits y aprovechan al máximo el procesador y sus registros.

Si bien se puede conseguir Windows Vista versión de 64 bits, la inmensa mayoría de los programas que no son software libre aún no están disponibles para 64 bits y entonces no se aprovecha esa característica tan importante.

Yo soy de los que tratan de usar la PC hasta que ya sea tan vieja que no sirve más y no quiero tener que privarme de versiones más nuevas de los programas porque aumentan innecesariamente sus requisitos de hardware. Ubuntu me garantiza eso, el aumento en sus requisitos va a ir de la mano del avance de la tecnología y de dar más servicios y no por una cuestión de mercado y de incentivar la ventas de PCs.

Ventajas de usar Ubuntu: Actualizar el Sistema

Si usás ubuntu y tenés acceso a Internet en tu casa o en algún lugar como por ejemplo el trabajo, cada 6 meses tenés la última versión de Linux y de todos los programas que usás. En Windows las actualizaciones son más espaciadas porque cada nueva versión debe ser comprada (al menos para quienes se mantienen del lado de la ley) y sería de muy mal gusto que MS sacara una nueva versión de Windows a USD 120 cada 6 meses.

Además cada nueva versión de Windows es traumática, pasa mucho tiempo y el hardware cambia mucho entre una versión y la siguiente entonces es más común que la gente cambie de PC y consiguientemente cambie de versión de Windows a que en una misma PC se actualice la versión de Windows instalada.

Así y todo existen versiones de Windows 95, 98, Me, XP y Vista que se instalan en una PC con la versión anterior y en teoría dejan todo igual a como estaba antes pero con Windows más nuevo. En la práctica el 90% de la gente formatea el disco e instala Windows desde cero con la consiguiente reinstalación y reconfiguración de todos los programas y la recuperación de los datos de un backup. De hecho, muchos reinstalan Windows cada año o cada seis meses.

En Ubuntu y en casi toda distribución de Linux más o menos decente esto no es así. Desde la versión 5.10 de Ubuntu la forma recomendada de instalación es disparando el programa de actualización del sistema. Este mecanismo consiste en conectarse a Internet, detectar que existe una versión posterior a la instalada y bajar uno a uno todos los paquetes nuevos. Luego los instala y deja todo como estaba, pero con la distribución actualizada a la última versión. El efecto es exactamente el mismo que obtendríamos si nos consiguiéramos el CD de instalación, lo instaláramos desde cero y volviéramos a configurar todos los programas y a reubicar todos nuestros documentos y archivos en sus carpetas, sólo que lo hace automáticamente.

Este proceso existe gracias a que el sistema de instalación de paquetes es centralizado, se basa en repositorios y está diseñado justamente para permitir esta operación.

Si no se tiene conexión a Internet desde la PC que corre Ubuntu, no hay problema. Existe el CD de instalación alternativa. Lo bajamos desde el sitio de Ubuntu desde algún lugar donde podamos acceder a Internet, lo grabamos a un CD y lo insertamos en la lectora de CD ya logueados en nuestra sesión de Ubuntu. El sistema nos va avisar que ese es un CD de actualización a va a preguntarnos si queremos actualizar a la nueva versión. Si aceptamos, va a hacer exactamente lo mismo que hace desde Internet, pero leyendo los paquetes desde el CD. Opcionalmente podemos decirle que si en Internet hay una versión más nueva de un paquete que está en el CD lo baje.

Lo que pasa en general en la gente que tiene Ubuntu es que se compra una PC, instala Ubuntu la primera vez y cada 6 meses lo actualiza y siempre tiene el sistema al día.

No menciono que cada versión de Windows requiere el doble de memoria RAM, procesador y disco, ya que ese será el siguiente tema que voy a tocar referido a “Ventajas de usar Ubuntu”.