¿Es Linux un Unix?


Respuestas:


224

Eso depende de lo que quieras decir con "Unix" y con "Linux".

  • UNIX es una marca registrada de The Open Group . La marca ha tenido una historia llena de acontecimientos, y no está completamente claro que no esté genérica debido al uso generalizado de "Unix" que se refiere a sistemas similares a Unix (ver más abajo). Actualmente, Open Group otorga el uso de la marca a cualquier sistema que pase una certificación UNIX única . Consulte también ¿Por qué hay un * cuando hay mención de Unix en Internet? .

  • Unix es un sistema operativo que nació en 1969 en Bell Labs . Varias compañías vendieron, y aún venden, código derivado de este sistema original, por ejemplo , AIX , HP-UX , Solaris . Consulte también Evolución de los sistemas operativos de Unix .

  • Hay muchos sistemas que son similares a Unix, ya que ofrecen interfaces similares a los programadores, usuarios y administradores. El sistema de producción más antiguo es el Berkeley Software Distribution , que evolucionó gradualmente de Unix (es decir, que contiene código derivado de la implementación original) a Unix (es decir, que tiene una interfaz similar). Hay muchos sistemas operativos basados ​​en BSD o derivados de BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X , etc. Otros ejemplos incluyen OSF / 1 (ahora descontinuado, era un sistema comercial similar a Unix no basado en Unix), Minix(originalmente un sistema operativo similar a Unix de juguete utilizado como herramienta de enseñanza, ahora un sistema similar a Unix integrado en la producción), y más famoso Linux .


  • Estrictamente hablando, Linux es un núcleo del sistema operativo que está diseñado como el núcleo de Unix.

  • Linux se usa más comúnmente como un nombre de sistemas operativos tipo Unix que usan Linux como su núcleo. Como muchas de las herramientas fuera del núcleo son parte del proyecto GNU , estos sistemas a menudo se conocen como GNU / Linux . Todas las distribuciones principales de Linux consisten en GNU / Linux y otro software.

  • Hay sistemas tipo Unix basados ​​en Linux que no usan muchas herramientas GNU, especialmente en el mundo integrado, pero no creo que ninguno de ellos elimine las herramientas de desarrollo GNU, en particular GCC .

  • Hay sistemas operativos que tienen Linux como su núcleo, pero no son similares a Unix. El más conocido es Android , que no tiene una experiencia de usuario similar a Unix (aunque puede instalar una línea de comandos similar a Unix) o experiencia de administrador o (principalmente) experiencia de programador (los programas de Android "nativos" usan una API que es completamente diferente de Unix).


70
¡Y no olvidemos que GNU significa "GNU no es Unix"!
alex

57
"Gnu no es Unix" significa que Gnu no está basado en el código original de Unix, no es que Gnu no quiera implementar las especificaciones de Unix. Citando rms: "¡Unix gratis! Comenzando este Día de Acción de Gracias, escribiré un sistema de software completo compatible con Unix llamado GNU (para Gnu's Not Unix), y lo regalaré gratis (1) a todos los que puedan usarlo".
jlliagre

8
Si una distribución de Linux quisiera certificarse como UNIX, no tendría que cambiar mucho y podría ser así. Pero no he oído hablar de nadie que pague todo ese dinero por lo que, en este momento, valdría tan poco.
Kevin Cantu

66
@Kevin: Caldera (ahora infamemente conocida por otro nombre) una vez trabajó en ello, aunque no fueron del todo (parece que abandonaron la idea y presionaron por LSB mucho antes de que repentinamente olvidaran que alguna vez habían oído hablar de Linux)
Gilles

44
@milkovsky No. Como explico en mi respuesta, la palabra "Linux" tiene dos significados. "Android está basado en Linux" es cierto con el significado 1 (el núcleo). "Linux es similar a Unix" es cierto con el significado 2 (el sistema operativo).
Gilles

58

Para todos los efectos, una distribución típica de Linux moderna (Ubuntu, Debian, Red Hat, Fedora, Slackware, etc.) es un Unix, pero estrictamente hablando, ningún sistema puede afirmar que es Unix sin estar certificado, por lo que la gente dice que está Unix-like. Están inspirados en Unix y continúan su cultura.

Esto también se aplica a los sistemas BSD.

Mac OS X está certificado Unix, por lo que es Unix tanto de nombre como de hecho. (y en realidad está basado en BSD).

Cabe señalar que, dado que Linux en sí mismo es solo un kernel, se puede usar para construir sistemas que no sean unix (como Android).


1
Nota: el kernel de Mac OS X no se basa en ningún kernel BSD. La parte del modo de usuario se basa en FreeBSD y en partes NetBSD, que yo sepa.
0xC0000022L

2
El kernel de hoy podría ser bastante diferente del kernel BSD, pero creo que inicialmente se basó (al menos en parte) en él.
Hasen

3
Cabe señalar que FreeBSD es un descendiente directo de ATT Unix y una vez contuvo el código ATT Unix. No solo fue "inspirado" por Unix.
Rob

2
@ 0xC0000022L y vamos más allá ahora "Las primeras versiones de Mach tenían núcleos monolíticos, con gran parte del código de BSD en el núcleo. Mach 3.0 fue la primera implementación de microkernel". En cuanto a mí, osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html es una fuente bastante autorizada.
poige

2
Y para concluir: "Algunos aspectos de los que BSD es responsable incluyen: ID de usuario del modelo de proceso, permisos, políticas de seguridad básicas API POSIX, sistema de estilo BSD, llamadas TCP / IP stack, zócalos BSD, firewall VFS y sistemas de archivos (ver Mac OS X Filesystems para detalles) System V IPC crypto framework varios mecanismos de sincronización ". En cuanto a mí, esto es suficiente para decir que está basado en BSD. Enfrenta la verdad.
Poige

23

Linux se parece más a 'Unix', así que sí, simplistamente, podría llamarse un clon, lo mismo es cierto para los BSD (aunque es cierto que los BSD podrían considerarse más cercanos a Unix que Linux).

Lo principal que le da a Linux el título similar a Unix es el hecho de que es casi totalmente compatible con los estándares POSIX (Interfaz de sistema operativo portátil [para Unix]) que se han ido acumulando con el tiempo.

La otra cosa clave es la herencia de código , etc. , como se demostró en Wikipedia, Linux en realidad no se origina en fuentes Unix, sino que está construido desde cero (sin embargo, esto se discute).

Entonces, esencialmente, lo principal que separa a Unix de Linux es la ascendencia y los estándares que cumple.


1
También hay que considerar la especificación Single Unix .
Dennis Williamson el

Definitivamente, diría que los BSD están más cerca de Unix que de Linux. Debido a la licencia más liberal de BSD y su desarrollo cercano con AT&T UNIX, una gran cantidad de código fuente de BSD y sus API se usan en Unix comercial. El sistema de archivos UFS en Solaris y algunos otros UNIX comerciales provienen directamente de BSD. Además, la API Berkely Sockets (no necesariamente fuente) utilizada por todo, incluido Linux, se desarrolló en BSD.
penguin359

3
Después de todo el desastre de SCO vs IBM, ha quedado claro que el kernel de Linux no contiene ningún código Unix.
vonbrand

11

La respuesta elegida lo explica de manera bastante exhaustiva, pero tendrías que ver un documental completo para conocer todos los detalles entre el desarrollo inicial de UNIX y cómo salió Linux.

Primero debe considerar que Linux es el núcleo, que fue creado por linus y otros programadores. Eligió lanzarlo con la GPL, que en ese momento era una licencia hecha por la FSF (RMS y otras personas), que también estaban desarrollando su propio núcleo y GNU.

Lo que generalmente llamamos Linux es, al principio, el kernel, además de todas las otras herramientas que provienen originalmente del proyecto GNU. Esos dos proyectos son históricamente diferentes, porque en ese momento, el núcleo de la gente de FSF fue abandonado para favorecer el núcleo de Linux, que era mucho mejor.

Recuerdo que hay un documental, realmente deberías verlo, me parece importante para tu cultura de programación.

Otra cosa que debe tener en cuenta al pensar en "* nix", también es todo lo relacionado con POSIX y otras cosas estandarizadas de arquitectura. Es tema de diseño / investigación del sistema operativo, pero define con precisión cómo funcionan los sistemas operativos involucrados, y es crucial cuando un núcleo funciona bien con sus herramientas.


En realidad, POSIX ahora se llama SUS (Single Unix Specification), que se mencionó.
0xC0000022L

1
@STATUS POSIX fue la base de SUSv2. El Grupo Austin se formó más tarde como un grupo de trabajo conjunto entre el IEEE que creó POSIX y The Open Group, que posee la marca registrada UNIX y la especificación UNIX. Lanzaron POSIX: 2001 también conocido como SUSv3. Son uno en lo mismo por lo que puedo decir. POSIX todavía se está desarrollando con POSIX: 2004 y POSIX: 2008, que es el núcleo de SUSv4. No creo que POSIX esté muerto todavía. en.wikipedia.org/wiki/Single_UNIX_Specification
penguin359

Entiendo que SUS es POSIX con algunas adiciones.
vonbrand

Enlace a ese documental?
Edward Torvalds

Edward Torvalds Lo siento, no puedo recordar el título. Presentaba RMS principalmente, y parecía un viejo documento.
jokoon

6

Ya hay muchas respuestas excelentes, pero pensé que las opiniones del gran Dennis Ritchie (cocreador de Unix) serían un complemento interesante para las otras respuestas más técnicas.

Parece que Dennis Ritchie consideraba que Linux era un derivado legítimo de Unix. En una entrevista de 1999 para LinuxFocus.org , se le preguntó:

¿Cuál es su opinión sobre todo el impulso de Linux y la decisión de muchas compañías de comenzar a desarrollar software para él?

Su respuesta a la pregunta fue

Creo que el fenómeno Linux es bastante agradable, porque se basa tan fuertemente en lo que proporciona Unix. Linux parece estar entre los derivados directos más saludables de Unix, aunque también existen varios sistemas BSD, así como las ofertas más oficiales de los fabricantes de estaciones de trabajo y mainframe. No puedo evitar observar, por supuesto, que el mundo derivado de Unix de "fuente libre" parece estar sufriendo exactamente el mismo tipo de fragmentación y conflicto que ocurrió y que todavía está ocurriendo en el mundo comercial.


1

Históricamente, Linus Torvalds ha creado un clon mejorado de Minix OS. El desarrollo de Linux no se centra en una plataforma específica y una base de clientes, y los desarrolladores de Linux tienen una variedad de experiencias y perspectivas. Tales sistemas operativos como HP-UX, AIX, Solaris y otros están enfocados principalmente para proveedores.

En la comunidad Linux no existe un conjunto estándar estricto de herramientas o entornos. Esta falta de estandarización conduce a inconsistencias significativas dentro de Linux. Para algunos desarrolladores, la capacidad de utilizar los mejores logros de otros sistemas operativos es una ventaja, pero no siempre es conveniente copiar elementos UNIX en Linux, por ejemplo, cuando los nombres de dispositivos dentro de Linux se pueden tomar de AIX, mientras que las herramientas para trabajar con el sistema de archivos se centra en HP-UX. Las incompatibilidades de este tipo también se encuentran entre diferentes distribuciones de Linux.


0

Unix, originalmente UNICS (Servicio de informática y computación UNiplexed).

Unix (registrado como UNIX) es una familia de sistemas operativos multitarea y multiusuario que se derivan del AT&T Unix original. El desarrollo comenzó en 1969 y se anunció fuera de los abdominales de Bell en octubre de 1973.

Variedad de variantes académicas y comerciales de Unix de proveedores como la Universidad de California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) y Sun Microsystems (Solaris).

  • BSD ( B erkeley S oftware D ISTRIBUCIÓN) comunicados proporcionó una base para varios proyectos de código abierto de desarrollo que están en curso, por ejemplo, FreeBSD, OpenBSD, NetBSD, Darwin, y TrueOS.
  • Xenix es una versión descontinuada del sistema operativo Unix para varias plataformas de microcomputadoras, con licencia de Microsoft.
  • AIX ( A VANZADO I nteractive e X EJECUTIVA) desarrollado y vendido por IBM para varios de sus plataformas informáticas.

Linux es una familia de sistemas operativos de software libre y de código abierto creados alrededor del kernel de Linux. El componente definitorio de Linux es el kernel de Linux, un kernel del sistema operativo lanzado por primera vez el 17 de septiembre de 1991 por Linus Torvalds.

Linux está empaquetado en una forma conocida como distribución de Linux (o distribución para abreviar) para uso de escritorio y servidor. Algunas de las distribuciones de Linux más populares y convencionales son Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE y Ubuntu, junto con distribuciones comerciales como Red Hat Enterprise Linux

La interfaz de usuario, también conocida como shell, es una interfaz de línea de comandos (CLI), una interfaz gráfica de usuario (GUI) o mediante controles conectados al hardware asociado, que es común para los sistemas integrados. Para los sistemas de escritorio, el modo predeterminado suele ser una interfaz gráfica de usuario, aunque la CLI está comúnmente disponible a través de ventanas de emulador de terminal o en una consola virtual separada.

  • Los shells CLI son interfaces de usuario basadas en texto, que usan texto para entrada y salida. El shell dominante utilizado en Linux es el Bourne-Again Shell (bash), desarrollado originalmente para el proyecto GNU.
  • Los shells GUI son K Desktop Environment (KDE), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon y Xfce, aunque existe una variedad de interfaces de usuario adicionales. Las interfaces de usuario más populares se basan en el sistema X Window, a menudo simplemente llamado "X".

GNU es un sistema operativo y una extensa colección de software de computadora. GNU está compuesto totalmente de software libre, la mayoría de los cuales está licenciado bajo la propia GPL del Proyecto GNU. GNU es un acrónimo recursivo de "GNU's Not Unix!", Elegido porque el diseño de GNU es similar a Unix, pero difiere de Unix por ser software libre y no contener código Unix. Richard Stallman inició el desarrollo del sistema operativo GNU mientras trabajaba en el Laboratorio de Inteligencia Artificial del Instituto Tecnológico de Massachusetts (MIT) en 1983.

Los componentes básicos incluyen GNU Compiler Collection (GCC), la biblioteca GNU C (glibc) y GNU Core Utilities (coreutils), pero también GNU Debugger (GDB), GNU Binary Utilities (binutils), GNU Bash shell y GNOME entorno de escritorio


-7

Linux es un sistema operativo tipo Unix desarrollado por Linus Torvalds y miles de otros.
BSD es un sistema operativo UNIX que por razones legales debe llamarse Unix-Like.
OS X es un sistema operativo gráfico UNIX desarrollado por Apple Inc.

Linux es el ejemplo más destacado de un sistema operativo Unix "real". Se ejecuta en cualquier cosa y admite mucho más hardware que BSD u OS X. Una cita interesante que encontré cuando estaba comparando BSD y Linux:

Linux es lo que obtienes cuando un grupo de piratas informáticos se sientan e intentan escribir un sistema Unix para la PC. BSD es lo que obtienes cuando un grupo de hackers de UNIX se sientan e intentan portar un sistema Unix a la PC.

BSD se parece más a un sistema operativo Unix que Linux. También es notable que Apple haga uso de componentes BSD y Linux. Apple usa APT de Debian y Ubuntu en las plataformas iOS y OS X. Y se basa en BSD. (Sin embargo, el núcleo es Darwin, que es su propio núcleo. Beastie el ornitorrinco es la mascota de Darwin porque es una mezcla entre Beastie de BSD y un ornitorrinco).

Si desea un sistema operativo Unix "real" (uno que se ejecute en cualquier cosa y admita gran cantidad de hardware), pruebe Linux.
Si desea soporte de hardware de gama baja y dolores de cabeza (sé que tendré mucho odio pero no me importa), use BSD.
Si quieres gastar más de $ 1000, usa OS X e iOS. (De nuevo, probablemente tendré un montón de odio).

Soy un usuario de Linux desde hace mucho tiempo, lo usé de vez en cuando desde los años 90 hasta principios de los 2000 y luego dejé de usarlo por un tiempo, pero comencé a usarlo nuevamente a mediados de 2012 como mi sistema operativo permanente, por lo que puedo recomendarlo a cualquiera que quiera probar algo diferente a Windoze.


44
Como Linux está cambiando recientemente con Wayland / systemd / etc, se está eliminando cada vez más de ser un sistema tipo Unix y convertirse en su propia entidad. Se está volviendo menos compatible con los verdaderos sistemas Unix y similares a Unix hasta el punto en que estos sistemas reales han desarrollado una actitud de "no me importa" hacia Linux. Sus "recomendaciones" están fuera de lugar y me hace estar de acuerdo con usted en que no ha tocado nada de esto en 15 años.
Rob

11
Linux no es un sistema operativo, sino un núcleo.
Martin Schröder

3
Apple no usa APT de Debian. Incluye una herramienta completamente diferente llamada APT (Herramienta de procesamiento de anotaciones de Java). Y la comunidad jailbreak usa APT como administrador de paquetes para instalar software iOS contra la voluntad de Apple.
abarnert

44
En realidad, casi todas las afirmaciones en esta respuesta son incorrectas. "Se ejecuta en muchos sistemas == Unix" es ridículo. Apple nunca ha lanzado un sistema de más de $ 1000 con iOS. BSD es una familia de sistemas Unix y similares a Unix, no un solo sistema operativo. Linux es un núcleo que se puede combinar con un país de usuario similar a Unix (como GNU), un país de usuario reducido de Unix-ish (como eLinux o Android), o cualquier otra cosa que desee. Y así.
abarnert
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.