En el mundo de las computadoras , un núcleo es un programa central que gestiona los recursos de una computadora para el sistema operativo . Los recursos administrados incluyen los procesos (programas en ejecución) , la memoria , la CPU y los dispositivos de hardware . El kernel de Linux ofrece la gestión de recursos para el sistema operativo Linux. Se trata de un núcleo monolítico que soporta más hardware que cualquier otro sistema operativo en la historia , de acuerdo con Greg Kroah - Hartman , uno de los desarrolladores del kernel de Linux. Open Source
El kernel Linux está compuesto por más de cuatro millones de líneas de código, por lo que es uno de los mayores proyectos de código abierto . La base de código completo puede ser visto y modificado por cualquier persona. Con un gran número de desarrolladores de ver el código fuente , los problemas de seguridad se pueden observar y corregir rápidamente. También permite a los desarrolladores escribir el código necesario para soportar nuevo hardware y para adaptarla a los cambios tecnológicos y condiciones.
Monolítico con soporte para módulos cargables dinámicamente
Linux kernel es monolítico - todos los servicios básicos son equiparados en el kernel. Un núcleo monolítico proporciona acceso directo al hardware. No hay cola para el tiempo de procesador . Los procesos pueden comunicarse entre sí . Hardware soportado funciona de forma automática , sin necesidad de software adicional.
El kernel Linux también soporta módulos cargables dinámicamente . Sólo los módulos necesarios se cargan durante el proceso de arranque. Los usuarios pueden cargar módulos adicionales cuando se necesitan , sin tener que reiniciar el sistema operativo.
Verdadera multitarea
El kernel Linux está diseñado para soportar múltiples usuarios que ejecutan varios procesos (programas ) de forma simultánea . Cada proceso en ejecución tiene su propio espacio de direcciones virtual. Los espacios de direcciones están completamente separados el uno del otro . Esto mantiene un proceso fallido de causar todo el sistema falle. El núcleo asigna los recursos del sistema para cada proceso individual .
Soporte para hardware y sistemas de archivos
soporta Linux se puede ejecutar en diferentes arquitecturas de computadores , incluyendo ARM , PA- RISC , IBM , Intel , x86 y SPARC . También es compatible con un gran número de periféricos tales como dispositivos USB , unidades de CD /DVD , cámaras web e impresoras, todo ello sin necesidad de controladores adicionales. El kernel reconoce la arquitectura y las enchufado periféricos durante el proceso de arranque y carga el software apropiado para ejecutarlas.
Linux soporta varios sistemas de archivos , incluyendo el Ext3 , ReiserFS , HPFS , MS -DOS , NFS y sistemas de archivos SysV . Los sistemas de archivos de Linux más utilizados son Ext3 y Ext4 . Usted puede optar por utilizar otro tipo, como ReiserFS . Linux es compatible con MS -DOS y NFS para leer ventanas y unidades de red .