Está en la página 1de 16

kernel de Linux

Semestre 2012-I

Prof. Ing. Alejandro Llanos Garca

5/17/2012

Introduccin al kernel de Linux

Desarrollado por Linus Torvalds en 1991


Cdigo fuente disponible bajo los trminos de propiedad
intelectual GPL (General Public License).

Si uno modifica o publica un programa protegido por GPL, esta


en la obligacin de publicar tambien el cdigo fuente.

Prof. Ing. Alejandro Llanos Garca

El kernel de GNU/LINUX

El kernel Linux tiene un diseo monoltico, es decir,


es una sola pieza de software que acta como el
corazn del sistema operativo.
Sin embargo, con el paso de los aos, ha adquirido un
toque modular, y hoy en da se pueden inyectar
caractersticas al kernel en tiempo de ejecucin a
travs de los llamados mdulos, que vienen a ser el
equivalente a los drivers de MS WINDOWS.

Introduccin al kernel de Linux


Los comandos de usuario
incluyen programas
ejecutables.
La Shell interpreta los comandos
del usuario. Es responsable de
encontrar los comandos y
comenzar su ejecucin.

El kernel administra los recursos


del hardware para el resto del
sistema.
Prof. Ing. Alejandro Llanos Garca

El kernel de GNU/LINUX
Las funciones ms importantes del kernel, aunque no
las nicas, son:
Administracin de la memoria para todos los
programas y procesos en ejecucin.
Administracin del tiempo de procesador que
los programas y procesos en ejecucin utilizan.
Es el encargado de que podamos acceder al
hardware del computador de una manera
cmoda.

Versiones del kernel en Linux

Existen dos ramas

Nomenclatura de los kernels

Rama estable
Rama de desarrollo incorporacin de nuevas caractersticas
Linux-n_mayor.n_menor.n_revision.tar.gz

Numero menor

Par versin estable


Impar desarrollo

Prof. Ing. Alejandro Llanos Garca

Versiones del kernel de Linux

Nmero de versin menor


Si es versin de desarrollo el nmero es impar
Si es versin estable el nmero es par

Nmero de mantenimiento de versin

2.6.11.7

2.5.11

Nmero de versin menor

Nmero de versin mayor

Si es versin de desarrollo el nmero es impar


Si es versin estable el nmero es par

Nmero de release (publicacin)


Prof. Ing. Alejandro Llanos Garca

ESTRUCTURA BSICA DE
GNU/LINUX

Alejandro Jos Llanos Garca


2011

Noviembre-

Versiones del kernel en Linux


Versin

Caractersticas

Fecha

0.01

Primera aparicin, solo para i386

Mayo 1991

1.0

Soporte TCP/IP, swapping sistema con intercambio

Marzo 1994

1.2

Mayor soporte de hardware, DOSEMU

Marzo 1995

2.0

Mayor soporte a sistemas de archivos, page cache y


threads

Junio 1996

2.2

Mejor filtrado de paquetes, mayor performance SMP, NTFS

Enero 1999

2.4

IPTables, ext3, reiser.

Enero 2001

2.6

BIO, kernel con prioridades, scheduler, I/O scheduler,


soporte para threads POSIX nativo

Diciembre
2003

Prof. Ing. Alejandro Llanos Garca

Porque compilar el kernel

Razones para compilar el kernel

Poder manejar nuevos dispositivos


Solucionar problemas de seguridad
Optimizacin del rendimiento
Reduccin de tamao (mdulos)
Probar nuevas funcionalidades (versiones de desarrollo)

Prof. Ing. Alejandro Llanos Garca

Recompilacin de kernel

Obtener el cdigo fuente


Descomprimir en /usr/src/linux
Configurar las opciones de compilacion

Make config -> Configuracion interactiva


Make menuconfig -> seleccin por menus
Make xconfig -> interfaz X Window
Make oldconfig -> usa un archivo de configuracin anterior

Prof. Ing. Alejandro Llanos Garca

Los mdulos de kernel

Las versiones modernas del kernel permiten usar


mdulos
Los mdulos

No esta continuamente en memoria


Se cargan cuando se necesitan
Se eliminan de memoria despus
Ofrecen mayor flexibilidad

Prof. Ing. Alejandro Llanos Garca

Los conceptos de procesos

Linux es un sistema multi-usuario, permitiendo que


los casos mltiples de programas sean ejecutados en
el mismo tiempo.

Procesos

Un programa en ejecucin
Un proceso en Linux esta identificado por nmero identificador,
(Process ID o PID)

Prof. Ing. Alejandro Llanos Garca

Estructura de archivos Linux

Prof. Ing. Alejandro Llanos Garca

Estructura de archivos Linux

/bin: Ejecutables bsicos del SO. Incluye los mandatos tipo ls, cp, ... En algunos

/dev: Ficheros especiales asociados a dispositivos. LINUX proyecta los dispositivos

/etc: Configuracin del sistema. Ficheros de configuracin de servicios, arranque,

/home: Directorio de cuentas de usuarios. Cada usuario poseer un directorio aqu.

/lib: Libreras bsicas del sistema. Libreras del Kernel o comunes a muchos

/mnt: Directorio de montaje de ciertos sistemas de ficheros. Por lo general vaco o

/opt: Aplicaciones adicionales del sistema. En principio todo aquello que se instale

LINUX aqu estn los mandatos enlazados estticamente.


como ficheros de este directorio (interfaz comn).
etc.

Puedes tener divididos a varios niveles (por organizacin).

ejecutables.

con un nivel de directorio. Se utiliza para montar otros dispositivos.


fuera del SO estndar.

Estructura de archivos Linux

/proc: Sistema de ficheros virtual para la gestin de recursos. El kernel


presenta en este directorio informacin del sistema.

/sbin: Ejecutables de administracin del SO. Subconjunto de mandatos con

/tmp: Directorio para ficheros temporales. Ficheros auxiliares de aplicaciones.

/usr: Aplicaciones adicionales del SO. Este directorio contiene los mandatos que no

/usr/local: Programas locales del sistema. Anlogo al /opt (a veces un enlace

/var: Directorio para ficheros de log y colas de trabajos. Lo usa el sistema para

privilegios.

Todos los usuarios puedes escribir en este directorio.

son bsicos (ls, cp, etc.) pero que se distribuyen con la instalacin del fabricante.
simblico).

guardar el registro de operaciones (accesos, errores y otros mensajes), as como


colas de determinados servicios (correo o impresora).
Prof. Ing. Alejandro Llanos Garca

También podría gustarte