Historia y Creación de Linux
En estos apartados estaremos indagando sobre la evolución y uso de sistemas Linux. Muy usados en todo el mundo y en la mayoría de dispositivos. Para poder hablar sobre la historia y creación de Linux, primero debemos saber cómo nace, quienes son sus fundadores y en qué se basaron. Entonces ¿Qué es UNIX?
Table of Contents
ToggleUn poco de Historia
Podemos decir que UNIX es considerada como la “familia de los sistemas operativos”. La primera versión fue creada entre 1969 y 1970 en el centro de investigación de Bell Labs. Algunas de las personas que trabajaron desde sus inicios fueron Ken Thompson, Dennis Ritchie, Joe Ossana y Douglas Mcllroy.
¿Por qué decimos que fue importante este SO?
UNIX fue importante porque adoptó grandes funcionalidades para la época, como la multitarea y la posibilidad de ser utilizado por distintos usuarios al mismo tiempo. Además, su evolución fue paralela a la del lenguaje C de programación, que contribuyó para que se pueda utilizar en múltiples arquitecturas de computadoras y por una gran cantidad de programadores.
Sus funcionalidades, para la época, eran las siguientes:
- Sistema de archivos jerárquico.
- Una shell que permitiera tanto ingresar comandos como programar scripts.
- El uso de archivos de texto de configuración.
- La sintaxis de expresiones regulares.
- Herramientas que realizan una tarea específica y de manera eficiente.
- La suite de protocolos de red TCP/IP.
- Software documentado y con código fuente accesible (es decir las instrucciones legibles por humanos).
Tipos de sistemas UNIX
Veamos la clasificación según Eric Raymond, que sostiene la existencia de 3 tipos de UNIX:
- Genéticos: Son aquellos derivados de UNIX del Bell Labs. Por ejemplo: FreeBSD, NetBSD, OpenBSD, AIX, Oracle Solaris, macOS, HP-UX.
- Registrados: Son aquellos UNIX de marca registrada por The Open Group. Por ejemplo: Oracle Solaris, macOS, HP-UX.
- Funcionales: Aquellos que poseen funcionalidades y conceptos del UNIX original, pero no hereda su código. Por ejemplo: Linux y Minix.
A través de esta breve introducción al sistema unix, ya podemos darnos una idea de la gran importancia y relevancia que ha tenido la historia y creación de los sistemas Linux que estaremos analizando en detalle a continuación.
¿Cómo nace este Sistema Operativo?
Dentro de la historia y creación de Linux, tenemos dos personajes principales, uno de ellos Linus Torvalds, quien creó el núcleo Linux, en 1991, en la Universidad de Helsinki, Finlandia.
El núcleo (en inglés: kernel) es un programa fundamental que posee todo sistema operativo ya que, determina el uso de memoria RAM, conexiones de red, el control de hardware y así como la interacción con el resto del software.
Torvalds comenzó a desarrollar Linux sobre el sistema operativo Minix. Tiempo después, reemplazaría las herramientas Minix existentes por las desarrolladas en el proyecto GNU. El nombre del kernel o núcleo fue puesto por un compañero de la Universidad de Helsinki, que es la denominación que finalmente se impuso.
En enero de 1992, el sistema operativo dio un paso significativo, pues salió la primera versión 0.12 con la licencia de software libre GNU GPL.
“[…] ¿Suspiras al recordar aquellos días de Minix-1.1, cuando los hombres eran hombres y escribían sus propios drivers? ¿Te sientes sin ningún proyecto interesante y te gustaría tener un verdadero S.O. que puedas modificar a tu gusto? ¿Te resulta frustrante tener solo a Minix? Entonces, este artículo es para tí. […]”
-Linus Torlvalds.
Actualmente pertenece al movimiento “Open Source”, fundado por Christine Peterson, desarrollando y revisando código.
¿A qué nos referimos con GNU/LINUX?
Cuando hablamos de GNU/LINUX nos referimos al Sistema Operativo, ya que, como vimos anteriormente, “LINUX” hace referencia al kernel (nucleo). Sin embargo, hoy en día es normal tratar al sistema operativo por “Linux”.
Para completar la historia y creación de Linux, es que aparece el fundador de GNU: Richard Stallman. Un activista del Software Libre y programador , cuyos proyectos conocidos podemos mencionar al editor de texto “Emacs”, el compilador GCC y el depurador GDB. Es también inventor del concepto “copyleft”, método para licenciar software sin privatización alguna.
El 27 de septiembre de 1983 Stallman anunció en varios grupos de noticias de Arpanet y Usenet el inicio del proyecto GNU, el cual consistía en desarrollar un sistema operativo completamente libre. Luego en 1985, al anuncio original le siguió la publicación del Manifiesto GNU, en el cual Stallman declaraba sus intenciones y motivaciones para crear una alternativa libre, pero compatible, al sistema operativo Unix al que denominó GNU, que también quiere decir “ñu” en inglés (logotipo de GNU).
Tiempo después fundó la organización no lucrativa “Free Software Foundation” para continuar con el proyecto GNU, empleando a programadores de software libre y proveyendo de una infraestructura legal al movimiento del software libre.
Características básicas
- Código fuente libre: Linux cuenta con muchos programas, librerías y software de diferentes tipos con licencias de software libre.
- Adaptabilidad: Linux puede ejecutar una amplia variedad de software disponible, gracias a una gran cantidad de proyectos existentes. Este software incluye compiladores (GNU C y GNU C++), administración del sistema y redes (GNU coreutils, gawk, CUPS, SAMBA, etc.), juegos y herramientas de productividad como LibreOffice.
- Estabilidad: Linux es muy estable en la gestión de sus procesos internos. Es muy difícil conseguir que este SO se «cuelgue» y, cabe mencionar, jamás veremos una «pantalla azul».
- Multitarea: Podemos ejecutar varias tareas y se puede acceder a varios dispositivos en forma simultánea.
- Soporte Multiusuario: Linux permite que varios usuarios puedan acceder en forma simultánea a su sistema sin que haya conflicto entre ellos y cada uno tenga su espacio de trabajo.
- Seguridad: La mayor parte de los malware (software malicioso) que existen no fueron desarrollados para este SO. El permiso de ejecución de un archivo (por ejemplo de un virus), en Linux, está limitado de manera predeterminada. Además, aun si tuviera permisos de ejecución, solo es posible que un virus se autoreplique y modifique otros archivos afectando a todo el sistema solamente si obtiene de alguna manera privilegios de usuario root (administrador). De otro modo los efectos del daño producido son limitados a una parte del sistema.
- Entornos Gráficos: Cuando utilizamos el sistema desde estaciones de trabajo, se puede disponer de diversos entornos gráficos muy buenos. Hay distribuciones de Linux con entorno gráfico que datan desde 1992, pero a diferencia de otros sistemas operativos, Linux cuenta con una variedad de entornos de escritorio. Los principales son: KDE Plasma, GNOME y XFCE.
Características Técnicas
- Relación con Internet: Debido a que Linux creció a la par de Internet, es un sistema practicamente orientado a Internet y a las redes informáticas en general. No tanto como entorno de escritorio (Como el caso de Windows)
- Soporte de Hardware: En la actualidad la mayor parte del hardware está soportado por Linux. Sin embargo, es conveniente verificarlo en los sitios web que tengan listas de compatibilidad con este SO antes de comprar algo.
- Uso como Servidor Local: En algunos casos, como en pequeñas empresas o incluso en hogares, podemos tener un servidor web, servidor de archivos, o firewall con recursos amigables con Linux.
- Comunidad Linux: Linux tiene una comunidad muy activa de desarrolladores. Muchos de ellos están dispuestos a responder consultas por medio de listas de correo, foros o canales de chat.
- Memoria Virtual: Linux puede simular una mayor cantidad de memoria, gracias a un método llamado LVM (Logical Volume Manager) o también conocido como virtualización de memoria.
- Software como oferta: Una misma distribución (por ejemplo, Ubuntu o Fedora) se puede utilizar para una PC de escritorio o Notebook con entorno gráfico y herramientas de productividad como “LibreOffice”. Y, cabe aclarar, para uso como servidor (por ejemplo, Debian y CentOS) posee software útil en servicios de correo, sitios web, almacenamiento, firewall, etc.
¿Linux es gratis? ¿Qué entendemos por “Free”?
Es común hablar acerca de la venta de software pero en realidad, el software no se vende, sino que se licencia. Estos temas son muy importantes diferenciarlos, ya sea teniendo en cuenta la historia y creación de Linux o de cualquier software. Ya que, el autor establece una serie de condiciones mediante las cuales un determinado programa puede ser utilizado. Esto se suele confundir porque en inglés, la palabra free puede significar tanto gratis como libre. En este contexto, quiere decir libre. Lo que hace tan especial a una distribución de Linux es que la mayoría o todo el software que lo compone tiene una licencia de free software, es decir, de software libre.
Declaración de «Software Libre» según la FSF:
De acuerdo a la Free Software Foundation, un software es libre cuando su licencia permite:
- Utilizar el programa para cualquier propósito.
- Estudiar el funcionamiento del programa y modificarlo para adaptarlo a necesidades propias.
- Redistribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
- Mejorar el programa, y poner sus mejoras a disposición del público, para beneficio de toda la comunidad.
Por lo tanto, cuando se habla de software libre no tiene, necesariamente, relación con su precio. Si bien una buena cantidad de software libre se puede obtener gratuitamente haciendo una búsqueda en Internet y es perfectamente legal hacer copias, muchas empresas viven del software libre. La rentabilidad de estas empresas está basada en ofrecer soporte o servicios alrededor del software que proporcionan, algunas de ellas son: Red Hat, Novell, AdaCore y Oracle.
Es importante remarcar que el software libre tiene licencias. Una licencia de software libre debe ofrecer las cuatro libertades que mencionamos en la slide anterior.
Existen muchas licencias de software libre, pero podemos dividirlas en dos categorías:
- Copyleft: obliga a que las obras derivadas se distribuyan bajo los mismos términos, por ejemplo: la Licencia de Público General GNU (GPL).
- No-Copyleft: permite que se creen obras derivadas con otra licencia, por ejemplo, las licencias BSD
¿Cómo se puede instalar Linux?
Teniendo en cuenta los detalles según la historia y creación de Linux, podemos basarnos en los siguientes métodos:
1) Existen muchas maneras de instalar Linux. Una de ellas es mediante un CD o DVD que lanza meramente un instalador. Otra es mediante un LiveCD. Este es un sistema Linux que se Ejecuta, en principio, sin tocar en absoluto los discos rígidos y permite probar el sistema operativo utilizando la memoria RAM. En general, los LiveCDs tienen un programa instalador que copia el sistema operativo al disco para usarlo de manera permanente.
2) Los Linux de tipo Live se pueden arrancar también desde una unidad USB removible o booteable. Cabe mencionar, muy importante, que siempre que queramos descargar cualquier versión de Linux lo hagamos desde los sitios de las distribuciones, ya que podemos ser víctima de un virus o malware si lo hacemos desde sitios de terceros.
3) Hoy en día es muy común descargar estos sistemas operativos a través de las máquinas virtuales o, tecnologías similares a ellas. Por ejemplo: VirtualBox, VMWare, KVM, lxc, docker En casos como estos se usa un archivo con extensión ISO, en vez de un disco físico.
4) También, el sistema se puede instalar en el propio hardware en una nube privada, usando por ejemplo OpenStack, o bien, en un proveedor externo de infraestructura como servicio (IaaS). Algunos ejemplos son: Amazon EC2, Rackspace, Digital Ocean, etc.