10 jun 2010

Introducción I: definiciones, historia de UNIX, variedades

Empecemos este curso por algunas definiciones:
  • ¿Qué es UNIX? UNIX es un sistema operativo multitarea y multiusuario que puede ser instalado en varios tipos de plataforma.
  • ¿Qué es un sistema operativo? Es un software que sirve como interfaz entre el hardware y los procesos de usuario.
  • ¿Cómo surgió UNIX? Surgió hace 40 años como un proyecto de investigación y acabó convirtiéndose en el sistema operativo por excelencia en entornos académicos, empresariales y públicos. Con la llegada de Linux (un clon de UNIX de código abierto), también se hizo su sitio en el entorno doméstico.
La historia nos dice que UNIX comenzó su andadura a finales de los sesenta, en los Laboratorios Bell de AT&T en Murray Hill, New Jersey (AT&T era en Estados Unidos lo que Telefónica en España: la empresa que monopolizaba el servicio telefónico hasta 1982). Tres investigadores, Thompson, Kernighan y Ritchie, en poco tiempo idearon un sistema operativo y un lenguaje de programación que después se haría muy popular (el C).

El sistema operativo fue evolucionando, y como la empresa que financiaba el proyecto (AT&T) no tenia legalmente la capacidad de "vender" el producto (al ser monopolio telefónico tenía prohibido comercializar productos informáticos), los investigadores comenzaron a "regalar" licencias que incluían el código fuente, así que fueron surgiendo distintas ramificaciones.


Durante los años setenta y ochenta, fueron apareciendo distintas variedades de UNIX:

- BSD: Se licenció Unix a la Universidad de California en Berkeley. Entre otras cosas, aportaron los sockets, el hoy ubicuo TCP/IP o el soporte a DNS.
- SunOS: Un desarrollador de Berkeley se fue a Sun Microsystem y desarrolló el sistema operativo SunOS.
- System V: Cuando por fin AT&T pudo vender productos informáticos, comercializó UNIX con este nombre. Hubo varias versiones, entre las cuales la más popular recibió el nombre de System V Release 4 (SVR4).
- Xenix: Se licenció Unix a Microsoft. Esta conocida empresa desarrolló su propia variante hasta que perdió su interés en este sistema operativo, primero por OS/2, después por Windows NT, hasta la fecha.

A finales de los ochenta y en los noventa, la "lucha por el negocio UNIX" dio lugar a una sucesión de eventos conocido como "las guerras de UNIX" (UNIX wars), con disputas legales, y preocupación para los usuarios, que veían a las empresas implicadas preocupadas solamente por llevarse "el gato al agua". En esa época se fueron realizando esfuerzos de estandarización (OSF, X/Open, POSIX) para evitar que la divergencia de variantes terminara generando sistemas operativos radicalmente incompatibles.

En la actualidad, los tres sistemas operativos comerciales derivados de UNIX que más éxito han alcanzado son Solaris, AIX y HP-UX (en este orden).

- Solaris: En 1991, Sun anunció que sustituiría SunOS (derivado de BSD) por un sistema reescrito basándose en SVR4. A éste, Sun añadió su entorno de ventanas (OpenWindows), su arquitectura de RPC (aplicado en subsistemas como NFS, NIS) y otras innovaciones (/proc, truss, los comandos p*). Se comercializa versión para plataformas SPARC, y para plataformas x86. En 2009, Oracle compró Sun, así que Solaris se ha acabado convirtiendo en Oracle Solaris (version actual, Solaris 2.10 o Solaris 10).

- AIX: El spin-off de UNIX hecho por IBM data de mediados de los 80, más temprano que por ejemplo, Solaris (las versiones "tempranas" eran muy distintas a Solaris o HP-UX). AIX era el sistema operativo elegido para las máquinas de procesador RISC RS/6000 (ahora se llaman Power*). Sus elementos diferenciadores son el smit, el LVM, el JFS. En los últimos años IBM ha hecho un esfuerzo "unificador" y AIX se parece más a Solaris, incorpora herramientas hechas populares en entornos Linux, etc (versión actual, AIX 6.1, próximamente AIX 7).

- HP-UX: Hewlett Packard lanzó en 1983 su versión de UNIX, con soporte a chips PA-RISC (en sus úlitmas versiones Intel 64 bits). A pesar de estar basada en SystemV incorpora código BSD. Se caracteriza por la herramienta de administración SAM, integrar el LVM, etc (versión actual HP-UX 11i) y se especializó en su momento en entornos de telecomunicación, siendo una de sus funciones más conocidas el ejecutar la herramienta de monitorización HP Openview.

Mención aparte merecen otros sistemas operativos de código abierto, que "parecen UNIX" pero técnicamente no lo son:

- Minix: Para su libro de sistemas operativos, Andrew Tannenbaum escribió su propio sistema operativo inspirado en UNIX, con fines educativos.

- Linux: Un señor con mucha barba llamado Richard Stallman, estaba inmerso en un proyecto para crear un sistema operativo compatible con UNIX pero totalmente gratuito. El proyecto se llamaba GNU y consiguió ultimar un editor (el emacs) y un compilador (el gcc) pero les faltaba lo importante, el núcleo del sistema operativo. En 1991 un estudiante finlandés llamado Linus Torvalds escribió, inspirándose en Minix, el núcleo de un sistema operativo, que se adaptó tan perfectamente al proyecto GNU, que le acabó quitando el nombre al proyecto (para disgusto de Stallman). En cuanto a la pregunta ¿qué Linux es más Linux? La respuesta es que todos lo son, pero en el camino de la popularidad los más renombrados puede que sean:
  • Red Hat Enterprise Linux (RHEL), Fedora
  • SuSE Linux Enterprise, openSuSE
  • Debian, Ubuntu
  • Mandriva
  • Slackware

- MacOS X: Cuando en 1985 Apple echó a Steve Jobs, éste fundó NeXT. Después de unos cuantos años, Apple compró NeXT. Finalmente, el sistema operativo MacOS, que no tenía línea de comando en absoluto, cayó en vía muerta, siendo reemplazado por un sistema operativo UNIX que se llama Mac OS X, basado en el UNIX de NeXT. Variantes de este sistema operativo corren en los principales productos de Sun,  incluidos el iPhone o el iPad, cuya ubicuidad en este momento es insoslayable.

No hay comentarios:

Publicar un comentario