16 de set. 2009

Sistemas operativos no Unix

fuente original

Soy un tanto fanático de los sistemas operativos. Y si algo me ha llamado la atención desde que uso Linux y algún que otro Unix, son los sistemas operativos que no son descendientes de Unix. Parecieran haber mil variantes de Unix: Linux, los BSD, Solaris, Irix, MacOSX, HP-UX, etc. Pero sistemas operativos no Unix aparte de nuestro bien (o mal) conocido Windows parecieran no existir. Sin embargo no es así y una investigación del tema nos deja ver que han habido muchos intentos de reescribir la historia de los sistemas operativos no Unix. Les dejo acá una lista con algunos de ellos aunque no están todos. He dejado a Windows al final para no aburrirlos, aunque su historia es bastante interesante. Aquí la lista, por si no conocían a alguno:

________________________________________________________________________

BeOS
________________________________________________________________________


BeOS Fue desarrollado en la década del 90, por una empresa francesa, y era un SO orientado al escritorio. Por ello, el sistema era monousuario y estaba optimizado para trabajar con audio video y 3D. La interfáz gráfica estaba construida en el mismo sistema operativo, y era muy sencilla, limpia y amigable. El kernel de BeOS (un micokernel) hacía un uso intensivo del los multithreads (multihilos), mucho más que otros sistemas operativos. BeOS tenía la particularidad de bootear en unos segundos.

Lamentablemente BeOS fue una más de las víctimas de Microsoft. Cuando la empresa que comercializaba este sistema operativo quiso distribuirlo preinstalado en ordenadores nuevos, recibió una amplia negativa de los vendedores de pc’s ya que que la mayoría de estas empresas tenían un acuerdo con Microsoft para distribuir solamente Windows con los equipos nuevos. Aunque BeOS ganó el juicio contra Microsoft por prácticas monopólicas, la empresa cayó en bancarrota y en 2001 la propiedad intelectual de BeOS fue vendida a Palm que nunca demostró darle algún uso.

Luego de que BeOS cayera en desgracia muchos de sus seguidores trataron de resucitar el sistema. Alguna empresas siguieron desarrollandolo tomando como base la última release del sistema operativo, luego de obtener una licencia de Palm. Otras como OpenBeOS, luego llamado Haiku, se propusieron reescribir todo el código de BeOS bajo una licencia open source.
________________________________________________________________________

AmigaOS y AROS
________________________________________________________________________


AmigaOS no es un sistema operativo para la plataforma x86, pero se hizo muy popular por ser el sistema operativo de las consolas Amiga, desarrolladas por Commodore en los años 80 y 90. Aunque estas microcomputadoras estaban pensadas como consolas de juego, luego se agregaron funciones a su sistema operativo que permitieron que el usuario utilizara la consola con un completo sistema gráfico de escritorio.

El sistema operativo de las primeras consolas residía en parte en una memoria ROM, desde la cual se podía iniciar el sistema y luego cargar juegos desde un diskete. Aún así era posible cargar un disco en el que se terminaban de cargar todas las funciones del sistema operativo y una interfaz de escritorio que en los sistemas Amiga se llama Workbench.

Una de las particularidades que destaca a AmigaOS es su excelente soporte para multiarea. El núcleo de AmigaOS es del tipo microkernel y todo el sistema operativo ocupa menos de 1 Megabyte, por lo cual se puede decir que es un sistema excelentemente optimizado ya que pese a su tamaño no deja de ser potente.

Aunque las consolas amigas ya no se producen más, el desarrollo del sistema operativo ha seguido adelante. La última versión de AmigaOS, la 4.0, se produce hoy para computadores con procesaores ppc de IBM (a diferencia de los procesadores motorola de las consolas originales), e incluye un completo escritorio (o Workbench) con muchas capacidades.

Un sistema operativo de investigación, llamado AROS, ha sido desarrollado como un clon de AmigaOS. Aunque AROS no tiene compatibilidad a nivel binaria con las aplicaciones de AmigaOS, sí soporta la api de dicho sistema operativo y a nivel de código fuente los programas de AmigaOS son bastante compatibles con AROS. Las versiones actuales de AROS están disponibles para la plataforma x86 y para ppc. Algo que destaca de AROS es que su desarrollo es open source.
________________________________________________________________________

Plan 9
________________________________________________________________________


Plan9 es un sistema operativo desarrolado por Bell Labs de AT&T (hoy Alcatel-Lucent), los mismos desarrolladores de Unix y de los lenguajes de programación C y C++. Plan9 fue ideado como el sucesor de Unix, e incluye conceptos bastante innovadores, pero aún así no ha conseguido sobrepasar en popularidad a su antecesor.

Plan9 es un sistema operativo distribuido y se divide en tres componentes principales: los terminales desde donde trabajan los usuarios, los servidores de archivo que almacenan los datos y los servidores que realizan el procesamiento de los datos y las tareas de autenticación y funciones de red. Plan9 presenta varias ideas innovadoras, por ejemplo, todos los objetos del sistema operativo son considerados y tratados como archivos que pueden existir de forma remota o local. Esta última característica hace que el acceso a la red en Plan9 sea totalmente transparente. Por ejemplo si se abre una conexión a un servidor FTP, los archivos remotos se presentan al sistema operativo como si fueran locales.

Es interesante que el concepto del directorio /proc, que representa los procesos y la información manejada por el kernel como archivos, fue desarrollado para Plan9, aunque luego se incorporó la idea en sistemas Unix como Linux. Así mismo el sistema de archivos Union, que permite ver dos sistemas de archivos como si fueran uno, también fue ideado por los desarrolladores de este sistema operativo. Otra notable contribución de los desarrolladores de Plan9 es la codificación UTF-8, que hoy se ha hecho tan popular.

Aunque las primeras releases de Plan9 no eran libres, a partir de su cuarta versión se liberó bajo una licencia open source. Desde la página del proyecto es posible descargar un live cd desde el que también es posible instalar el sistema operativo.
________________________________________________________________________

MenuetOS
________________________________________________________________________


MenuetOS es un sistema operativo para 32 y 64 bits para la arquitectura x86 escrito enteramente en lenguaje ensamblador. El sistema en sí es bastante sencillo y ha sido desarrollado tratando de eliminar los elementos que hacen que la programación de un SO sea complicada y proclive a contener bugs.

El sistema entero cabe en un diskette, aun así, posee una interfaz gráfica que soporta una resloución de 1280×1024 y 16 millones de colores. MenuetOS tiene una completa pila TCP/IP y viene además con un IDE para ensamblador y clientes para e-mail, ftp y http. La versión para 32 bits puede obtenerse bajo una licencia open source, a diferencia de la versión de 64 bits que tiene licencia propietaria.
________________________________________________________________________

SkyOS
________________________________________________________________________


SkyOS es un sistema operativo orientado al desktop para la platarforma x86. Soporta procesamiento simétrico, multitrheading y es multitarea. La interfaz de usuario es sencilla y elegante y está directamente construida sobre el kernel, de manera que el sistema operativo es totalmente gráfico. Varias aplicaciones libres como Mozilla Firefox y otras han sido portadas a este sistema operativo.

Este sistema operativo es propietario, y está en fase beta; a la fecha, su desarrollo no parece muy activo. Es posible descargarlo y probarlo como beta tester luego de pagar una licencia.
________________________________________________________________________

GNU/Hurd
________________________________________________________________________


Hurd es el kernel desarrollado por la Free Software Fundation con el fin de reemplazar el kernel Unix. Hurd implementa varios servicios alrededor de un microkernel (Actualmente Mach) que realizan de forma separada todos los procesos que haría un kernel monolítico como el de Unix. Cada uno de estos servicios proveen entre otras cosas acceso al filesystem, manejo de la red, control de procesos, etc.

Aunque se esperaba que Hurd supliera el kernel para correr las aplicaciones GNU, esto no sucedió. El desarrollo de Hurd ha tomado mucho tiempo y todavía no está completo ni es recomendable para su uso en producción. Quizás el desinterés en Hurd se deba a que el kernel de Linux llegó a ser un muy buen reemplazo del kernel de Unix para el entorno GNU.

Algunas distribuciones de Linux como Debian y Gentoo proveen algo de soporte para el kernel Hurd, pero este soporte como el sistema operativo mismo, es bastante experimental. Debian ofrece incluso algunos cd’s instalables con un sistema GNU/Hurd.
________________________________________________________________________

AtheOS y Syllable
________________________________________________________________________


AtheOS es un sistema operativo iniciado por un programador noruego, Kurt Skauen. AtheOS fue escrito desde cero como un clon del sistema operativo AmigaOS aunque luego este objetivo fue descartado en favor de hacer de AtheOS un sistema operativo compatible con la arquitectura x86. Este sistema operativo soporta multithreading (hace uso muy intensivo de él) y procesamiento simétrico (smp, o multiples procesadores).

AtheOS está orientado al escritorio, funciona solo en modo gráfico, y cuenta con algunas aplicaciones gráficas como un emulador de terminal, un gestor de archivos y un navegador basado en el motor de KHTML (el mismo de Konqueror) llamado ABrowse; así como un cliente de correo electrónico. La interfaz gráfica está construida dentro del mismo sistema operativo y está escrita en C++ lo que la hace totalmente orientada a objetos. A su vez, esta interfaz es nativa y no utiliza el sistema X11, aunque mantiene un esquema de funcionamiento del tipo cliente-servidor como X11 pero sobre un protocolo de comunicación más agil que no es tcp/ip. El sistema maneja su propio tipo de filesystem AFS (AtheOS Filesystem), que no debe confundirse con el Andrew Filesystem. AtheOS fue liberado bajo la GPL y varias personas han contribuido a su desarrollo, también se han portado varias aplicaciones libres a este sitema operativo como Apache, Bind y varias librerías importantes.

Luego de un tiempo, el desarrollador de AtheOS abandonó el proyecto y descontinuó el desarrollo. Sin embargo los seguidores de este sistema operativo tomaron la posta y crearon un fork del mismo originando el sistema Syllabe, basdo en AtheOS. Según sus desarrolladores, su meta es crear un sistema operativo open source, estable, fácil de usar, intuitivo y potente para usuarios finales y de oficina. Además afirman que Syllable es muy liviano y bootea en apenas unos segundos. De hecho algunos usuarios afirman que es más el tiempo que tarda la BIOS en realizar el POST que el que tarda Syllable en bootear.

Aunque Syllable está aún en desarrollo, y le falta mucho trabajo para llegar a ser un sistema completo; su desarrollo es muy activo y muchas aplicaciones están siendo portadas a este sistema. Además se han desarrollado drivers para varios dispositivos de hardware de uso común como tarjetas de video, sonido y red.
________________________________________________________________________

Morphos
________________________________________________________________________


MorphOS es un sistema operativo desarrollado para ser compatible con el hardware de los sistemas Amiga basados en procesadores power pc de IBM. La empresa que lo patrocina, Genesi, fabrica los sistema Pegasos que son computadoras con procesadores ppc, así como las placas efika, que son pequeñas placas madres (muy similares a las famosas Via Epia) también con procesador ppc y que incluyen varios dispositivos como sonido, red, usb y audio integrados.

MorphOS está construido sobre el microkernel Quark y permite correr aplicaciones antiguas para los sistemas Amiga a través de un emulador. Además corre nativamente las aplicaciones más nuevas de AmigaOS a través de una implementación de la api de de este sistema operativo. Aunque MorphOS en sí es un sistema propietario, partes del sistema como el escritorio (llamdo Ambient), y varias bibliotecas de funciones han sido liberados bajo la licencia GPL.

La interfaz gráfica de MorphOS es muy limpia y amigable y es compatible con el Workbench de AmigaOS. Un navegador web basado en KHTML, llamado Sputnik está siendo desarrollado, además la pila TCP/IP del sistema, llamada MOSNET es también un proyecto open source. Otros programas bajo licencia libre han sido portados y varios programas freeware y shareware están disponibles para esta plataforma.

MorphOS está disponible solo para los propietarios de hardware de Amiga, o compatibles como Pegaos o Efika, que deben registrarse para poder bajar el sistema e instalarlo.
________________________________________________________________________

OS/2
________________________________________________________________________


OS/2 es un sistema operativo desarrollado en un principio por Microsoft e IBM. Luego de algunas desavenencias, el acuerdo entre Microsoft e IBM se rompió e IBM siguió el desarrollo de OS/2 por su cuenta, mientras que Microsoft se enfocó en su sistema Windows 3.0. OS/2 fue gestado como el sucesor de DOS, aunque nunca logró este objetivo, ya que Windows 3.0, 3.1 y 95 en adelante se convirtieron en los entornos gráficos de facto de la mayoría de las pc’s de escritorio. Aún así el desarrollo de OS/2 se mantuvo activo por varios años y llegó a ser un sistema operativo excelente, que para muchos usuarios siempre superó con creces a los sitemas Windows, ya que se destacó por su muy buena estabilidad.

OS/2 implementó la multitarea mucho antes que los sitemas Windows. Además en su versión 2.0 se agregó una potente interfaz gráfica y la posibilidad de ejecutar aplicaciones para DOS y Windows. OS/2 soporta tanto el sistema de ficheros FAT de DOS así como un sistema nativo, el HPFS (High Performance File System). La primera versión de OS/2 fue liberada en 1987, y de ahí en más se lanzaron nuevas versiones con más funcionalidades. Entre ellas, una de las que más se destacaba era el soporte para redes TCP/IP que IBM introdujo de forma temprana en su sistema operativo de escritorio. La última versión de OS/2 liberada fue la version Warp 4.0 que apareció para el año 1996, más o menos para el mismo tiempo que Windows 95. Esta fue la última versión de este sistema operativo, aunque luego se lanzaron packs de actualizaciones, pero no nuevas versiones.

IBM no ha mostrado ya más interés en OS/2 desde la version Warp 4.0. Para el años 2005 IBM dejó de vender OS/2 y el soporte oficial finalizó en diciembre de 2006. Aún así una empresa llamado Serenity Systems obtuvo una licencia de IBM para seguir desarrollando OS/2 y venderlo bajo el nombre de eComStation, sistema que sigue vendiendo hasta hoy día. Muchos usuarios y fanáticos este sistema operativo han pedido en reiteradas ocasiones a IBM que libere el código fuente de OS/2 ya que lo consideran una especie de abandonware. Recientemente IBM comunicó que no está interesado en liberar el código fuente de este sistema operativo.
________________________________________________________________________

ReactOS
________________________________________________________________________


ReactOS es un sistema operativo clon de Windows NT y recientemente de Windows XP. Es una implementación libre de la arquitectura de estos sistemas operativos cerrados de manera que ReactOS trata de ser compatible binariamente con los programas y drivers de Windows NT y XP. ReactOS está en estado Alpha y por lo tanto, no se recomienda para uso en producción. Sus desarrolladores recomiendan ReactOS como un sistema operativo de investigación para estudiar la arquitectura de los sistemas Windows pero enfocandose en una implementación libre.
Los desarrolladores de este sistema operativo trabajan conjuntamente con los desarrolladores de Wine, el software que emula programas de Windows en Linux y Mac.

El proyecto manteiene una base de datos de compatibilidad de software y drivers para Windows. Cualquier voluntario puede testear alguna aplicación o driver en particular y ver si se ejecuta bien en ReactOS y si no lo hace, remitir la información para que se trabaje al respecto en el sistema operativo de forma que se aumente la compatibilidad.

Aunque la meta de este sistema es ser completamente compatible con Windows, una vez que alcancen este objetivo su equipo de desarrollo quiere añadirle características que Windows no posee como compatiblidad completa con POSIX.
________________________________________________________________________

Netware
________________________________________________________________________


Netware es un sistema operativo de Red. Lo que hace diferente a Netware de otros sistemas operativos es que no está orientado al usuario final o el escritorio, sino que solo cumple funciones de servidor. Netware fue desarrollado por Novell a principios de los 80 y fue toda una innovación para su tiempo porque corría sobre los procesadores 8086 de Intel. Novell pensaba además hacer su sistema operativo para que funcionara en red, en contraposición a los grandes mainframes de aquel tiempo donde los terminales se conectaban por puertos seriales al servidor central pero no usaban la red o lan. Para lograr este fin Novell se aprovechó plenamente de la tecnología Ethernet que era bastante reciente para su época y desarrolló un protocolo de comunicación que funcionaba sobre Etherntet, el IPX/SPX, que con el tiempo fue suplantado por TCP/IP.

Entre los servicios que brinda Netware a los terminales de la red local estan principalmente los de servidor de ficheros, impresión, directorio y autenticación. Varios productos de Novell como servidores de correo y groupware corren sobre Netware.

A finales de los 90, la popularidad de Netware fue decayendo Microsoft y sus productos como Windows NT y Windows 2000 que competía directamente con los servicios de directorio de Netware al introducir Active Directory. Con el tiempo las ventas de Netware decayeron pero aún así son muchas las empresa que todavía utilizan este sistema operativo que se destaca por ser eficiente y confiable.
Aunque Novell ha descontinuado el desarrollo de Netware, y se ha centrado en soluciones Linux, planea dar soporte a este sistema hasta el año 2015.
________________________________________________________________________

MacOS
________________________________________________________________________


MacOS/X es el sistema operativo que utilizan las computadoras de la empresa Apple, llamadas en un principo Macintosh, de ahí el prefijo “MAC”. Aunque actualemente todo el mundo conoce MacOSX, nos referimos aquí a MacOS (sin la X), ya que este último está basado en un kernel Unix y estamos hablando de sistemas operativos no Unix.

MacOS fue diseñado en un principo como un sistema operativo diferente; en contraste con Unix y DOS, MacOS era un sistema totalmente gráfico y carecía de línea de comandos. La intención de Apple era hacer que cualquier usuario pudiera usar una computadora y no tuviera necesariamente que aprender una gran cantidad de comandos técnicos. Los desarrolladores de este sistema se inspiraron en un desarrollo de la empresa Xerox que había creado la primera computadora personal con una interfaz gráfica que se manejaba con un ratón. Aún así Apple innovó con su sistema operativo en el campo de las interfaces gráficas al crear conceptos como el de arrastar y soltar y otros más que todavía se siguen usando en la computación gráfica y que otros sistemas operativos han imitado con el tiempo.

Los primeros sitemas MacOS corrían una parte en ROM y la demás se cargaba desde un diskete, ya que las primear macintosh carecían de disco rígido. Las primeras versiones de MacOS corrían en los procesadores 68000 de Motorola, pero luego se adaptó para correr sobre la plataforma ppc de IBM cuando Apple cambió a esta arquitectura.

Apple desarrolló también un protocolo de comunicaciones en red para MacOS, el AppleTalk, así como un sistema de ficheros particular, el HFS, que es bastante diferente de los utilizados en Windows o Unix.

Luego de la versión 9 de MacOS el sistema fue reescrito para correr sobre un kernel Unix tipo BSD, alrededor del cual está construida toda la interfaz gráfica que sigue teniendo las características principales de MacOS.
________________________________________________________________________

CP/M, QDOS, MS-DOS, Windows y un largo etc.
________________________________________________________________________


Windows parece no merecer introducción, es el rey de los sistemas operativos no Unix. Aún así la historia de Windows que está ligada a la de Microsoft es muy interesante. Los orígenes de lo que hoy se ha transformado en Windows se remontan a 1974 cuando Gary Kildall programó un sistema operativo llamado CPM/DOS que con el tiempo se hizo muy popular entre las computadoras personales de la época. Resultó ser que IBM estaba buscando un sistema operativo para vender con sus primeras computadoras personales y desde luego CPM/DOS parecía la mejor opción. Sin embargo las negociaciones entre IBM y Digital Research, la empresa de Gary Kildall, fracasaron e IBM decidió buscar otra opción. Esa otra opción fue precisamente Microsoft y quien estaba detrás de él, Bill Gates. Microsoft hizo un acuerdo para proporcionar el sistema operativo que acompañaría a las pc’s de IBM, aunque Microsoft ni siquiera tenía el sistema operativo que estaba vendiendo a IBM. Pero si se trata de negocios para Gates y Microsoft nada es imposible; de manera que Microsoft salío a comprar un clon de CMP/DOS llamado QDOS (Quick and Dirty Operating System, literalmente “Sistema Operativo Rápido y Sucio”) y lo rebautizó como MS-DOS. Desde luego el QDOS o MS-DOS era muy inferior a CPM/DOS, pero esto no impidió que las ventas de las computadoras de IBM dispararan la fama de Microsoft y MS-DOS de manera que CPM/DOS cayó en el olvido y nació él imperio de software y sistemas operativos más grande de la historia.

Para 1985 Microsoft decidió lanzar la versión 1.0 de su sistema Windows, que en realidad no era un sistema operativo, sino un sistema gráfico o GUI. Windows trataba de imitar el sistema gráfico de Apple, sin embargo tanto esta primera versión como la 2.0 no representaban ninguna ventaja para el usuario y no tuvieron éxito. Ahora bien la versión que sí marcó el éxito de Microsoft en el terreno de las intefaces gráficas. fue Windows 3, y 3.1, su sucesor. Estas versiones seguían siendo aplicaciones que corrían sobre DOS y no un sistema operativo real aunque trataban de emularlo. El primer intento de Microsoft de desligarse de DOS para traer un SO totalmente gráfico fue Windows 95, que sin embargo seguía dependiendo mucho de DOS y más bien parecía un híbrido entre una interfaz gráfica como Windows 3.1 y DOS. Windows 98 se alejó un poco más de MS DOS pero finalmente Windows Millenium fue el primer Windows que prescindia de MS DOS, sin embargo como es sabido Windows Me fue un tremendo fracaso. Tanto es así que Microsoft tuvo que apresurarse a sacar Windows XP, basado en su producto Windows NT para servidores. De ahí en más el desarrollo de XP y su actual sucesor Vista, es bastante conocido.

Lo que muchos no saben son las idas y vueltas que Microsoft ha hecho para posicionar sus sistemas operativos. Por ejemplo más de una vez Microsoft compró un producto de software o una empresa para cambiarle el nombre a algo “MS” y venderlo con su sistema operativo. Incluso uno de los desarrolladores principales de Windows NT estuvo trabajando mucho tiempo para DEC, tanto es así que cuando Microsoft lo contrató DEC entabló una demanda alegando que Microsoft se estaba llevando con sus ex empleado información importante de su sistema operativo OpenVMS para incluirlo en el código de NT.

Bien, esa es la lista con la reseña de los SO que he podido investigar hasta la fecha. Alguna información puede estar ligeramente desactualizada, (este mega-post llevaba archivado bastante tiempo). Sin embargo la lista nos muestra que el mundo de los SO es muy diverso y que pueden haber distintos enfoques para su desarrollo. Lo que también vemos es que el área de los SO es muy sensible tanto así que unos pocos sistemas operativos dominan el mercado. Sin embargo todo esto no deja de hacer que el tema sea fasciannte.