¿Cuál es la diferencia fundamental entre Unix, Linux, BSD y GNU? Unix fue el primer sistema operativo, por lo que el término 'Me gusta en Unix' es comprensible, ya que tienen kernel, estructura del sistema de archivos, la mayoría de los comandos, usuarios, etc. son los mismos que Unix. ¿Aún por qué son diferentes? ¿Qué los hizo apartarse? ¿Es el núcleo?
27
Respuestas:
Esa es una pregunta difícil de responder.
Primero "Unix Like" o "* nix" generalmente significa POSIX. Todos los sistemas que enumeró son sistemas POSIX. POSIX es un conjunto de estándares para implementar.
Ahora para las preguntas más difíciles.
GNU no es realmente un sistema operativo. Es más un conjunto de reglas o filosofías que gobiernan el software libre, que al mismo tiempo dio origen a un montón de herramientas al intentar crear un sistema operativo. Por lo tanto, las herramientas GNU son básicamente versiones abiertas de herramientas que ya existían pero que se rehicieron para cumplir con los principios del software abierto. GNU / Linux es una malla de esas herramientas y el kernel de Linux para formar un sistema operativo completo, pero hay otros "GNU". GNU / Hurd por ejemplo.
Unix y BSD son implementaciones "antiguas" de POSIX que son varios niveles de "fuente cerrada". Unix suele ser de código totalmente cerrado, pero hay tantos sabores de Unix como Linux si no más. BSD no suele ser considerado "abierto" por algunas personas, pero en realidad es mucho más abierto que cualquier otra cosa que existiera. Su licencia también se permite para uso comercial con muchas menos restricciones, ya que se permiten las licencias más "abiertas".
Linux es el recién llegado. Estrictamente hablando, es "solo un núcleo", sin embargo, en general se considera un sistema operativo completo cuando se combina con GNU Tools y muchas otras cosas.
La principal diferencia de gobierno son los ideales. Unix, Linux y BSD tienen diferentes ideales que implementan. Todos son POSIX, y todos son básicamente intercambiables. Resuelven algunos de los mismos problemas de diferentes maneras. Entonces, aparte de los ideales y cómo eligen implementar los estándares POSIX, hay poca diferencia.
Para obtener más información, le sugiero que lea un breve artículo sobre la creación de GNU, OSS, Linux, BSD y UNIX. Se inclinarán hacia sus ideas individuales, pero cuando lo lea, obtendrá una buena idea de las diferencias.
Este diagrama de genealogía de Unix muestra claramente la historia de Unix, BSD, GNU y Linux ( de Wikimedia ):
fuente
man unimplemented
(IIRC, podría serman security
) en un sistema GNU / Linux.Linux no es un sistema operativo, es un núcleo. Linux por sí mismo no tiene un entorno 'userland' (sin aplicaciones, sin comandos, no ... etc ...).
Si desea tener un sistema operativo completo, debe agregar una tierra de usuario a su núcleo. Históricamente, para Linux, es GNU. Todas las distribuciones de Linux (?) No son distribuciones de 'Linux real'. Son distribuciones GNU / Linux (GNU + Linux).
BSD es un sistema operativo completo 'similar a Unix', con su propio núcleo y su propio país de usuario (sin núcleo de Linux ni GNU).
GNU / Linux y la familia * BSD (FreeBSD, OpenBSD y NetBSD) son sistemas operativos 'unix-like', se comportan como Unix.
Aquí hay una comparación entre (GNU) / Linux y * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html
fuente