Kernel o núcleo

3
Universidad Peruana de Ciencias e Informatica By Chamo Kernel o núcleo En informática, un núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es un software que constituye una parte fundamental del sistema operativo, y se define como la parte que se ejecuta en modo privilegiado (conocido también como modo núcleo). Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador. El kernel forma parte del sistema operativo, para ser más claros es el núcleo, la parte más importante. Cuando arrancas un ordenador con cualquier sistema operativo, el Kernel se carga en memoria y permanece allí hasta que apagas el equipo, realizando funciones básicas como pueden ser: - Comunicación entre procesos - Control de periféricos - Manejo de memoria - Control de interrupciones Generalidades En informática, los ordenadores son el núcleo del programa informático que se asegura de: La comunicación entre los programas que solicitan recursos y el hardware. Gestión de los distintos programas informáticos (tareas) de una máquina. Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.) La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo. La existencia de un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el programa informático, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de la memoria.

Transcript of Kernel o núcleo

Universidad Peruana de Ciencias e Informatica

By Chamo

Kernel o núcleo

En informática, un núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es

un software que constituye una parte fundamental del sistema operativo, y se define como

la parte que se ejecuta en modo privilegiado (conocido también como modo núcleo).

Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de

servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es

limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de

hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al

hardware directamente puede ser realmente complejo, por lo que los núcleos suelen

implementar una serie de abstracciones del hardware. Esto permite esconder la

complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que

facilita su uso al programador.

El kernel forma parte del sistema operativo, para ser más claros es el núcleo, la parte

más importante.

Cuando arrancas un ordenador con cualquier sistema operativo, el Kernel se carga en

memoria y permanece allí hasta que apagas el equipo, realizando funciones básicas

como pueden ser:

- Comunicación entre procesos

- Control de periféricos

- Manejo de memoria

- Control de interrupciones

Generalidades

En informática, los ordenadores son el núcleo del programa informático que se asegura de:

La comunicación entre los programas que solicitan recursos y el hardware.

Gestión de los distintos programas informáticos (tareas) de una máquina.

Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento,

etc.)

La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo. La

existencia de un núcleo, es decir, de un único programa responsable de la comunicación

entre el hardware y el programa informático, resulta de compromisos complejos referentes

a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene

grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de

la memoria.

Universidad Peruana de Ciencias e Informatica

By Chamo

Funciones generalmente ejercidas por un núcleo

Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los

procesos, las entradas/salidas y proponer una interfaz entre el espacio núcleo y los

programas del espacio del usuario.

Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes

(incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios)

necesariamente no son proporcionados por un núcleo de sistema de explotación. Pueden

establecerse estas funciones del sistema de explotación tanto en el espacio usuario como

en el propio núcleo. Su implantación en el núcleo se hace con el único objetivo de mejorar

los resultados. En efecto, según la concepción del núcleo, la misma función llamada desde

el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta

llamada de funciónes es frecuente, puede resultar útil integrar estas funciones al núcleo para

mejorar los resultados.

Recompilando el Kernel de Kali Linux En ocasiones, es posible que desee agregar algunos controladores, parches, o

características del núcleo que no están incluidas en el stock de Kali Linux Kernel. La

siguiente guía describirá como el kernel de Kali Linux puede ser rápidamente

modificado y recompilado para sus necesidades. Tenga en cuenta que los parches

de inyección inalámbricos globales ya están presentes por defecto en el kernel de

Kali.

Instalando las dependencias de la estructura

Comience instalando todas las dependencias de la estructura para recompilar su

kernel.

apt-get install kernel-package ncurses-dev fakeroot bzip2

Bajando el código fuente del Kernel de Kali Linux

Baje y extraiga el fuente del kernel de Kali Linux .

apt-get install linux-source

cd /usr/src/

tar jxpf linux-source-3.7.tar.bz2

cd linux-source-3.7/

Universidad Peruana de Ciencias e Informatica

By Chamo

Configure su kernel

Sobreescriba el archivo predeterminado de configuración .config del kernel de kali,

y modifique este de acuerdo a sus necesidades. Esta es la etapa donde usted

debería aplicar varios parches, etc. En este ejemplo, nosotros re-compilamos un

kernel de 64 bit.

cp /boot/config-3.7-trunk-amd64 .config

make menuconfig

Construyendo el kernel

Compile su imagen modificada del kernel. Dependiendo de su hardware, esto podría

llevarle un tiempo.

CONCURRENCY_LEVEL=$(cat /proc/cpuinfo|grep processor|wc -l)

make-kpkg clean

fakeroot make-kpkg kernel_image

Instalando el kernel

Una vez compilado exitosamente el kernel, continúe instalando el nuevo y reinicie.

Por favor, note que el número de la versión del kernel podría cambiar – en nuestro

ejemplo, este era 3.7.2. Dependiendo de la versión del actual kernel, podrías

necesitar ajustarlo acordemente.

dpkg -i ../linux-image-3.7.2_3.7.2-10.00.Custom_amd64.deb

update-initramfs -c -k 3.7.2

update-grub2

reboot

Una vez reiniciado, tu nuevo kernel debería estar corriendo. Si las cosas van mal, y

tu kernel no reinicia, aún puedes iniciar del original stock del kernel de Kali, y arreglar

tus problemas.