Aclaración sobre que es Unix

Al igual que el último post (PCs y Servidores), quiero hacer una excepción en la temática general de mi blog, y escribir un tema sobre el que veo mucha confusión. Aunque principalmente se da en los usuarios nuevos de linux, hay muchos usuarios avanzados de linux y *BSD que también están des informados al respecto, y cuando alguien pregunta sobre UNIX se dicen barbaridades.

Que es UNIX®?

Para contestar, hay que explicar primero que existen dos respuestas válidas, pero muchas veces mal entendidas o interpretadas:

El histórico sistema operativo Unix: Escuetamente podemos decir que en 1969, un par de  geeks de los ‘Bell labs’ de AT&T desarrollaron un sistema operativo básico, al que llamaron UNICS al principio y luego UNIX. AT&T distribuyo este sistema en algunas universidades (que era donde había computadoras en aquellos momentos), posteriormente la universidad de California, con sede en Berkeley, sacaba su versión bajo licencia BSD.
AT&T siguió desarrollando versiones de Unix y comercializandolas. En 1993 Unix pasó a manos de Novell, y en 1995 a SCO. La última versión de este antiquísimo sistema operativo se llama UnixWare 7.1.4… Pero la verdad es que nadie le presta mucha atención.

Unix como estándar: Existe un estándar basado en Unix, se llama Single Unix Specification (SUS). Este estándar es manejado por el OpenGroup, cuyos Patinium partners son HP, IBM, Oracle y Philips. La última versión de la SUS es la “UNIX 03” y los sistemas operativos certificados como “UNIX 03” son:

Apple Inc. Mac OS X 10.5 y 10.6
HP-UX 11i V3 Release B.11.31 y posteriores
IBM AIX 5L V5.3 (y V5.2 con ciertas actualizaciones) y 6 v6.1.2 SP1
Sun (y Fujitsu) Solaris 10, versiones de 32 y 64 bits para SPARC y para Intel x86

Es decir estos sistemas operativos son los famosos Unix like.
Tambien existen otras versiones anteriores a la “UNIX 03” en la cual otros sistemas operativos están certificados (vean los links de abajo).

Para que sirve el estándar? Para que un programa/sistema que utilice los métodos sugeridos por el estándar pueda ser fácilmente portado de un sistema a otro.

Ahora bien, existe algo así como un equivalente abierto, este es POSIX. POSIX es una serie de estándares definido por la IEEE. Actualmente la SUS UNIX 03 tiene como base la POSIX y son casi lo mismo, aunque UNIX03 abarca un poco mas.

Mas especificamente: POSIX:2008 = IEEE Std. 1003.1-2008 = SUSv4 = The Open Group Specification Issue 7.

Vale aclarar:
Un sistema UNIX 03, es POSIX.
Un sistema POSIX no necesariamente es un UNIX 03
Certificar POSIX o UNIX 03 es caro.
UnixWare, el heredero directo del sistema operativo Unix, no esta certificado como Unix03!!!

Vamos a las conclusiones y preguntas mas frecuentes…

Conclusiones

Cuando hablamos propiamente, un sistema Unix, es solo aquel que certifica con OpenGroup, actualmente AIX, HP-UX, Solaris y Mac OS (en sus versiones mas recientes).
Y Linux?
Linux es un sistema que se adhiere casi completamente POSIX, esto depende de la distribución, y aunque alguna distribución pueda ser 100% probablemente no este certificada como POSIX ya que cuesta mucho dinero.
Y *BSD?
Esta en la misma situación que linux.
Yo quiero saber Unix para ser un hacker, como hago?
Linux y *BSD son mas que suficiente para tí. Cuando conozcas bien Linux, o mejor aún *BSD, conocerás bastante sobre Unix.
Quiero saber Unix para programar sistemas portables en Unix, que hago?
En el caso de quien quiere programar, le vale estudiar un poco mas los estándares, pero para comenzar Linux y *BSD le sobran. Luego estudia sobre POSIX.

Links de interés para ahondar mucho mas:
Sitio del estandar UNIX 03: http://www.unix.org/
Listado de partners de Open Group: http://reports.opengroup.org/membership_report_all.pdf
Productos registrados bajo UNIX 03: http://www.opengroup.org/openbrand/register/xy.htm
Especificaciones SUS: http://www.unix.org/what_is_unix/single_unix_specification.html
Mas sobre POSIX: http://es.wikipedia.org/wiki/POSIX

~ have fun!

Leave a Reply