About Taringa!

Popular channels

Linux no es un sistema operativo

Hago esto porque veo mucha confusión o tal vez ignorancia.

Linux y el sistema GNU


Muchos usuarios de ordenadores ejecutan a diario, sin saberlo, una versión modificada del sistema GNU. Debido a un peculiar giro de los acontecimientos, a la versión de GNU ampliamente utilizada hoy en día se la llama a menudo «Linux», y muchos de quienes la usan no se dan cuenta de que básicamente se trata del sistema GNU, desarrollado por el proyecto GNU.

Efectivamente existe un Linux, y estas personas lo usan, pero constituye solo una parte del sistema que utilizan. Linux es el núcleo: el programa del sistema que se encarga de asignar los recursos de la máquina a los demás programas que el usuario ejecuta. El núcleo es una parte esencial de un sistema operativo, pero inútil por sí mismo, sólo puede funcionar en el marco de un sistema operativo completo. Linux se utiliza normalmente en combinación con el sistema operativo GNU: el sistema completo es básicamente GNU al que se le ha añadido Linux, es decir, GNU/Linux. Todas las distribuciones denominadas «Linux» son en realidad distribuciones GNU/Linux.

Muchos usuarios no entienden la diferencia entre el núcleo, que es Linux, y el sistema completo, al que también llaman «Linux». El uso ambigüo del nombre no ayuda a comprender la cuestión. Estos usuarios suelen pensar que Linus Torvalds, con un poco de ayuda, desarrolló el sistema operativo completo en 1991.

Los programadores generalmente saben que Linux es un núcleo, pero como habitualmente han oído llamar «Linux» al sistema completo, con frecuencia imaginan alguna historia que justifique dar al sistema completo el nombre del núcleo. Por ejemplo, muchos creen que una vez que Linus Torvalds terminó de escribir Linux, el núcleo, los usuarios buscaron más software libre para completarlo, y descubrieron que (por ninguna razón en particular) casi todo lo necesario para hacer un sistema operativo similar a Unix ya estaba disponible.

¿Cómo se ha llegado a que la mayoría de la gente llame al sistema «Linux»?
Llamar «Linux» al sistema es una confusión que se ha extendido más rápidamente que la información que la corrige.

Las personas que combinaron Linux con el sistema GNU no eran conscientes de que era justamente eso lo que estaban haciendo. Concentraban su atención en la parte que conformaba Linux y no se daban cuenta de que GNU constituía la mayor parte del conjunto. Comenzaron a llamarlo «Linux» aun cuando ese nombre no se correspondía con lo que tenían delante. Nos llevó algunos años darnos cuenta del problema que esto representaba y pedirle a la gente que corrigiera esa costumbre. Para entonces, la confusión nos llevaba ya mucha ventaja.

La mayoría de la gente que llama «Linux» al sistema nunca ha oído la razón por la que no es la forma correcta. Vieron que otros usaban ese nombre y supusieron que era el correcto. El nombre «Linux» también extiende una falsa idea acerca del origen del sistema, ya que se tiende a pensar que la historia del sistema se corresponde con ese nombre. Por ejemplo, suelen creer que su desarrollo lo comenzó Linus Torvalds en 1991. Esta falsa imagen tiende a reforzar la idea de que al sistema habría que llamarlo «Linux».

¿Deberíamos decir siempre «GNU/Linux» en lugar de «Linux»?
No, no siempre, solo cuando se esté hablando del sistema completo. Cuando se refiera específicamente al núcleo, hay que llamarlo «Linux», que es el nombre que eligió su programador.

Cuando la gente llama «Linux» al sistema completo, está dando el mismo nombre al sistema que al núcleo. Esto provoca muchas confusiones, porque solo los expertos son capaces de comprender si una afirmación se refiere al núcleo o al sistema completo. La ambigüedad se evita llamando «GNU/Linux» a todo el sistema, y «Linux» al núcleo.

Decir «Linux» para abreviar «GNU/Linux», ¿no es lo mismo que decir «Windows» para abreviar «Microsoft Windows»?
Es útil acortar un nombre de uso frecuente, pero no si la abreviatura lleva a engaño.

En los países desarrollados, casi todos saben que el sistema «Windows» está hecho por Microsoft, por lo que decir «Windows» para abreviar «Microsoft Windows» no confunde a nadie acerca de la naturaleza y el origen de ese sistema. En cambio, decir «Linux» para abreviar «GNU/Linux» sí da una idea equivocada acerca de la procedencia del sistema.

La propia pregunta lleva a confusión, pues GNU y Microsoft no son del mismo tipo. Microsoft es una compañía, GNU es un sistema operativo.


¿Cuál es la diferencia entre un sistema operativo y un núcleo?
Un sistema operativo, tal como empleamos la expresión, significa una colección de programas que son suficientes para utilizar el ordenador de modo que realice una amplia variedad de tareas. Un sistema operativo de propósito general, para ser completo, tiene que poder realizar todas las tareas que muchos usuarios pueden querer llevar a cabo.

El núcleo es uno de los programas de un sistema operativo, el programa que asigna los recursos de la máquina a los otros programas que estén ejecutándose. El núcleo se encarga también de iniciar y detener otros programas.

Para confundir aún más las cosas, hay personas que emplean la expresión «sistema operativo» para referirse al «núcleo». Esos dos usos de la expresión se remontan a muchos años atrás. El empleo de «sistema operativo» para referirse al «núcleo» se encuentra en numerosos libros de texto sobre diseño de sistemas, desde los años ochenta. Al mismo tiempo, en esos años se entendía que el «sistema operativo Unix» incluía todos los programas del sistema, y la versión de Unix de Berkeley incluía incluso juegos. Como pretendíamos que GNU fuera un sistema operativo similar a Unix, empleamos la expresión «sistema operativo» en el mismo sentido.

Cuando la gente habla del «sistema operativo Linux», casi siempre está empleando la expresión «sistema operativo» en el mismo sentido que nosotros: se refieren a la colección completa de programas. Si es a eso a lo que usted se refiere, llámelo «GNU/Linux». Si solo se refiere al núcleo, entonces la denominación correcta es «Linux», pero diga también «núcleo» para evitar la ambigüedad acerca de la parte del software a la que se refiere.

Si prefiere emplear alguna otra denominación como «distribución de sistema» para referirse a la colección entera de programas, en vez de «sistema operativo», está bien. En ese caso hablaría de distribuciones de sistema GNU/Linux.


21Comments