Unidad 3: El kérnel linux

Unidad 3: El k´ernel linux Alberto Molina Coballes 4 de octubre de 2011 Introducci´on • Funciones del sistema operativo • Funciones del k´ ernel •

1 downloads 22 Views 811KB Size

Recommend Stories


Unidad 3: EL IMPERIO CAROLINGIO
leccionesdehistoria.com Unidad 3: EL IMPERIO CAROLINGIO @rosaliarte 1. EL IMPERIO CAROLINGIO 1.1 EL REINO FRANCO: Los Francos fueron una tribu que

UNIDAD DE MUESTRA UNIDAD 3
UNIDAD 2 UNIDAD 3 UNIDAD 4 Escuchar, hablar, leer y escribir Escucha y habla La muerte burlada Lee y escribe Escuchar, hablar, leer y escribir

Story Transcript

Unidad 3: El k´ernel linux

Alberto Molina Coballes

4 de octubre de 2011

Introducci´on • Funciones del sistema operativo • Funciones del k´ ernel • Niveles de seguridad • Tipos de k´ ernel • Principales arquitecturas CPU y ports • Principales sistemas operativos • Historia de UNIX • La lucha de los sistemas integrados • El k´ ernel linux. Caracter´ısticas y compilaci´ on

2 de 19

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´ on de los recursos de la computadora ◦ Ejecuci´ on de servicios para las aplicaciones ◦ Ejecuci´ on de las o´rdenes de los usuarios 3 de 19

Funciones del k´ernel

• El k´ ernel (n´ ucleo) 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´ as el k´ernel es el encargado proporcionar: ◦ Protecci´ on mediante diferentes niveles de acceso ◦ Acceso compartido (multiplexado) a los recursos

4 de 19

Niveles de seguridad • Algunas CPU incluyen diferentes

niveles de acceso, que se conocen como anillos (rings). • Los diferentes k´ ernel 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 19

Tipos de k´ernel

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

6 de 19

Principales arquitecturas CPU/ports

x86 alpha arm ia64 m68k mips parisc sparc sparc64 powerpc x86 64 7 de 19

Win NT 3 7 7 3 7 7 7 7 7 7 3

Darwin 3 7 3 7 7 7 7 7 7 3 3

Linux 3 3 3 3 3 3 3 3 3 3 3

Symbian 3 7 3 7 7 7 7 7 7 7 7

FreeBSD 3 3 3 3 7 3 7 7 3 3 3

Win CE 3 7 3 7 7 3 7 7 7 7 7

Principales sistemas operativos Nombre AIX FreeBSD HP-UX GNU/Linux Mac OS NetBSD OpenSolaris Windows server Windows ReactOS z/OS

Creador IBM Comunidad HP Comunidad Apple Comunidad Sun Microsoft Microsoft Comunidad IBM

Basado en System-V 386BSD Unix Unix 386BSD Solaris

Windows NT OS/390

Fuente: http://en.wikipedia.org/wiki/Comparison_of_operating_systems 8 de 19

Licencia Privativa BSD Privativa GPL Privativa* BSD CDDL Privativa Privativa GPL Privativa

Historia de UNIX

Fuente: http://upload.wikimedia.org/wikipedia/commons/5/50/Unix_history-simple.png 9 de 19

La lucha de los sistemas integrados • Microprocesadores ◦ ARM ◦ MIPS ◦ Intel ◦ ... • Dispositivos ◦ mobile phone ◦ PDA ◦ smartphone ◦ smartbook ◦ netbook ◦ consolas ◦ ... 10 de 19

• Sistemas operativos ◦ Blackberry OS ◦ Symbian ◦ Windows Mobile, Windows 7? ◦ iPhone OS ◦ Android ◦ LiMo ◦ Maemo ◦ Moblin ◦ OpenMoko ◦ Tizen ◦ Palm webOS ◦ ...

Los grandes: servidores, workstations, mainframes, . . . • Microprocesadores ◦ x86 64 ◦ SPARC ◦ m68000 ◦ Alpha ◦ powerpc ◦ HP PA-RISC ◦ ... ◦ z/Architecture • Empresas ◦ HP ◦ Dell ◦ IBM ◦ Fujitsu ◦ ... 11 de 19

• Sistemas operativos ◦ Red Hat Enterprise Linux ◦ Ubuntu Server ◦ Windows Server ◦ Solaris ◦ Debian GNU/Linux ◦ HP-UX ◦ AIX ◦ FreeBSD, OpenBSD, . . . ◦ ... ◦ z/OS

El k´ernel linux

• Caracter´ısticas principales • Caracter´ısticas de la compilaci´ on • Carga del sistema • Manejo de m´ odulos • Compilaci´ on de m´odulos • Compilaci´ on del k´ernel

12 de 19

Caracter´ısticas principales

• K´ ernel del sistema GNU/Linux, licenciado bajo la GNU GPL • Desarrollo colaborativo de miles de personas • Monol´ıtico • LKM: Loadable kernel module

´ • Ultima versi´on estable: 3.0.4 (4/10/2011) • Soporte para virtualizaci´ on • Portado a gran cantidad de arquitecturas, desde peque˜ nos

dispositivos a grandes supercomputadoras.

13 de 19

Caracter´ısticas de la compilaci´on • El c´ odigo fuente de rama oficial del n´ ucleo ocupa actualmente

458MiB !!! • Los componentes del k´ ernel se compilan de dos formas: ◦ Se incluyen dentro de un fichero ejecutable enlazado est´aticamente y que habitualmente se denomina vmlinuz o zImage ◦ Se compilan individualmente en ficheros objetos con extensi´on .ko que se cargan en memoria a demanda (est´an ubicados en /lib/modules) • Soluciones para hardware no detectado en el arranque: ◦ Se aumenta el tama˜ no del fichero ejecutable (bzImage o big zImage) ◦ Se montan temporalmente algunos m´ odulos en memoria (initramfs) • Distribuciones de uso general en sistemas x86: ◦ Enorme variedad de hardware ◦ Se incluyen gran cantidad de m´ odulos • Es posible compilar un k´ ernel para un hardware determinado y

reducir mucho su tama˜ no. 14 de 19

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´ a la informaci´on 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 15 de 19

Carga del sistema - II • Se establece el nombre del equipo (hostname) • Se monta VFS • Se inicia udevd, que puebla /dev y carga los m´ odulos 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´ ametros del k´ernel 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´on

16 de 19

Manejo de m´odulos La mayor´ıa de los m´odulos se cargan autom´aticamente cuando es necesario, pero es posible cargarlos o descargarlos manualmente:

• lsmod: Lista los m´ odulos cargados • modprobe : Carga el m´ odulo en memoria • modprobe -r : Descarga el m´ odulo de la memoria • modprobe -l: Muestra la lista de m´ odulos disponibles • modinfo : Muestra la informaci´ on del m´odulo • depmod: Actualiza las dependencias de los m´ odulos

17 de 19

Compilaci´on de m´odulos (Debian) En algunas ocasiones es necesario compilar un m´ odulo, normalmente alg´ un controlador de dispositivo que no se encuentra soportado en la rama oficial del k´ernel. • Instalamos los paquetes necesarios para compilar:

# aptitude install build-essential • Instalamos los ficheros de cabeceras del k´ ernel actual:

# aptitude install linux-headers-‘uname -r‘ • Si existe un paquete Debian con el m´ odulo sin compilar

(ndiswrapper, fuse, madwifi, . . . ) ⇒ Utilizar module-assistant • En el resto de casos, se descomprime el paquete que incluye los

ficheros fuentes del m´ odulo en /usr/src y se siguen las instrucciones del fichero README que debe incluir. 18 de 19

Compilaci´on del k´ernel (Debian)

Es poco habitual tener que compilar un n´ ucleo 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

19 de 19

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.