Está en la página 1de 5

NÚCLEO (KERNEL)

El núcleo o kernel de Linux, es el corazón del sistema. Se encarga de arrancar el


sistema y una vez éste listo, se encarga de gestionar la memoria, sistemas de
archivos, entradas/salidas, procesos e intercomunicación entre procesos. Su origen
se remonta a 1991 cuando en agosto el estudiante finlandés llamado Linus Torvalds
anunció en una lista de news que había creado su propio núcleo de sistema operativo
que funcionaba conjuntamente con software de la GNU y lo ofrecía a la comunidad de
desarrolladores para que ésta lo probara y sugiriera mejoras para una mejor
utilización. Así se constituyó en el origen del kernel que más tarde se llamaría LINUX.

Los principales colaboradores del kernel de Linux han sido:

• David Weinehall
• Alan Cox
• Marcelo Tosatti
• Linus Torvalds
• Andrew Morton

La siguiente tabla muestra la evolución del kernel Linux:

Versión Fecha Lineas ´codilgo Nro Peso Megas


publicación (miles) archivos (empaquetado)
0.01 Septiembre-1991 7.5 88
1.00 Marzo-1994 158 561
1.20 Marzo-1995 277 909
2.00 Julio-1996 649 4599
2.20 Enero-1999 1536 4721
2.40 Enero-2001 2888 8187
2.50 Noviembre-2001 3833 9893
2.60 Septiembre-2003 4200 15007
2.62 Marzo-2009 53.9
2.63 Octubre-2009 58.6
3.11 Septiembre-2013 71.6
4.04 Mayo-2015 78.5
4.8.2 Octubre-16-2016 87.7
4.10.12 Abril-21-2017 89.9
4.13.12 Nov-8-2017 95.9
5.6.13 Mayo 14 -2020 107
5.14.15 Octubre 27-2021 115
5.17.8 Mayo 15-2022 122
6.0.5 Octubre 26-2022 128
6.2.12 Abril 20-2023 130
Características técnicas del kernel Linux

• Monolítico. Conceptualmente dividido en varios componentes lógicos.


• Tiene soporte para carga/descarga de porciones del kernel bajo demanda.
Estas porciones se llaman módulos.
• Threads de kernel. Para el funcionamiento interno se usan hilos (threads) que
puden estar asociadas a un programa de usuario o bien a una funcionalidad
interna del kernel.
• Soporte de aplicaciones multithread.
• Soporte para multiprocesador (multiprocesamiento simétrico). (Hasta 64 CPU).
• Sistemas de archivos, se basa en una abstracción de un sistema virtual (VFS,
Virtual File System) que permite soportar una gran cantidad de sistemas de
archivos: ext2, ext3,ext4, msdos, vfat, reiser JFS, XFS, NTFS, iso9600, etc.
• Software libre (http://www.kernel.org)
• Personalizable. La licencia GPL, nos permite leer y modificar el código fuente
del kernel.
• Potente.
• Estable
• Multiusuario.
• Multiplataforma.
• Sistema operativo tipo NOS (Net operating system)
• Soportado por una gran comunidad de desarrolladores en todo el mundo.

Personalizar o actualizar el kernel

Hay dos formas de actualizar el kernel binario de la distribución o bien


personalizarlo a partir de las fuentes.

1. Actualizar el kernel a partir de la distribución, bajándola e instalando una


nueva versión de la distribución con un nuevo kernel.
2. Personalizar y actualizar el kernel bajando los fuentes del kernel de la red
personalizándolo manualmente y posteriormente compilándolo e instalando
el nuevo kernel compilado

Configuración, compilación e instalación del kernel Linux

Obtener el kernel fuente de: http://www.kernel.org o de cualquier servidor mirror.

Desempaquetar el kernel.

Configurar el kernel. Existen varios métodos:

make config. El más recomendado. Hace un centenar de preguntas donde


respondemos Y/N (Si/No) a la mayoría de ellas.

make oldconfig. Sirve por si queremos reutilizar una configuración ya usada.

make menuconfig. Configuración basada en menus textuales.

make xconfig. La más cómoda basada en diálogos gráficos en x Windows. Es


necesario tener instaladas las bibliotecas Dt/tk

Una vez configurado hay que guardar el archivo de configuración (.config)

Compilación del kernel

• make dep
• make vZImage =➔ vmIinuz-5.15
• make modules

Hasta el momento hemos hecho la configuración y compilación del kernel. Ahora


necesitamos a realizar la instalación:

make modules_install

Ahora hay que buscar en donde quedaron los siguientes archivos para trasladarlos al
directorio /boot

Vmlinuz-x.x.xx-xx
System.map-x.x.xx-xx

init.d-x.x.xx-xx

Donde vmlinuz-x.x.xx-xx es el nuevo kernel configurado y compilado

System.map-x.x.xx-xx contiene dependencias y variables del kernel.

Se recomienda conservar el anterior kernel por si ocurre cualquier falla con el nuevo
kernel.

Otra forma de actualizar el kernel de Ubuntu

uname -sr o uname -a o uname -r ➔ visualizar la versión del kernel actual

Ir a la plataforma de Ubuntu:

https:/kernel.ubuntu.com/ (hiperflujo)kernel-ppa/

• busco el registro o línea mainppal


• Busco la actualización que corresponda a la arquitectura de la máquina (AMD64- procesador
64 bits)
• Hago click en los tres (3) link que dicen generic
• Hago click en otro link que dice all
• Automaticamente se descargan los paquetes
• Luego los instalo: dpkg -i Linux*.deb
• Reinicio la máquina y ya queda actualizado el kernel

Para compilar un kernel:

https://www.youtube.com/watch?v=YNo9ereeao4

El kernel es capaz de cargar dinámicamente porciones de código (módulos) bajo


demanda para complementar su funcionalidad. Por ejemplo los módulos pueden
añadir soporte para un sistema de ficheros o para dispositivos hardware específicos.
Cuando la funcionalidad proporcionada por el módulo no es necesaria, el módulo
puede ser descargado, liberando memoria.

Las principales instrucciones que nos permiten manejar módulos son las siguientes:

lsmod: Visualizar módulos cargados en el kernel.

modprobe: Cargar un módulo sin importar el sitio donde esté ubicado

insmod: Cargar un módulo

depmod: analiza dependencias entre módulos y crea un archivo de dependencias.

rmmod: saca un módulo del kernel.

modinfo: información asociadas al módulo

Segundo informe proyecto de aula

• Archivos
• Procesos
• E/S
• Memoria
• Red

También podría gustarte