Capítulo 3: Componentes software. El sistema operativo

Publicado por P. Ruiz en

Sistemas operativos libres y propietarios

Dado el amplio abanico de sistemas operativos que encontramos en la actualidad, nos vemos en la obligación de acotar el ámbito al que nos dedicaremos en este libro, con el objetivo de ser lo más concretos posible. En este sentido, nos decantaremos por las versiones de escritorio de dos entornos principales (ya disponemos de otra publicación, Sistemas Operativos en Red (2ª edición), donde hablamos de sistemas operativos del lado servidor):

  • El sistema operativo Microsoft Windows, como paradigma de los sistemas con licencia de código cerrado.
  • El sistema operativo Ubuntu, que quizás sea el que tiene una mayor repercusión entre los que ofrecen licencias de código abierto.

Microsoft Windows

Un sistema empotrado (o embebido) está diseñado para realizar funciones específicas. Por ejemplo en una máquina de vending, en algún subsistema de un automóvil, en el radar de un avión, en un cajero automático, etc.

Como hemos dicho más arriba, Microsoft dispone de una gama completa de sistemas operativos que cubren dispositivos móviles, sistemas empotrados, ordenadores de sobremesa y servidores.

Sin embargo, cuando apareció la primera versión de Windows, allá por 1985, no era un sistema operativo. Se trataba sólo de una interfaz gráfica que se ejecutaba sobre un sistema operativo con interfaz de texto llamado MS-DOS (Microsoft-Disk Operating System).

En cierto modo, se trataba de la reacción de Microsoft al creciente interés que despertaba el Macintosh, un ordenador de la compañía Apple que había comenzado a comercializarse en 1984 y que funcionaba con Mac OS, el primer sistema operativo para uso doméstico que funcionaba con interfaz gráfica y ratón (¡eran otros tiempos!).

Apple Macintosh

A pesar de su éxito como interfaz gráfica, siguió dependiendo de MS-DOS hasta su versión de 1995 (Windows 95). En cualquier caso, aunque aportaba grandes novedades, esta versión seguía incluyendo internamente el núcleo de MS-DOS (pero ya no se instalaban como productos diferenciados).

Esta situación se mantuvo hasta Windows XP, que fue la primera versión en incluir el núcleo de un sistema operativo de la gama profesional de Microsoft. En concreto, de Windows 2000, que incorporaba el núcleo NT (de New Technology). Esta confluencia se ha mantenido hasta nuestros días.

El siguiente gran cambio vino de la mano de Windows 8, que sufrió una gran remodelación de su interfaz gráfica. Eliminó el botón Inicio y añadió una Pantalla de inicio, que se muestra sobre el escritorio y que está pensada para facilitar su manejo en dispositivos táctiles. La nueva interfaz se llamaba Metro UI.

Este cambio tan drástico hizo que una parte de los usuarios no acabaran de acostumbrarse, lo que obligó a Microsoft a replantearse la situación y recuperar el botón Inicio, primero de una forma parcial con Windows 8.1, y definitivamente con Windows 10.

Otro cambio que introdujo Windows 8 fue el soporte, por primera vez, de una arquitectura de procesadores diferente de x86 de Intel y AMD. Así, a partir de esta versión, podemos encontrar Windows en teléfonos y tabletas equipadas con procesadores ARM.

En la siguiente tabla puedes consultar una cronología más detallada de las principales versiones de escritorio del sistema operativo de Microsoft: Versiones de Windows

Ubuntu Linux

Ken Thompson y Dennis Ritchie

La historia de Linux comienza con dos empleados de los Laboratorios Bell, llamados Ken Thompson y Dennis Ritchie que, a finales de la década de los 60, colaboraron para crear un nuevo sistema operativo al que llamaron Unics.

En 1970, el proyecto recibe apoyo financiero de Bell y se re-bautiza como Unix.

Andrew S. TanenbaumEn 1987, Andrew S. Tanenbaum, profesor de sistemas operativos en la Vrije Universiteit de Amsterdam, publica Minix. Se trataba de una versión de Unix que pretendía mostrar a sus alumnos los conceptos de diseño de los sistemas operativos. Y para lograrlo, hizo público su código fuente.

Minix se ejecutaba sobre los ordenadores domésticos de la época: el IBM PC original y todos sus compatibles.

Linus Benedict TorvaldsEl 17 de septiembre de 1991, Linus Benedict Torvalds, estudiante de Ciencias de la Computación de la universidad de Helsinki (Finlandia) publica en el servidor FTP de su universidad el núcleo del sistema operativo en el que había estado trabajando y que llamó Linux. Usaba el intérprete de comandos BASH (Bourne Again Shell) y GCC, el compilador de lenguaje C. Ambos tomados directamente del proyecto GNU.

En 1992, Torvalds adopta la licencia GPL, lo que permitió su evolución imparable.

Linux tomó muchas aplicaciones del proyecto GNU (acrónimo recursivo que significa GNU is Not Unix), por lo que muchos prefieren el nombre GNU/Linux para referirse al sistema operativo.

Una de las señas de identidad más claras del sistema operativo Linux es que su código fuente está a disposición de cualquiera. Esto quiere decir que puede utilizarse, modificarse y distribuirse libremente, lo que ha derivado en que su evolución se base en el trabajo de multitud de programadores distribuidos por todo el planeta, que no sólo colaboran en el código del propio sistema operativo, sino que además escriben su propio software de aplicación.

El resultado ha sido una evolución sólida y constante del sistema operativo y la aparición de una cantidad ingente de programas escritos para él.

Esta característica fundamental ha hecho que diversas empresas, grupos de usuarios u otras entidades, partiendo del mismo sistema operativo Linux, le hayan añadido su combinación particular de programas de aplicación y utilidades. Estos subconjuntos de Linux reciben el nombre de distribuciones. Logo oficial de Ubuntu

Una de las distribuciones más representativas hoy en día es Ubuntu, patrocinada por Canonical, una empresa británica propiedad del multimillonario sudafricano Mark Shuttleworth.

Mark ShuttleworthAl principio, Ubuntu se basaba en Debian, una distribución veterana y fiel a los pilares de la filosofía Linux.

Como el resto de distribuciones, se ofrece de manera libre y gratuita y se nutre de la colaboración de una gran comunidad de desarrolladores. En este sentido, Ubuntu hace algunas excepciones:

  • Incluye ciertos controladores de hardware privativos, además de algunas partes del kernel que no son libres.
  • También incluye en sus repositorios algunas aplicaciones que no son libres (aunque sí gratuitas), pero en ubicaciones diferentes de los componentes libres.

En ambos casos, el objetivo es facilitar la experiencia de uso al usuario final.

Se ofrece en distintas versiones, para ámbitos domésticos y profesionales. Además, da soporte a diferentes entornos gráficos.

Ubuntu se actualiza cada seis meses (en abril y octubre). De ahí surge su número de versión, en la que sus dos primeros dígitos se corresponden con el año y los dos siguientes con el mes de lanzamiento. Así podemos saber, por ejemplo, que Ubuntu 12.04 fue liberado en abril de 2012.

Además, cada versión tiene un nombre que se forma con el nombre de un animal y un adjetivo. Ambas palabras comienzan por la misma letra y, desde la versión 6.10, siguen un orden alfabético: Versiones de Ubuntu

Cada dos años, aparece una versión LTS (Long Term Support), que recibirá soporte de Canonical durante cinco años. El resto, sólo durante nueve meses.

Las actualizaciones incluyen al propio sistema y a las aplicaciones instaladas desde repositorios.

Ventajas y desventajas de GNU/Linux y del software libre en general

Son muchas las ventajas, pero también algunos inconvenientes, los que aporta el uso del software libre. Aquí nos limitaremos a enumerar algunas de ellas, aunque, probablemente no serán las únicas. En algunos casos, dependerá incluso de la óptica de cada usuario en particular.

Entre las ventajas, incluiremos las siguientes:

Ventajas

  1. El software libre es más económico o, en muchas ocasiones, no repercute ningún coste. Esto permite a las empresas con menos recursos seguir creciendo sin estar limitadas por el coste de la inversión. No debemos olvidar que en España se gastan más de 1,000 millones de euros en licencias de productos de la compañía Microsoft cada año.
  2. El soporte puede ser local, con lo que se evita la dependencia de una economía extranjera y se potencia la economía nacional.
  3. Los programas se pueden instalar tantas veces y en tantos equipos como sea necesario. Además, puede compartirse libremente con cualquiera.
  4. El uso de formatos abiertos, no propietarios, facilitan la interoperabilidad entre sistemas, siendo independientes del hardware, de la aplicación e incluso del sistema operativo. No olvidemos que, para que un programa pueda utilizar un formato propietario de otra empresa, se deben pagar los derechos de uso a la empresa que lo creó. En este sentido, la Unión Europea ha anunciado su decisión de adoptar formatos abiertos como ODF (Open Document Format) y en Estados Unidos, algunos estados como el de Massachusetts han suscrito el uso obligatorio del formato ODF a partir de 2007.
  5. La posibilidad de acceder al código fuente permite la creación de nuevos productos a partir de los ya creados por otras empresas o entidades y que están ampliamente probados y aceptados, evitando la necesidad de comenzar desde cero.
  6. Como consecuencia de lo anterior, este modelo ayuda a la reducción de las fallas tecnológicas entre países avanzados y países en vías de desarrollo.
  7. A lo largo del tiempo se ha demostrado que, cuando aparece un fallo de seguridad en un producto del software libre, la comunidad reacciona rápidamente para resolverlo en un plazo muy breve. En el caso del software propietario, aunque parezca una paradoja, las empresas disponen de menos medios humanos dedicados a estas tareas y la solución puede tardar semanas, o incluso meses.
  8. El modelo de negocio del software libre suele basarse en el servicio y no en las licencias. Esto repercute en que las empresas que ofrecen los servicios compitan en igualdad de condiciones. El resultado es una mayor atención al cliente y la creación de empleos en el entorno de las empresas clientes.
  9. No existe la obsolescencia programada. Es decir, no existe un interés comercial por que el producto deje de funcionar, en beneficio de un producto nuevo. Veamos, por ejemplo lo que pasó con Windows XP, que dejó de ofrecer soporte para dispositivos nuevos, probablemente con la intención de que el consumidor se actualizara (comprara) las versiones más modernas del sistema operativo.
  10. El software libre es más seguro, ya que el acceso al código fuente ofrece la absoluta seguridad de que no incluye ningún tipo de código malintencionado o, sencillamente, no autorizado.
  11. El uso de repositorios hace que los usuarios tengan acceso a miles de aplicaciones y otras herramientas, revisadas y garantizadas de forma totalmente gratuita. Además, el método de instalación es muy sencillo y no varía según el programa instalado. La alternativa en el mundo del software propietario es recurrir a descargas ilegales en las que se obtienen programas que, en muchos casos, incluyen virus, troyanos, etc. sin que el usuario sea consciente de ello.

Entre los inconvenientes, podemos incluir estos:

Inconvenientes

  1. Aunque esta norma no puede aplicarse de forma general, sí es común que el acabado estético sea inferior al del software propietario. La explicación es que en las empresas de desarrollo de software privativo suelen tener un departamento especializado en estas tareas, mientras que los desarrolladores de aplicaciones libres suelen ser expertos en programación.
  2. Existen muchas aplicaciones propietarias que son un estándar de facto en algunos ámbitos y, no conocerlas, puede suponer una desventaja. Por ejemplo, Microsoft Office, Dreamweaver, AutoCAD, Photoshop, etc.
  3. Lo mismo ocurre con los programas de juegos que, por cuestiones puramente comerciales, suelen estar disponibles sólo para Microsoft Windows.
  4. Dado que son sistemas menos conocidos, suele haber un mayor desconocimiento de su funcionamiento y, por lo tanto, es necesario un mayor esfuerzo formativo del personal de mantenimiento.
  5. Existen dispositivos hardware que sólo disponen de controladores (drivers) compatibles con Microsoft Windows, por lo que su utilización en Linux suele acarrear múltiples inconvenientes o, incluso, puede ser inviable.
  6. Al existir una menor implantación de los sistemas libres en ciertos ámbitos, también existe un mercado laboral inferior, aunque también es cierto que más especializado.