“Linux” no es solo Linux 8 piezas de software que conforman sistemas Linux
Las distribuciones de Linux no son solo el kernel de Linux. Todos contienen otro software crítico, como el gestor de arranque Grub, el shell Bash, las utilidades del shell GNU, los demonios, el servidor gráfico X.org, un entorno de escritorio y más..
Todos estos diferentes programas son desarrollados por diferentes grupos de desarrollo independientes. Se combinan con las distribuciones de Linux, donde se construyen una encima de la otra para crear un sistema operativo "Linux" completo. Esto es a diferencia de Windows, que está desarrollado en su totalidad por Microsoft.
Cargador de arranque
Cuando enciende su computadora, el BIOS de su computadora o el firmware UEFI cargan el software desde su dispositivo de arranque. El primer programa que se carga con cualquier sistema operativo es el cargador de arranque. Con Linux, este es generalmente el gestor de arranque Grub.
Si tiene varios sistemas operativos instalados, Grub proporciona un menú que le permite elegir entre ellos, por ejemplo, si tiene Linux instalado en una configuración de inicio dual, puede elegir entre Linux o Windows cuando inicie.
Grub podría arrancar su sistema Linux casi instantáneamente si solo tiene un único sistema operativo instalado, pero todavía está allí. Grub maneja el proceso de arranque de Linux, emite opciones de línea de comandos y le permite arrancar Linux de otras maneras para resolver problemas. Sin un cargador de arranque, una distribución de Linux simplemente no arrancaría.
El kernel de linux
La pieza precisa de software que Grub arranca es el kernel de Linux. Esta es la parte del sistema que en realidad se llama "Linux". El núcleo es el núcleo del sistema. Administra su CPU, memoria y dispositivos de entrada / salida como teclado, mouse y pantallas. Como el kernel se dirige directamente al hardware, muchos controladores de hardware forman parte del kernel de Linux y se ejecutan dentro de él..
El resto del software se ejecuta por encima del kernel. El núcleo es la pieza de software de nivel más bajo, que se interconecta con el hardware. Proporciona una capa de abstracción sobre el hardware, que se ocupa de todas las peculiaridades del hardware para que el resto del sistema se preocupe por ellos lo menos posible. Windows usa el kernel de Windows NT y Linux usa el kernel de Linux.
Demonios
Los demonios son esencialmente procesos de fondo. A menudo comienzan como parte del proceso de arranque, por lo que son una de las siguientes cosas que se cargan después del kernel y antes de que vea su pantalla de inicio de sesión gráfica. Windows se refiere a procesos como "servicios", mientras que los sistemas similares a UNIX se refieren a ellos como "demonios".
Por ejemplo, crond, que administra las tareas programadas, es un demonio; la d al final significa "daemon". Syslogd es otro demonio que tradicionalmente administra el registro del sistema. Los servidores, como el servidor sshd, se ejecutan como demonios en segundo plano. Esto asegura que siempre estén corriendo y escuchando conexiones remotas.
Los demonios son esencialmente procesos en segundo plano, pero son procesos a nivel de sistema que generalmente no se notan.
La cáscara
La mayoría de los sistemas Linux usan el shell Bash por defecto. Un shell proporciona una interfaz de procesador de comandos, que le permite controlar su computadora al escribir comandos en una interfaz de texto. Los shells también pueden ejecutar scripts de shell, que son una colección de comandos y operaciones que se ejecutan en el orden especificado en el script..
Incluso si solo está utilizando un escritorio gráfico, los shells se ejecutan y se utilizan en segundo plano. Cuando abre una ventana de terminal, ve un indicador de shell.
Shell Utilities
El shell proporciona algunos comandos básicos integrados, pero la mayoría de los comandos de shell que utilizan los usuarios de Linux no están integrados en el shell. Por ejemplo, los comandos tan importantes como el comando cp para copiar un archivo, el comando ls para listar archivos en un directorio y el comando rm para eliminar archivos forman parte del paquete GNU Core Utilities.
Los sistemas Linux no funcionarían sin estas utilidades críticas. De hecho, el propio shell Bash es parte del proyecto GNU. Es por eso que ha habido controversia sobre si Linux debería realmente llamarse "Linux" o "GNU / Linux". Los críticos del nombre de "Linux" señalan correctamente que mucho más software va a los sistemas Linux típicos, lo que a menudo no se reconoce. Los críticos del nombre "GNU / Linux" señalan correctamente que un sistema Linux típico también incluye otro software crítico que el nombre "GNU / Linux" no abarca.
No todas las utilidades de shell y los programas de línea de comando están desarrollados por el proyecto GNU. Algunos comandos y programas terminales tienen cada uno su propio proyecto dedicado a ellos..
Servidor gráfico X.org
La parte gráfica de escritorio de Linux no es parte del kernel de Linux. Es proporcionado por un tipo de paquete conocido como "servidor X", ya que implementa el "sistema de ventanas X" que se originó hace muchos años..
Actualmente, el servidor X o servidor gráfico más popular es X.org. Cuando ves que aparece una ventana de inicio de sesión gráfica o un escritorio, eso es X.org haciendo su magia. Todo el sistema gráfico lo ejecuta X.org, que se interconecta con su tarjeta de video, monitor, mouse y otros dispositivos.
X.org no proporciona el entorno de escritorio completo, solo un sistema gráfico que los entornos de escritorio y los kits de herramientas pueden construir sobre.
Entorno de escritorio
Lo que realmente estás usando en un escritorio de Linux es un entorno de escritorio. Por ejemplo, Ubuntu incluye el entorno de escritorio de Unity, Fedora incluye GNOME, Kubuntu incluye KDE y Mint generalmente incluye Cinnamon o MATE. Estos entornos de escritorio proporcionan todo lo que ve: el fondo del escritorio, los paneles, las barras de título de las ventanas y los bordes.
Por lo general, también incluyen sus propias utilidades diseñadas para adaptarse al entorno de escritorio en general. Por ejemplo, GNOME y Unity incluyen el administrador de archivos Nautilus desarrollado como parte de GNOME, mientras que KDE incluye el administrador de archivos Dolphin desarrollado como parte del proyecto KDE.
Programas de escritorio
No todos los programas de escritorio forman parte de un entorno de escritorio. Por ejemplo, Firefox y Chrome son agnósticos del entorno de escritorio. Solo son programas que pueden ejecutarse normalmente sobre cualquier entorno de escritorio. OpenOffice.org es otro conjunto de programas que no está vinculado a un entorno de escritorio particular, tampoco.
Puede ejecutar cualquier programa de escritorio de Linux en cualquier entorno de escritorio, pero los diseñados para ciertos entornos de escritorio pueden verse fuera de lugar o arrastrarse en otros procesos. Por ejemplo, si intentara ejecutar el administrador de archivos Nautilus de GNOME en KDE, parecería fuera de lugar, requeriría que instale una variedad de bibliotecas de GNOME y probablemente inicie los procesos del escritorio de GNOME en segundo plano cuando lo abra. Pero correría y sería utilizable..
Las distribuciones de Linux realizan los últimos pasos. Toman todo este software, lo combinan para que funcionen bien juntos y agregan sus propias utilidades necesarias. Por ejemplo, las distribuciones crean sus propios instaladores de sistemas operativos para que pueda instalar Linux, así como administradores de paquetes para instalar software adicional y mantener actualizado el software instalado..
Crédito de la imagen: tao mai en Flickr.