0% encontró este documento útil (0 votos)
82 vistas18 páginas

Kernel Linux

El documento resume las funciones del sistema operativo y del núcleo Linux, describe los diferentes niveles de seguridad, tipos de núcleos, principales arquitecturas compatibles, y sistemas operativos. También explica brevemente la historia de Unix y la competencia entre sistemas operativos móviles.

Cargado por

jcromeroch
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas18 páginas

Kernel Linux

El documento resume las funciones del sistema operativo y del núcleo Linux, describe los diferentes niveles de seguridad, tipos de núcleos, principales arquitecturas compatibles, y sistemas operativos. También explica brevemente la historia de Unix y la competencia entre sistemas operativos móviles.

Cargado por

jcromeroch
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

Unidad 3: El kérnel linux

Alberto Molina Coballes

27 de septiembre de 2009
Introducción

• Funciones del sistema operativo


• Funciones del kérnel
• Niveles de seguridad
• Tipos de kérnel
• Principales arquitecturas CPU y ports
• Principales sistemas operativos
• Historia de UNIX
• La lucha de los sistemas integrados

2 de 18
Funciones del sistema operativo

• Un sistema operativo es una


interfaz entre el hardware y el
usuario y se encarga de
gestionar y compartir los
recursos.
• Las principales funciones del
sistema operativo son:
◦ Gestión de los recursos de la
computadora
◦ Ejecución de servicios para las
aplicaciones
◦ Ejecución de las órdenes de los
usuarios

3 de 18
Funciones del kérnel

• El kérnel (núcleo) es la parte fundamental del sistema operativo y


se encarga de manejar los recursos y permitir que los programas
hagan uso de los mismos, siendo los principales recursos:
◦ CPU
◦ Memoria
◦ Dispositivos de Entrada/salida
• Además el kérnel es el encargado proporcionar:
◦ Protección mediante diferentes niveles de acceso
◦ Acceso compartido (multiplexado) a los recursos

4 de 18
Niveles de seguridad

• Algunas CPU incluyen diferentes


niveles de acceso, que se conocen
como anillos (rings).
• Los diferentes kérnel suelen utilizar al
menos dos niveles para acceder tanto a
la CPU como a la memoria:
◦ kernel mode.
◦ user mode
• KML: kernel mode linux
• FUSE: Filesystem in User Space (sshfs, ntfs-3g, ...)
• CUSE: Character devices in User Space

5 de 18
Tipos de kérnel

Fuente: http://upload.wikimedia.org/wikipedia/commons/d/d0/OS-structure2.svg

6 de 18
Principales arquitecturas CPU/ports

Microsoft Apple Linux Symbian FreeBSD


x86 3 3 3 7 3
alpha 7 7 3 7 3
arm 3* 3* 3 3 3
ia64 3 7 3 7 3
m68k 7 3* 3 7 7
mips ? 7 3 7 3
parisc 7 7 3 7 7
sparc 7 7 3 7 7
sparc64 7 7 3 7 3
powerpc 7 3 3 7 3
x86 64 3 3 3 7 3

7 de 18
Principales sistemas operativos

Nombre Creador Basado en Licencia


AIX IBM System-V Privativa
FreeBSD Comunidad 386BSD BSD
HP-UX HP Unix Privativa
GNU/Linux Comunidad Unix GPL
Mac OS Apple Privativa*
NetBSD Comunidad 386BSD BSD
OpenSolaris Sun Solaris CDDL
Windows server Microsoft Privativa
Windows Microsoft Privativa
ReactOS Comunidad Windows NT GPL
z/OS IBM OS/390 Privativa
Fuente: http://en.wikipedia.org/wiki/Comparison_of_operating_systems
8 de 18
Historia de UNIX

Fuente: http://upload.wikimedia.org/wikipedia/commons/5/50/Unix_history-simple.png
9 de 18
La lucha de los sistemas integrados

• Microprocesadores
• Sistemas operativos
◦ ARM
◦ MIPS ◦ Blackberry
◦ Intel ◦ Symbian
◦ ... ◦ Windows Mobile, Windows 7?
◦ iPhone OS
• Dispositivos
◦ Android
◦ mobile phone ◦ LiMo
◦ PDA ◦ Maemo
◦ smartphone ◦ OpenMoko
◦ smartbook ◦ Palm webOS
◦ netbook ◦ ...
◦ ...

10 de 18
El kérnel linux

• Caracterı́sticas principales
• Caracterı́sticas de la compilación
• Carga del sistema
• Manejo de módulos
• Compilación de módulos
• Compilación del kérnel

11 de 18
Caracterı́sticas principales

• Kérnel del sistema GNU/Linux, licenciado bajo la GNU GPL


• Desarrollo colaborativo de miles de personas
• Monolı́tico
• LKM: Loadable kernel module
• Última versión estable: 2.6.31.1 (24/9/2009)
• Soporte para virtualización
• Portado a gran cantidad de arquitecturas, desde pequeños
dispositivos a grandes supercomputadoras.

12 de 18
Caracterı́sticas de la compilación
• El código fuente de rama oficial del núcleo ocupa actualmente
404MiB !!!
• Los componentes del kérnel se compilan de dos formas:
◦ Se incluyen dentro de un fichero ejecutable enlazado estáticamente y
que habitualmente se denomina vmlinuz o zImage
◦ Se compilan individualmente en ficheros objetos con extensión .ko que
se cargan en memoria a demanda (están ubicados en /lib/modules)
• Soluciones para hardware no detectado en el arranque:
◦ Se aumenta el tamaño del fichero ejecutable (bzImage o big zImage)
◦ Se montan temporalmente algunos módulos en memoria (initramfs)
• Distribuciones de uso general en sistemas x86:
◦ Enorme variedad de hardware
◦ Se incluyen gran cantidad de módulos
• Es posible compilar un kérnel para un hardware determinado y
reducir mucho su tamaño.
13 de 18
Carga del sistema - I
• Se inicia el sistema cargando la BIOS
• Se realiza la secuencia POST (Power-On Self-Test)
• Se lee el MBR del disco duro donde está la información de las
particiones del disco y el gestor de arranque (normalmente GRUB).
• Se carga en memoria el fichero ejecutable comprimido vmlinuz-. . .
• Se monta el initramfs (fichero initrd-. . . ) ← opcional
• Se comprueba la memoria, tipo de placa y CPU(s)
• Se activa el sistema Plug and Play
• Se inicializan los dispositivos virtuales (LVM y RAID)
• Se libera la memoria ocupada por el initramfs
• Se ejecuta el proceso init con PID=1
• Se ejecutan los scripts de /etc/rcS.d ← depende de la distro
Principales pasos en el arranque de un sistema GNU/Linux instalado en un disco duro de un equipo x86
14 de 18
Carga del sistema - II
• Se establece el nombre del equipo (hostname)
• Se monta VFS
• Se inicia udevd, que puebla /dev y carga los módulos necesarios
• Se chequea el sistema de ficheros raı́z
• Se procesa el fichero /etc/modules
• Se chequean todos los sistemas de ficheros
• Se cargan los parámetros del kérnel especificados en
/etc/sysctl.conf
• Se montan todos los sistemas de ficheros
• Se limpian los ficheros temporales /tmp, /var/run y /var/lock
• Se levantan las interfaces de red
• Se ejecutan en orden los scripts del resto de niveles de ejecución
15 de 18
Manejo de módulos

La mayorı́a de los módulos se cargan automáticamente cuando es


necesario, pero es posible cargarlos o descargarlos manualmente:

• lsmod: Lista los módulos cargados


• modprobe <módulo>: Carga el módulo en memoria
• modprobe -r <módulo>: Descarga el módulo de la memoria
• modprobe -l: Muestra la lista de módulos disponibles
• modinfo <módulo>: Muestra la información del módulo
• depmod: Actualiza las dependencias de los módulos

16 de 18
Compilación de módulos (Debian)

En algunas ocasiones es necesario compilar un módulo, normalmente


algún controlador de dispositivo que no se encuentra soportado en la
rama oficial del kérnel.
• Instalamos los paquetes necesarios para compilar:
# aptitude install build-essential
• Instalamos los ficheros de cabeceras del kérnel actual:
# aptitude install linux-headers-‘uname -r‘
• Si existe un paquete Debian con el módulo sin compilar
(ndiswrapper, fuse, madwifi, . . . ) ⇒ Utilizar module-assistant
• En el resto de casos, se descomprime el paquete que incluye los
ficheros fuentes del módulo en /usr/src y se siguen las
instrucciones del fichero README que debe incluir.
17 de 18
Compilación del kérnel (Debian)

Es poco habitual tener que compilar un núcleo completo, puede ser


necesario cuando se utiliza hardware muy peculiar o como en este
caso simplemente con fines educativos.

En el siguiente enlace se explica de forma detallada una forma de


hacerlo en Debian Lenny:

http://informatica.gonzalonazareno.org/plataforma/mod/
resource/view.php?id=678

18 de 18

También podría gustarte