¿Qué queremos decir exactamente cuando decimos que estamos usando Linux?


9

Estaba leyendo un artículo sobre GNU que dice algo como a continuación

Realmente hay un Linux, y estas personas lo están usando, pero es solo una parte del sistema que usan. Linux es el núcleo: el programa en el sistema que asigna los recursos de la máquina a los otros programas que ejecuta. El núcleo es una parte esencial de un sistema operativo, pero inútil por sí mismo; solo puede funcionar en el contexto de un sistema operativo completo. Linux se usa normalmente en combinación con el sistema operativo GNU: todo el sistema es básicamente GNU con Linux agregado, o GNU / Linux. Todas las distribuciones llamadas "Linux" son realmente distribuciones de GNU / Linux.

Siempre pensé que Linux era un kernel y un sistema operativo, pero parece Linux = kernel de Linux y GNU OS.

¿Podría alguien señalar la funcionalidad exacta de cada uno en la terminología "Linux" que usamos en nuestra vida cotidiana? Además, según la wiki, el diseño de GNU es similar a Unix, pero difiere de Unix por ser software libre y no contener código Unix. Pensé que Unix es de código abierto. ¿No es así?


2
El kernel de Linux es como un motor: vital para el funcionamiento del automóvil, pero casi inútil por sí solo.
evilsoup

Respuestas:


7

Creo que el bit al que te refieres está cubierto aquí en el sitio web de la Free Software Foundation (FSF):

Según la FSF, su argumento es que Linux es solo un kernel. Un sistema utilizable está compuesto por un Kernel + las herramientas como ls, findshells, etc. Por lo tanto, cuando se hace referencia a todo el sistema, debe denominarse GNU / Linux, ya que las otras herramientas junto con el Kernel de Linux forman un completo sistema utilizable Incluso continúan hablando sobre el núcleo FSF Unix, Hurd , argumentando que Hurd y Linux son esencialmente núcleos intercambiables para el sistema GNU / X.

Encuentro todo el argumento agotador y creo que hay mejores cosas que hacer con nuestro tiempo. Un nombre es solo un nombre y el hecho de que las personas consideren que un sistema que incluye software GNU + Kernel de Linux + otro software que no es GNU sea Linux o GNU / Linux es cuestión de gustos y realmente no importa en el gran esquema de cosas. De hecho, creo que el argumento hace más para dañar Linux y GNU / Linux al fracturar a la comunidad y confundir al público en general sobre lo que cada cosa es en realidad.

Para más de lo que siempre quiso saber sobre este tema, eche un vistazo a la Wikipedia titulada: controversia de nomenclatura de GNU / Linux .

¿Todos los Unixes de código abierto?

Que yo sepa, no todos los Unix son de código abierto. La mayor parte de la funcionalidad dentro de Unix se especifica para que el funcionamiento de las cosas esté abierto, pero las implementaciones específicas de esta funcionalidad están o no abiertas dependiendo de la distribución de la que formen parte.

Por ejemplo, hasta hace poco, Solaris, un Unix, no se consideraba de código abierto. Solo cuando Sun Microsystem lanzó componentes principales en el proyecto OpenSolaris, al menos los componentes de Solaris se convirtieron en código abierto.

Historia de Unix

De ninguna manera soy un experto en este tema, por lo que sugeriría que eche un vistazo a la página Wikipedia de Unix para obtener más información sobre el tema.

Historia de Linux

Eche un vistazo al diagrama de linaje de Unix para obtener más información sobre los Unixes que se consideran de código abierto, mixto o cerrado.

  ss de historia

También encuentro útil el Proyecto de línea de tiempo de distribución de GNU / Linux cuando tengo esta conversación.

ss of linux timeline


2
Ningún UNIX es de código abierto y Linux no es Unix. A diferencia de FreeBSD, que es un descendiente directo y que una vez contuvo el código ATT UNIX, Linux no tiene conexión directa y solo es similar a Unix. OSX es UNIX.
Rob

1
@Rob FreeBSD ya no contiene código ATT: eso es lo que lo hizo gratuito. No tiene más o menos reclamo para el nombre Unix que Linux o MINIX u OSF / 1.
Gilles 'SO- deja de ser malvado'

1
@Rob - por favor referencias del sitio. Estoy seguro de que no quiere decir que ese comentario parezca un troll, pero es, al menos un poco 8 -). Todo es Linux. Un debate de Unix ya se ha cubierto aquí. Consulte este hilo: unix.stackexchange.com/questions/4091/is-linux-a-unix . Me parece agotador ese argumento. Es como una discusión sobre cómo pronunciar tomate.
slm

@Gilles ¿Cómo es que algo que dije no es verdad? ¿Por qué sentiste la necesidad de comentar al respecto?
Rob

@slm Solo respondí a tu comentario de que "No todos los Unix son de código abierto" y la verdad es que no hay Unixes de código abierto. UNIX es un nombre comercial, una validación y certificación. También significa que existe un cumplimiento POSIX en cierto grado que Linux y otros sistemas no pueden validar (pero OSX sí). No estaba discutiendo nada, excepto que UNIX es UNIX y Linux no es UNIX, que su publicación parecía decir, iirc. (No estaba al tanto del hilo anterior, o cualquier otro.
Rob

3

Típicamente, lo que generalmente llamamos un Sistema Operativo, es una combinación de software que involucra un kernel , cuyo trabajo es administrar los recursos de la máquina y algunas aplicaciones que se ejecutan en la parte superior del kernel, llamado userland (que contiene navegadores, compiladores, lectores de pdf, cualquier cosa que no sea el núcleo, o un controlador, o tal vez un hipervisor vm).

El resto de esta pregunta no puede responderse sin algún contexto histórico. Richard Stallman anunció el Proyecto GNU el 27 de septiembre de 1983. El objetivo era proporcionar el software necesario para desarrollar un sistema operativo similar a UNIX (y el país de usuario que lo acompaña) como software libre . Para 1992, el Proyecto GNU había completado casi todas las piezas esenciales para su software, excepto una: el núcleo. Al mismo tiempo, Linus Torvalds lanzó su kernel Linux (versión 0.12) como software libre, bajo licencia GPL . Entonces, por primera vez, podría ser posible ejecutar una computadora compuesta (casi) completamente de software libre.

Linux (como se mencionó) es un núcleo y, aunque es la base definitiva del software que le permite usar su computadora, no es de mucha utilidad por sí sola. Debe emparejarlo con algún tipo de aplicaciones (userland) para que se ejecute. Eso es lo que hacen las distribuciones de GNU / Linux como Debian o Ubuntu y similares.

Vale la pena mencionar que un kernel es importante y sin importancia al mismo tiempo. Permíteme explicarte. La mayoría de las personas que usan una computadora están acostumbradas al país de usuario en lugar del núcleo. El núcleo es en su mayoría transparente, y la mayoría de las personas usaría otro núcleo con el mismo país de usuario y tal vez ni siquiera noten la diferencia (a menos, por supuesto, que dependan de una función proporcionada por un núcleo en particular).

Por lo tanto, cuando usa Linux , realmente está utilizando una realización del sistema operativo GNU; ese es el kernel de Linux y la tierra de usuarios de GNU (GNOME, GNU Compiler Collection, GNU depurador, GNU Coreutils, GNU binutils, etc.). Es por eso que la FSF insiste en llamarlo GNU / Linux (en mi opinión, una solicitud justa).

Por supuesto, puede usar Linux sin la tierra de usuario de GNU (pista: Android, Busybox ) y, por supuesto, usar la tierra de usuario de GNU sobre otros núcleos (kfreebsd, hurd, etc.).

En cuanto a Unix es de código abierto y similares, esa es una pregunta que puede implicar un poco de discusión. Sin embargo, puede encontrar información útil aquí


2

El kernel de Linux es un programa que aporta las siguientes funciones al sistema operativo:

   imagen del mapa del kernel de Linux

Enlace original a la imagen: http://www.makelinux.net/kernel_map/

El núcleo es esencial y además tiene utilidades y todo el resto del software empaquetado. La diferencia entre el sistema operativo completo y el núcleo es igual al resto del software y la forma en que los mantenedores de la distribución lo unen.

Esos mantenedores no necesariamente hacen todo ese software extra, lo ensamblan y lo modifican a veces y lo combinan para proporcionar lo que la experiencia de Linux es para la mayoría de las personas hoy en día: agregan el "sabor" por así decirlo y a menudo hay linaje a distribuciones muy establecidas como Debian y Redhat, etc. La cuestión es que una proporción significativa de las utilidades iniciales y el software empaquetado en las distribuciones de Linux incluyen software que fue adaptado del proyecto GNU. Gran parte de ese software fue creado por el proyecto GNU utilizando sus recursos incluso antes de que se inventara el kernel de Linux. Y es gratis y gran parte de ese software ayudó a construir la popularidad de Linux ya que ambos eran software libre y de código abierto vinculados por la licencia GPL. El marco de trabajo libc, el escritorio Gnome y el compilador gcc son ejemplos de software mantenido por GNU.

Ciertamente no es trivial y reconocer que no debería ser tan político, pero hay personas vocales en ambos lados y hay un debate. Cualesquiera que sean las aplicaciones prácticas, conocer más sobre la historia del software en las distribuciones que utilizamos y sus creadores es un esfuerzo válido.


¿Puedes proporcionar un enlace a la imagen original?
heinrich5991

1
@ heinrich5991: agregué el enlace a original.
slm
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.