Índice

¡Bienvenido al curso de Nivel básico en Linux! Este curso te brindará los conocimientos fundamentales para iniciarte en el fascinante mundo del sistema operativo Linux. Aprenderás desde la instalación hasta el uso de comandos básicos y la gestión de archivos y directorios. Prepárate para potenciar tus habilidades en Linux y dar tus primeros pasos en este entorno versátil y poderoso.

Historia y filosofía de Linux

A finales de la década de 1940, apareció lo que se podría considerar la primera generación de computadoras en el mundo. Para usarlas, se accedía directamente a la consola desde la cual se actuaba sobre una serie de micro interruptores que permitían introducir directamente el programa en la memoria de la computadora.

Pero no fue hasta la década de 1950 cuando el primer Sistema Operativo de la historia fue creado para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba.

Actualmente, Linux, el sistema operativo de código abierto que ha ganado más popularidad en todo el mundo, tiene una historia y filosofía única que lo distingue de otros sistemas operativos. Desde su humilde comienzo en 1991 hasta convertirse en una de las tecnologías más influyentes de nuestro tiempo, Linux ha dejado una marca indeleble en la industria de la informática y ha redefinido la forma en que concebimos el software. En este artículo, exploraremos la fascinante historia y la filosofía detrás de Linux, descubriendo cómo este proyecto colaborativo ha cambiado el panorama tecnológico para siempre.

La historia de Linux comienza en 1991, cuando un joven estudiante finlandés llamado Linus Torvalds desarrolló un núcleo de sistema operativo como un proyecto personal. Inspirado por el sistema operativo Unix, Torvalds decidió crear un núcleo similar que fuera accesible para todos y que pudiera ejecutarse en hardware compatible con Intel. A medida que su proyecto avanzaba, Linus compartió su trabajo con la comunidad en línea, lo que llevó a una colaboración sin precedentes y a un rápido desarrollo del sistema.

La filosofía que subyace en Linux se basa en el concepto de código abierto y en la idea de compartir y colaborar. A diferencia de otros sistemas operativos propietarios, el código fuente de Linux es accesible a todos y puede ser modificado y distribuido libremente. Esta apertura ha permitido a una amplia comunidad de desarrolladores en todo el mundo contribuir al desarrollo y mejora continua del sistema operativo. La filosofía de Linux también se centra en la estabilidad, el rendimiento y la seguridad, con un enfoque en la creación de un sistema confiable y robusto para los usuarios.

¿Qué es un Sistema Operativo?

Un sistema operativo o SO, es un programa informático que permite administrar los recursos del equipo. Se trata de un software principal, que permite al usuario interactuar con el ordenador de manera fácil, de manera que pueda ejecutar diferentes tareas usando distintos tipos de programas.

El sistema operativo viene a ser un intermediario entre la máquina y el usuario. Desde el momento en el que enciendes el equipo informático, el sistema operativo que esté instalado empieza a arrancar y a través de éste podrás realizar diferentes acciones, como instalar programas o navegar por Internet.

¿Cuáles son las funciones del sistema operativo?

Veamos ahora cuáles son las funciones básicas del sistema operativo del ordenador.

  • Controlar los dispositivos del equipo.
  • Administrar las diferentes tareas.
  • Gestionar el hardware.
  • Organizar los archivos en ficheros.
  • Utilizar diferentes programas informáticos, que pueden usarse en paralelo.
  • Cargar en la memoria los programas que está usando el usuario.
  • Hacer que todos los componentes del sistema funcionen correctamente.
  • Facilitar las interacciones del usuario con el hardware.

En otras palabras, cuando se ejecuta un software en el sistema, es el SO quien se encarga de abrirlo, acceder a los recursos de hardware y todos los elementos que permiten su funcionamiento. Además le asigna una memoria, que se usará en función del número de programas que estén abiertos a la vez.

¿ Cuáles son las partes del SO?

Veamos ahora cuáles son las partes o elementos más importantes de un SO.

  • KERNEL O NÚCLEO

Se trata del elemento fundamental de todo SO. Es el responsable de que arranque el sistema y tener el control sobre los diferentes componentes de hardware del sistema. Su función es leer y escribir datos en la memoria, procesar las órdenes que transmite el usuario, interpretar dicha información y elegir qué software hará uso de los recursos del ordenador y durante cuánto rato.

  • INTERFAZ

La interfaz es el conjunto de elementos gráficos o visuales que permiten al usuario interactuar con el ordenador. Se compone de un escritorio, ventanas y distintos elementos visuales que permiten que el usuario pueda interactuar con el sistema. En ocasiones, la interfaz no será tan intuitiva y el usuario se comunicará a través de la línea de comandos, que es otra interfaz distinta.

  •  DRIVERS

Su función es facilitar que el ordenador interactúe con los periféricos. Es muy importante para el correcto funcionamiento de nuevo hardware, como impresoras o escáneres. Los drivers ayudan a mejorar la seguridad del usuario. Es muy importante que los drivers estén actualizados para el funcionamiento adecuado de un sistema.

  • SISTEMA DE ARCHIVOS

Su función es asignar espacio a los archivos y llevar el control del espacio libre en el disco duro, así como de los accesos a los datos almacenados. El sistema de archivos se encarga de ordenar y clasificar la información en la unidad de almacenamiento.

Sistemas operativos más comunes:

Son muchos los sistemas operativos que existen en la actualidad. Sin embargo los más usados son:

  • Mac OS: Es el sistema que utiliza Apple en todos sus ordenadores de escritorio. Es el más excluyente de todos debido a que solo lo usan los equipos de la marca. Aquí tienes algunos consejos sobre Mac para que aprendas a utilizarlo.
  • Windows: Sin duda alguna que es el más popular de todos ya que tiene todo lo que el usuario necesita para llevar a cabo sus tareas. Tiene una rivalidad directa con el Mac OS.
  • Linux: Es un sistema de código libre, lo que significa que cada uno de nosotros puede modificarlo a su antojo si tiene los conocimientos necesarios.

¿Qué es Linux?

GNU/Linux un sistema operativo (o una familia de sistemas operativos) tipo Unix compuesto por software libre y de código abierto.

GNU/Linux surge de las contribuciones de varios proyectos de software, entre los cuales destacan GNU (iniciado por Richard Stallman en 1983) y el kernel «Linux» (iniciado por Linus Torvalds en 1991).

«Linux» es solo el nombre del kernel o núcleo, ya que el sistema completo está formado también por una gran cantidad de componentes del proyecto GNU junto a componentes de terceros, que van desde compiladores hasta entornos de escritorio.

Cabe señalar que existen derivados que usan el núcleo Linux pero que no tienen componentes GNU, como por ejemplo el sistema operativo Android. También existen distribuciones de software GNU donde el núcleo Linux está ausente.

Los sistemas operativos GNU/Linux se encuentran normalmente en forma de distribuciones o distros. Entre las más populares se encuentran Debian, Ubuntu, Red Hat y SUSE.

El propósito de estas distribuciones es ofrecer GNU/Linux como un producto final para instalar o probar en un ordenador, cubriendo una gama de necesidades que van desde el uso cotidiano personal hasta aplicaciones muy específicas en ambientes especializados.

¿Cuáles son las principales características de Linux?

  • Es gratuito: Linux es distribuido bajo una licencia de código abierto, lo que significa que es gratuito para descargar, usar, modificar y distribuir.
  • Es personalizable: Los usuarios pueden personalizar y modificar el código fuente de Linux para adaptarlo a sus necesidades específicas.
  • Es seguro: Linux tiene un alto nivel de seguridad gracias a su estructura de permisos y su modelo de seguridad basado en roles.
  • Es estable: Linux es conocido por su estabilidad y confiabilidad, lo que lo hace popular para servidores y sistemas críticos.
  • Es escalable: Linux se puede utilizar en una amplia variedad de dispositivos y sistemas, desde teléfonos inteligentes hasta supercomputadoras.
  • Es compatible con múltiples plataformas: Linux es compatible con una amplia variedad de hardware y software, lo que lo hace muy versátil.
  • Es de código abierto: Linux se basa en el modelo de código abierto, lo que significa que los desarrolladores de todo el mundo pueden contribuir al código fuente y mejorarlo para todos.
  • Es multitarea: Linux es capaz de ejecutar múltiples procesos simultáneamente, lo que lo hace ideal para servidores y sistemas de alto rendimiento.
  • Tiene una amplia gama de aplicaciones: Linux cuenta con una gran cantidad de software disponible, incluyendo aplicaciones de productividad, juegos, herramientas de desarrollo, entre otros.
  • Es fácil de usar: Aunque la curva de aprendizaje puede ser empinada al principio, Linux cuenta con una gran cantidad de documentación y comunidades en línea que ayudan a los usuarios a familiarizarse con el sistema operativo.

¿Cuáles son los componentes básicos de Linux?

Cada sistema operativo tiene sus componentes característicos, y el sistema operativo Linux también tiene los siguientes componentes:

  • Cargador de arranque. Las computadoras deben pasar por una secuencia de inicio llamada arranque.
  • Kernel del sistema operativo.
  • Servicios de fondo.
  • OS Shell.
  • Servidor de gráficos.
  • Entorno de escritorio.
  • Aplicaciones.

¿Qué es una Distribución?

Una distribución o distro de Linux no es más que una versión personalizada del sistema operativo original, el kernel o núcleo de Linux. Existen más de 600 distribuciones Linux. Esto se debe al carácter abierto, la condición de código libre de Linux, que cualquiera puede ampliar y modificar.

Las distro de Linux tienen en común el kernel, pero el resto de componentes (las herramientas, la shell, el Display Server, la GUI) varían entre sí, se personalizan o se crean desde cero, por eso las distribuciones son tan diferentes entre sí. Aunque en la mayoría de los casos la principal diferencia es la GUI, o los programas y herramientas que vienen incluidos.

Cada distribución Linux tiene un objetivo, que justifica su existencia. Por ejemplo, distros como Ubuntu se centran en ser lo más amigables posible a la hora de instalarse o descargar programas. Linux Mint aprovecha el hardware potente para competir con Windows o MacOS de tu a tu. Si tienes un ordenador viejo, hay distros ligeras como Puppy Linux. ¿Quieres instalar Linux en un servidor? Usa Debian. ¿Deseas jugar a videojuegos en Linux? SteamOS es la mejor.

¿Que es el kernel de Linux?

El kernel de Linux es el elemento principal de los sistemas operativos (SO) Linux, y es la interfaz fundamental entre el hardware de una computadora y sus procesos. Los comunica entre sí y gestiona los recursos de la manera más eficiente posible.

Se llama kernel porque se encuentra dentro del sistema operativo y controla todas las funciones principales del hardware, ya sea un teléfono, una computadora portátil, un servidor o cualquier otro tipo de equipo.

¿Qué es la Terminal o Shell de Linux?

La Terminal o Shell de Linux es una consola, similar a CMD o PowerShell (pero mucho más avanzada que ambas), utilizada para permitir a los usuarios más avanzados y técnicos controlar hasta el más mínimo detalle del sistema operativo.

Desde esta consola podemos ejecutar todo tipo de herramientas, aunque lo suyo es ejecutar aquellas que no tienen interfaz gráfica y que deben usarse mediante comandos. Igual que en otros sistemas operativos, podemos ejecutar cualquier binario o script directamente desde su directorio, peró los detalles los iremos viendo más adelante.

¿Qué es un Proceso?

Un proceso es simplemente un programa en ejecución. También se define como una entidad que representa la unidad de trabajo más básica que se implementa en un sistema. Cuando queremos realizar una tarea en nuestro ordenador, ejecutamos un programa. Este programa acaba convirtiéndose en un proceso que ejecutará todas las funciones que se definen en el programa en cuestión.

Del mismo modo, cuando un programa se convierte en un proceso, este también pasa a dividirse en cuatro secciones diferentes:

  • Stack: Contiene la información temporal que se almacena al ejecutar las funciones que se definen en el programa, como por ejemplo sus parámetros, sus valores de retorno y sus variables locales.
  • Heap: Memoria dinámica reservada por el proceso.
  • Text: Información del estado actual del programa, incluyendo la información almacenada en los registros.
  • Data: Información almacenada en variables globales y variables estáticas.