Estructura del sistema Linux: Elementos, Kernel, Distribuciones, Boot, Shell...
miércoles , agosto 15 2018
Inicio / Linux / Estructura del sistema Linux: Elementos, Kernel, Distribuciones, Boot, Shell…

Estructura del sistema Linux: Elementos, Kernel, Distribuciones, Boot, Shell…

Estructura del sistema Linux: Elementos, Kernel, Distribuciones, Boot, Shell…
Deja tu gusta

Las diferentes distribuciones de Linux existentes no son solo el kernel de Linux, propiamente dicho. Todas ellas están constituidas por elementos que forman la estructura de los sistemas Linux.

Son elementos fundamentales para el funcionamiento del sistema operativo, entre ellos: el shell, el bootloader, el software GNU, el servidor gráfico, el entorno de escritorio y mucho más. Por lo tanto, veremos todos los elementos que componen la estructura de los sistemas Linux.

El kernel y otros elementos de Linux

Mucho se habla del “sistema Linux”. Sin embargo, Linux no es todo lo que compone el sistema operativo. Para muchos, Linux, por sí mismo, es capaz de ofrecer recursos y funciones completas para el equipo.

Sin embargo, Linux representa solamente el kernel (núcleo) del sistema operativo. Todo sistema operativo (como Linux, Windows y Mac, por ejemplo) tienen un núcleo. En el caso de las distribuciones de Linux, el kernel es Linux, libre y siendo desarrollado por colaboradores de todo el mundo.

El kernel de un sistema es el componente central que sirve para dar vida al hardware. Es la capa responsable de asegurar que todos los programas y procesos tengan acceso a los recursos que necesitan de la máquina (memoria RAM, acceso a disco y el control de la CPU, por ejemplo) al mismo tiempo, de modo que haya un recurso compartido de estos. En otras palabras, es el cerebro del sistema operativo; el responsable de coordinar el acceso al hardware y los datos entre los diferentes componentes del sistema.

La otra capa de un sistema operativo está constituida por elementos que ofrecen recursos capaces de garantizar la interacción con el usuario y popularmente conocida como la capa de software. Esta capa permite que las aplicaciones de usuario se ejecuten.

En otras palabras, al núcleo del sistema no se puede acceder directamente por el usuario o administrador del sistema; esto solo puede ser posible a través de programas de utilidad del sistema, así como la terminal de línea de comandos (CLI), software para la recopilación, software de gestión de disco/memoria o el control de los procesos del sistema.

Así, debe quedar claro por qué de Linux se popularizara tanto el aspecto técnico. Entre otros aspectos, a través de estas aplicaciones, Linux puede ser fácilmente accedido y controlado por el usuario, que tiene dominio y condiciones para ello. Además, puede ser estudiado y distribuido libremente.

Elementos de Linux

Por último, hecha la analogía de que el kernel es el cerebro del sistema, hay que dejar en claro que el kernel por sí solo, así como el cerebro humano, no puede realizar todas las tareas llevadas a cabo por el sistema operativo solo. La unión de estos otros elementos con el kernel forman la estructura del sistema Linux.

Estructura del sistema operativo Linux

Sabiendo ya que Linux es solo el núcleo del sistema, te puedes estar preguntando entonces qué hace funcionar completamente al sistema Linux desde el inicio de la carga del entorno gráfico disponible para el usuario.

Incluso con todos los subsistemas del kernel (Gestión de Procesos, Gestión de Memoria, Gestión de Redes, Sistema de Archivos y otros), existen elementos que deben componer esta estructura mantenida en el núcleo del sistema operativo para que funcione completamente. Entre ellos se destacan el bootloader, el shell, el software GNU, el servidor gráfico, el entorno de escritorio y mucho más.

Todos estos elementos son desarrollados y mantenidos por diferentes grupos de desarrolladores. Todos independientes del desarrollo del kernel de Linux, que es coordinado por Linus Torvalds (creador) y mantenido por la comunidad mundial. Así, “uniendo” todos estos elementos con el kernel de Linux, un sistema operativo completo es creado y así surgen las distribuciones de Linux.

Distribuciones Linux

La expresión “distribución Linux” significa que los distintos sistemas se crean a partir del núcleo de Linux. O sea, quien usa Ubuntu está usando Linux; sin embargo, el kernel es de Linux y los elementos son creados por la comunidad de Ubuntu. De ahí también surge la expresión “basado en”. La distribución Debian es “madre” de muchas otras porque dio “base” a otras distribuciones de Linux, como Ubuntu, por ejemplo.

Elementos de Linux

Bootloader

Un bootloader (cargador de arranque), también llamado gestor de arranque (boot), es un sutil software cuya tarea es cargar el sistema operativo de un ordenador en la memoria.

Cuando un equipo se conecta, la BIOS o UEFI realiza algunas pruebas iniciales de las actividades básicas para el correcto funcionamiento de todos los recursos de la máquina; y entonces transfiere el control al Registro de Arranque Maestro (MBR – Master Boot Record), donde el bootloader se encuentra.

En sistemas Linux, por lo general, el gestor de arranque que se utiliza es Grub. Con este instalado, además de gestionar el proceso de arranque del sistema, es posible tener varios sistemas operativos instalados y elegir cuál debe ser iniciado. Grub proporciona un menú que te permite elegir entre las opciones de los sistemas disponibles. Este recurso es comúnmente llamado “dual-boot“.

Si no dispones de diversos sistemas instalados en el equipo (solo una distribución de Linux), Grub puede arrancar el sistema Linux casi al instante. Aunque no lo veas, todavía está allí.

En resumen, Grub, por el hecho de ser un gestor de arranque, es el responsable del proceso de arranque de Linux. Sin Grub, una distribución de Linux no se inicializaría.

Shell

Primero, el shell (o intérprete de línea de comandos) es un módulo que actúa como capa externa entre el usuario y el sistema operativo. Existen varios tipos de shell. El primero de ellos fue Bourne Shell (sh) que ofrecía diversos comandos internos que permitían al usuario solicitar llamadas al sistema operativo. A partir de ahí han habido avances notables del shell.

Actualmente, la mayoría de los sistemas Linux usan, por defecto, una evolución de Bourne Shell llamado Bash (Bourne Again Shell). Bash, además de las funcionalidades de las versiones anteriores, también implementa un lenguaje simple de programación que permite el desarrollo de pequeños programas (los famosos shell scripts).

En resumen, el shell es un programa independiente del usuario, ejecutado fuera del kernel, que proporciona una interfaz para la interpretación de comandos. Permite la interacción con el sistema mediante la ejecución de comandos en una interfaz de texto (CLI).

Incluso si estás usando solo el entorno gráfico, y nunca has precisado utilizar o ejecutar ningún comando de Linux, el shell está en constante ejecución. Cuando abras la terminal de línea de comandos, verás el shell en pleno funcionamiento.

Software GNU

El shell proporciona algunos de los comandos básicos integrados, pero la mayoría de los comandos que se pueden ejecutar en el shell de Linux no son ofrecidos por este. Por ejemplo, el comando cp (para copiar un archivo), el comando ls (para listar los archivos de un directorio) y rm (para borrar archivos) son parte del paquete de utilidades básicas de GNU (“coreutils”). No todas las utilidades y programas de línea de comandos son desarrollados por el proyecto GNU. Algunos comandos y programas de terminales tienen su propio proyecto independiente.

Elementos de Linux

Se puede ver que los comandos enumerados son fundamentales para el funcionamiento del sistema Linux. Además de ellos, hay software de utilidades esenciales para el funcionamiento del sistema, como las herramientas de compilación y el gestor de arranque Grub; también desarrollado y mantenido por el proyecto GNU. Así, los sistemas Linux no van a funcionar sin estas utilidades tan importantes. Tan importantes, que, en realidad, el shell Bash, propiamente dicho, forma parte del proyecto GNU.

Servidor gráfico

El modo gráfico en Linux es generado por el servidor gráfico X (X Window System), que no es parte del núcleo de Linux. Entre otras funciones, es responsable de la activación de la tarjeta de vídeo, ratón y teclado, lo que permite al usuario el uso de interfaces gráficas que son llamadas de Gestores de Ventanas y Entornos de Escritorio. Los Entornos de Escritorio disponen de interfaz completa para el usuario (GUI), así como: barra de herramientas, botones, iconos, wallpapers y bibliotecas gráficas. Los Administradores de Ventanas dan base para los Entornos de Escritorio.

Existen varios Entornos de Escritorio diferentes. Y esa es una de las características más fascinantes del mundo Linux. La posibilidad de poder personalizar el sistema. Por ejemplo, si no te gusta un Entorno de Escritorio, puedes fácilmente cambiarlo por otro que se adapte a tus necesidades.

Actualmente, el servidor gráfico más popular es X.org. Sin embargo, ya hay en marcha otros servidores gráficos destacados, que en este caso son Wayland y Mir (desarrollado por Canonical – Ubuntu). Ambos con el propósito de ser sustitutos de X Window System.

En resumen, el servidor gráfico interactúa con tu tarjeta de vídeo, monitor, ratón y otros dispositivos que preparan el entorno para los Gestores de Ventanas y Entornos Gráficos. Un servidor gráfico no proporciona un Entorno de Escritorio completo, solo un sistema gráfico para que los Entornos de Escritorio y herramientas puedan trabajar sobre este.

Elementos de Linux

Entornos de escritorio

Si estás utilizando una distribución de Linux ahora, lo que realmente estás viendo y con lo que interactúas es un Entorno de Escritorio para Linux. Por ejemplo, Ubuntu ofrece el Entorno de Escritorio Unity, Fedora ofrece GNOME y Linux Mint, por lo general, incluye Cinnamon o MATE. Estos Entornos de Escritorio proporcionan el fondo de la pantalla, los paneles, las barras de título de las ventanas y mucho más.

Además de diversas características, los Entornos de Escritorio incluyen sus propias utilidades. Por ejemplo, GNOME y Unity incluyen el administrador de archivos llamado Nautilus, desarrollado como parte de GNOME. KDE incluye el administrador de archivos llamado Dolphin, desarrollado como parte del proyecto KDE.

En resumen, todos estos Entornos de Escritorio citados se desarrollan independientemente del desarrollo del kernel de Linux.

Así, diversos proyectos acaban surgiendo para aumentar el abanico de opciones disponibles para que el usuario elegir cuál usar. Y es en estos Entornos de Escritorio donde la mayoría de los usuarios resuelven cambiar el tema, el color de los iconos y otros cambios en la apariencia.

También te puede interesar: Kodi v17 Beta 6: Novedades y correcciones.

Sobre Lucas

Te recomendamos

El núcleo Linux 4.18 llega con algunos grandes cambios

El núcleo Linux 4.18 llega con algunos grandes cambiosDeja tu gusta Tras varios retrasos, Linus …

Deja un comentario

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en ayudalinux2016@gmail.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *