Que es Unix y que sistemas operativos son Unix
By: Date: junio 3, 2012 Categories: Personal

Alguna vez Unix fue un sistema operativo desarrollado antes de 1970 , digo que fue por que dudo mucho que existan sistemas operativos Unix, desde 1970 hasta hoy han pasado más de 40 años es posible que no quede ni el oxido del fierro del hardware de esos equipos.

Sin embargo todo el mundo parece muy emocionado por decir que tienen un sistema operativo Unix cuando no es cierto, tienen un FreeBSD, un GNU/Linux, un OpenBSD entre otros, es como si algo por llamarse Unix fuera mejor que otra cosa que no lo es.

Algunos usuarios de BSD incluso dicen que sistemas como FreeBSD son Unix verdaderos como si decirlo fuera u orgullo y nada mas lejos de la verdad ni en el código son Unix ni en la interpretación actual de Unix son Unix y más adelante escribiré que ni en el código son Unix porque si lo fueran SCO estaría sobándose la manos

Ya no existen Unix como sistema operativo, ahora los sistemas operativos se certifican como Unix, esto significa que con la debida certificación hasta Windows puede ser Unix

Pero que hace que Unix sea Unix en estos días si ya no existen Unix, la respuesta es simple

A Unix lo define el lenguaje C ANSI y Unix que define a C pero eso es otra historia, en sus librerías estándar, más específicamente la unistd.h y es esta misma librería la que hizo el mito de que C es un lenguaje portable y lo es, solo entre Unixes ya que las APIS ahí listadas son las que definen a un Unix
¿y como fue esto?

Cuando tu diseñas un sistema operativo, tratas de crear funciones que manejen archivos, procesos o programas el disco duro, la memoria, etc todo convirtiéndolo en un framework, un sistema operativo es un framework como .net o como muchos otros, de hecho los frameworks como rubyonrails y otros de programación no son más que frameworks que corren sobre otro framework

Volviendo al punto, un sistema operativo es un framework y como tal esta lleno de funciones, funciones que tienen invocación y tal como cualquier framework las invocas para no tener que programar un driver que lea un archivo en el disco duro por citar un ejemplo y si tu haces tu propio sistema operativo, tu eres libre de ponerle a esas funciones del sistema operativo AKA APIS, que se llamen como tú quieras, el problema es que cualquiera que haga otro sistema operativo tiene la misma libertad de crear su propio set de APIS con los nombres que el quiera.

Las APIS son importantes por que los compiladores de los lenguajes de programación las invocan, convierten tu código C, PHP, Perl, Pascal, etc,etc, lenguajes compilados o interpretados que tienen sus propias funciones y las ligan a las funciones del sistema operativo, la cosa es que si cada sistema operativo tiene su propio set de funciones o APIS, cada lenguaje de programación que soportara tu sistema operativo tendría que aprender el set de APIS que tu usaste y asi con cualquier OS y sus propias APIS por lo que se vuelve inviable. Si quieres que exista C para tu sistema operativo, primero tendrás que hacerlo cumplir con PosiX o tener un mercado gigantesco como Windows para que los programadores del compilador C se tomen la molestia de reimplementarlo.

Entonces para no reimplementar una y otra vez, en algún momento a alguien se le prendió el foco y dijo, saben que, todos nuestros sistemas operativos van a compartir las mismas APIS de programación básica del sistema operativo de tal manera que para el compilador siempre llame la misma función del sistema operativo para leer un archivo o levantar un proceso en la memoria o cualquier función básica del sistema operativo de manera que C por ejemplo puede usar código portable o el mismo código sin importar que sistema operativo tenemos

A esta homologación de APIS del OS se le llamo POSIX o “Portable Operating System Interface de Unix” La palabra Unix se entiende por la X, la X denota Unix, por si no lo sabías

Pero incluso tener un sistema operativo compatibles con POSIX no lo hace un Unix, como todo estándar que no es libre, se cobra y se cobra muy caro por acceder a la documentación, muchos programadores de GNU/Linux y otros NIX no tienen acceso a el, solo programan la parte que ya es del dominio público.

También existe otra especificación para mitigar eso, si tu sistema operativo cumple con Posix y Single Unix Specification, entonces ya esta listo para certificarse como Unix, pero hasta que no lo certifiques, no es un Unix.

La certificación tampoco es económica, por lo que básicamente solo los sistemas operativos comerciales tienen los fondos para pagar dicha certificación.

Y aunque Single Unix Specification es libre en internet y fue creado por The Open Group, la misma The Open Group. Es la encargada de certificar, a cambio de muchos dólares.

Cuáles son los Unix, que solo son Unix porque lo dice The Open Group

IRIX
SCO con UnixWare y OpenServer (SCO es quien demando a GNU/Linux hace unos 10 años)
NEC/UX
IBM con Z y con AIX
Solaris
HP con UX y Tru64
Y entre los últimos en esta fiesta, el MacOS X

Así que lo más cercano que estas de usar un Unix es comprarte una MacBook

Si tu sistema operativo favorito, dígase GNU/Linux algún BSD no está ahí, pues mala suerte no son Unix, nosotros los llamamos “Como Unix” porque de hecho lo son, compatibles con Posix y todo pero pues nadie ha pagado el derecho de llamarlos Unix.

Entendiendo esto Unix ya no es un sistema operativo, es una especificación que se certifica y solo hasta que se certifica es Unix

Son mitos los que dicen que el código de tal sistema operativo especialmente los de BSD o MacOS X son Unix por que tienen código Unix, en el MacOS X es cierto solo porque esta certificado pero del Unix original no tiene ni un solo byte de código.

SCO aparentemente tiene el código de Unix original, pero demanda a cualquiera que lo use, por lo que ningún OS “Como Unix” lo usa, todos han escrito el código desde cero para no meterse en problemas legales.

Dicho eso de SCO quien demando que el Kernel de Linux tenia código Unix original, la demanda la perdió SCO, pero el hecho de que haya dicho que Linux tiene código de Unix, moralmente da gusto, a los FreeBSD, MacQueros y otros los ignoro, solo tomo en cuenta a Linux

Así que moralmente Linux es mas Unix que otro OS tipo Unix o eso nos dijo SCO

Yo pienso que compañías como RedHat podrían certificar el Kernel de Linux como Unix, pero supongo que igual que yo no le encuentran sentido, porque de eso se beneficiarían todos sus rivales como Suse, Oracle y otros, tal vez si las empresas más importantes con distros de Linux se sientan a dialogar y deciden pagar la certificación del kernel de Linux, tal vez y solo tal vez el próximo Unix sea Linux

Como dato, un hecho.
La anteriormente describí que de PosiX la X denota Unix, en el nombre de Linux se cambio la S del creador Linus por X de tal forma que Linux es Linu-Unix aunque sea solo por bautizo en el nombre

One thought on “Que es Unix y que sistemas operativos son Unix

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *