¿Cómo funciona el núcleo de Linux?

Linus Torvalds desarrolló el kernel de Linux con C y Assembly, por lo que pudo crear un kernel liviano y portátil que se lanzó al público como código abierto.

Puedes ver el kernel de Linux en varios campos como el espacio, las computadoras, los relojes inteligentes, los teléfonos móviles, la robótica y la salud, pero ¿alguna vez te has preguntado cómo funciona el kernel de Linux?

Uso de hardware Linux

En primer lugar, el kernel de Linux controla qué hardware ejecutar y de qué manera cuando enciende su computadora. Además, el control de software avanzado es posible gracias a la interfaz de programación. Para dar ejemplos de estos controles, puede ver información sobre el hardware instalado en las ranuras de su placa base y aprovechar esta información.

Además, esta API proporciona una capa de abstracción. Por ejemplo, si desea chatear por video con amigos, necesitará una cámara web. La capa de abstracción permite que el software que utiliza use esta cámara web, independientemente del fabricante y el modelo. El software aquí solo puede usar interfaces que existen para Linux. El kernel de Linux traduce las llamadas de función de esta interfaz en comandos de hardware reales, de ahí la cámara web. necesidades.

Usando los sistemas de archivos virtuales /proc y /sys, el kernel de Linux puede generar información detallada sobre el hardware que detecta. A continuación, puede ver algunas de las herramientas utilizadas para hacer esto, y qué dispositivos y tarjetas generan:

  1. lspci: para dispositivos PCI
  2. lsusb: para dispositivos USB
  3. lspcmcia: Para tarjeta PCMCIA

Foto 1 de ¿Cómo funciona el kernel de Linux?

Como puede ver, la distribución de Linux en la captura de pantalla anterior se ejecuta en VirtualBox, sin embargo, tiene la oportunidad de ver mucha información, como el controlador VGA, el USB, el puente y el controlador SATA.

También puede usar el parámetro -v para obtener información más detallada.

Foto 2 de ¿Cómo funciona el kernel de Linux?

En el kernel de Linux, las aplicaciones normalmente acceden al dispositivo a través de archivos especiales que existen en el directorio /dev. Estos archivos especiales representan discos y otros dispositivos físicos. Archivos como /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 y dev/snd/* son ejemplos de estos archivos especiales.

Foto 3 de ¿Cómo funciona el kernel de Linux?

Gestión del sistema de archivos de Linux

El sistema de archivos es uno de los componentes más destacados del kernel de Linux. El sistema de archivos de Linux es una de sus mayores ventajas. Todos los archivos en un sistema Linux se recopilan en una rama. Por lo tanto, los usuarios pueden usar esta jerarquía para llegar a donde quieren ir.

El punto de partida de esta jerarquía es el directorio raíz (/). Los otros subdirectorios están bajo el directorio principal. El subdirectorio más utilizado en / es el directorio /home. Este subdirectorio contiene otros subdirectorios y cada directorio contiene los archivos de almacenamiento de datos reales.

Por ejemplo, puede considerar un archivo de texto en el escritorio. Si crea un archivo de texto llamado helloworld.txt en su escritorio, puede llamarlo /home/muo/Desktop/helloworld.txt. El ejemplo de /muo aquí variará según el caso. Porque el nombre de esta subcarpeta depende de su nombre de usuario actual. Con este sistema de nombres, el kernel de Linux cambia entre el almacenamiento real y el almacenamiento físico que existe en el dispositivo.

Además, el kernel de Linux puede integrar datos de múltiples dispositivos. Aquí es donde entra en juego el sistema de montaje. Utiliza una de las unidades en el sistema raíz y monta las otras en directorios existentes en la jerarquía. Las otras unidades se colocan debajo de los puntos de montaje, lo que permite a los usuarios almacenar el directorio /home en un segundo disco duro que también contiene otros subdirectorios.

Cuando monta la unidad en el directorio /home, puede acceder a esos directorios desde ubicaciones normales, por lo que rutas como /home/muo/Desktop/helloworld.txt aún funcionan.

Puede ver los puntos de montaje entre archivos en su sistema con el comando findmnt -A.

Foto 4 de ¿Cómo funciona el kernel de Linux?

Con muchos formatos de sistema de archivos, puede almacenar datos en el dispositivo. Los más conocidos en Linux son los formatos de sistema de archivos ext2, ext3 y ext4. Sin embargo, hay muchos otros formatos de sistemas de archivos. En cualquier caso, debe formatear el sistema de archivos antes de montarlo. Puede usar comandos como mkfs.ext3 (mkfs significa "hacer sistema de archivos" y ext3 es un sistema de archivos) para esto.

Estos comandos aceptan la ruta del archivo del dispositivo que desea formatear como parámetro. Esta es una operación riesgosa y debe usarse con precaución si no desea eliminar o restablecer accidentalmente el sistema de archivos.

Además, existen sistemas de archivos de red como NFS que utiliza el kernel de Linux. NFS es un sistema de archivos de red donde los datos no se almacenan en una unidad local. Con NFS, los datos viajan a través de la red a un servidor que almacena los datos. Dado que los datos residirán en un servidor, el usuario no tiene que procesarlos constantemente, también puede utilizar los tradicionales sistema de archivos jerárquico de Linux como de costumbre.

Funciones comunes

Todo el software en un sistema Linux tiene funciones comunes. Es por eso que estas características son fundamentales para el kernel de Linux. Por ejemplo, cuando abre un archivo, puede abrirlo solo con el nombre del archivo, sin saber dónde está almacenado físicamente el archivo, qué funciones y operaciones usará. Todas estas funciones ya están en el kernel.

Puede almacenar sus archivos en su disco duro, dividir archivos entre varios discos duros o incluso almacenar archivos en un servidor remoto. Las características de comunicación de archivos compartidos son importantes en tales casos. Las aplicaciones intercambian datos independientemente de cómo se muevan los datos. Las funciones de comunicación compartida están ahí para llevar a cabo estos procesos de intercambio de datos, este movimiento puede ser a través de una red inalámbrica o incluso de una línea telefónica fija.

Gestión de procesos Linux

La versión activa de un programa que trabaja con datos o información en la memoria se llama proceso. El trabajo del kernel de Linux es crear y monitorear estas áreas de memoria. El kernel asigna memoria para un programa en ejecución y carga el código ejecutable en la memoria desde el sistema de archivos. Inmediatamente después, el kernel ejecuta el código.

El kernel de Linux admite multitarea. Puede ejecutar múltiples procesos simultáneamente. Sin embargo, solo hay una operación en un período de tiempo determinado. Sin embargo, el kernel de Linux divide el tiempo en partes pequeñas y, como resultado, cada procedimiento se realiza secuencialmente.

Dado que estos pequeños segmentos de tiempo están en incrementos de milisegundos, solo están activos en ciertos momentos e inactivos el resto del tiempo.El trabajo del kernel de Linux aquí es maximizar el rendimiento ejecutando múltiples procesos simultáneamente.

Si el intervalo de tiempo es demasiado largo, es posible que la aplicación en ejecución no responda como espera. Si el intervalo de tiempo es demasiado corto, puede haber problemas con el cambio de tareas. Dependiendo de la prioridad del proceso, el tiempo que tarde aquí variará. Es posible que haya oído hablar de los procesos de alta prioridad y de los procesos de baja prioridad. Esta es una de las funciones que controla el kernel de Linux.

Esta explicación no siempre es correcta. La limitación real es que solo puede haber un proceso de trabajo por núcleo de procesador a la vez. Los sistemas multiprocesador permiten que varios procesos se ejecuten en paralelo. Un sistema host casi siempre tiene docenas de procesos en ejecución.

Permisos en Linux

Al igual que con otros sistemas operativos, puede crear varios usuarios en un sistema Linux. En tales casos, existe un sistema de administración de derechos que admite usuarios individuales y grupales. Aquí es donde entran en juego los permisos de usuario y archivo.

El kernel de Linux gestiona los datos y comprueba los permisos necesarios para cada proceso. Por ejemplo, si intenta abrir un archivo, el kernel debe verificar los permisos del ID del proceso. Si el kernel verifica y encuentra que tiene permisos, abrirá un archivo.

Como puede ver, el kernel de Linux supervisa todo, desde la seguridad de los archivos hasta la creación de usuarios y la descarga de archivos de Internet. Todo está en un cierto orden. Cada usuario tiene permisos. El kernel de Linux gestiona los procesos y los intervalos para obtener el máximo rendimiento.

Además, el sistema de archivos, que es una de las características más importantes que distinguen al kernel de Linux de otros sistemas operativos, es muy importante. Linux no es algo así como un misterio. Por el contrario, todos los archivos y el código fuente están disponibles. Para comprender mejor la naturaleza práctica y poderosa del kernel de Linux, puede echar un vistazo a la jerarquía de directorios de Linux.

Deja una respuesta

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

Subir
error: Content is protected !!