Quiero saber cuál es la diferencia real entre Unix y Linux.
- ¿Comparten el mismo núcleo?
- ¿Linux está construido en Unix?
- ¿Los programas escritos para Linux funcionan en Unix y viceversa?
linux
unix
operating-systems
Xinus
fuente
fuente
Respuestas:
Unix no es una cosa, es un nombre para una gran familia de sistemas operativos relacionados, que comparten diferentes grados, historia y arquitectura. Solaris, DEC Unix, IRIX, HP-UX son variantes de Unix. Hasta cierto punto, son compatibles con las aplicaciones, ya que implementan estándares POSIX en diferentes grados, lo que significa que exponen comandos y API similares.
Sus núcleos no son los mismos, aunque si busca el 'árbol genealógico de Unix' verá una historia fascinante de cómo estas variantes han evolucionado unas de otras, como los organismos. Es decir, un pinzón y una golondrina no son el mismo animal, pero tienen mucho en común.
Linux es una reescritura, desde cero, de un sistema operativo tipo Unix. Si los programas escritos para un Unix / Linux versus otro es una pregunta compleja, pero en algunos casos sí.
fuente
No, no, sí (fuente)
Para comprender realmente la respuesta, es útil mirar el historial de ambos sistemas operativos.
Unix fue inventado en AT&T Bell Labs por Ken Thompson. Su colega Dennis Ritchie contribuyó y también inventó el lenguaje C y escribió el compilador de C. Con los años, el código también fue aportado por UC Berkeley, más trabajo en AT&T, Sun, IBM y otros.
Finalmente se estandarizó en una serie de publicaciones llamadas POSIX. En general, el código era de propiedad exclusiva, ya que AT&T tenía los derechos de autor y luego se vendía o licenciaba a otras compañías, que en gran medida lo reescribieron a lo largo de los años pero conservaron varios derechos.
Dos ramas de "Unix libre" surgieron en la década de 1990. Uno era Linux , que es un clon, escrito para actuar como Unix sin contener ningún código Unix real.
La otra rama existe hoy como NetBSD , y fue seguida rápidamente por FreeBSD , y mucho más tarde por cualquier otra * BSD de la que haya oído hablar. Estos proyectos son un poco diferentes de Linux en que son "clones parciales". Contienen una mezcla de código fuente "Unix real" (la parte que fue licenciada libremente, principalmente por UC Berkeley) y algún código "clonado" recién escrito y otro código posterior que surge como parte de reescrituras o según sea necesario para admitir HW moderno y moderno Especificaciones de Posix.
Linux es mucho más popular porque NetBSD y FreeBSD estuvieron atados por un tiempo en una demanda entre AT&T y UCB. Aunque se resolvieron a favor de los BSD, nunca se recuperaron de la demora, al menos, no en términos de popularidad.
Entonces, no, Linux y Unix comercial no tienen ningún código de núcleo en común, aunque Unix comercial y * BSD alguna vez tuvieron bastante en común. Los núcleos Unix de los proveedores con licencia contienen código que ellos mismos escribieron, quizás con algún código original de AT&T todavía presente aquí y allá. El kernel de Linux consta de código escrito por Linus Torvalds y otros autores.
El "software de Unix" es un software escrito en las API de Posix y generalmente se ejecuta en todas las versiones de Unix, Linux y NetBSD y FreeBSD. En teoría, Posix SW puede ejecutarse en sistemas "no Unix", pero eso no parece funcionar muy bien. En estos días, "Unix" es técnicamente una marca registrada, pero tiende a usarse informalmente como una designación tanto para Unix comercial, Linux como para la familia BSD.
fuente
Cuando la mayoría de la gente habla de Unix, se refieren a un "sistema operativo similar a Unix que cumple con POSIX", que es Linux.
¿Comparten un mismo núcleo? No, Linux ES un núcleo, no un sistema operativo. Técnicamente, las distribuciones de Linux usan un kernel de Linux y un "userland" de GNU (ver gnu.org). El área de usuario son los programas básicos y bibliotecas, etc., que conectan grandes aplicaciones y tareas de usuario con la API de bajo nivel del núcleo.
¿Linux está construido sobre Unix? No, es un clon. Está diseñado para proporcionar una versión gratuita y utilizable de Unix en una PC de escritorio humilde.
¿Pueden los programas escritos para Linux funcionar sobre Unix y viceversa? A veces. Por ejemplo, en FreeBSD, hay un emulador ABI de Linux, que esencialmente detecta que los programas fueron creados para Linux, y pone a disposición un conjunto diferente de llamadas del núcleo. Algo similar está disponible para que Linux ejecute cosas estándar de Unix System V (o alguna versión comercial popular de Unix de todos modos), pero rara vez se usa, ya que la mayoría de los programas vienen como código fuente compatible con POSIX y compilan en Linux sin dificultad. Además, la mayoría de los programas binarios para Unix están directamente disponibles para Linux. FreeBSD es una preocupación menor y no tiene este lujo. En Linux, el sistema para cargar archivos binarios de otros sistemas se usa con mayor frecuencia para ejecutar programas java, programas de Windows (aunque esto no es aconsejable), etc.
Unix es una marca registrada, por lo que Linux no puede usar el nombre. Unix es la versión oficial anterior (ya que hay una versión oficial), que no es tan fácil de usar. La mayoría de las otras versiones de Unix se diseñaron un poco mejor, pero no necesariamente funcionan tan bien en términos prácticos. Eso es todo realmente. Muchas de las compañías que solían ejecutar Unix ahora ejecutan Linux.
Si desea ver las diferencias en varios sistemas operativos tipo Unix, obtenga copias de FreeBSD, OpenSolaris y Debian. Digo estas distribuciones específicamente porque serán más fáciles de comparar, aunque algunas otras como pc-bsd, nexenta y ubuntu son posiblemente mejores, respectivamente.
fuente
Creo que técnicamente hablando, GNU / Linux no es menos UNIX que cualquiera de los sistemas UNIX oficiales, pero es solo por razones legales que la gente describe Linux como un SO similar a UNIX , en lugar de solo un SO "UNIX".
En lo que respecta a los núcleos, Linux es un núcleo. Entonces, por definición, si un sistema usa el kernel de Linux, entonces es un sistema Linux, no un sistema UNIX.
Linux no fue construido "sobre" Unix, está construido como un clon de UNIX. Todas las diversas utilidades de GNU (bash, etc.) se escribieron desde cero como clones de las correspondientes utilidades de Unix.
Irónicamente, Mac OS X, que tiene un núcleo UNIX, se entrega con bash, gcc y posiblemente otras utilidades GNU. Entonces, ese es un sistema UNIX que incluye partes de GNU, y no al revés como uno podría esperar.
fuente
Historia de UNIX No es la respuesta a sus preguntas, pero tal vez sea interesante.
fuente
De NixCraft
fuente