Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arquitec                          turas de                          Sistemas                          Operativ            ...
Objetivo• Conocer las estructuras/arquitectura de SOSactuales desde el punto de vista de laadaptabilidad funcional de los ...
Índice• Arquitectura monolítica:– configuración del kernel– configuración en el arranque– configuración en tiempo de ejecu...
Arquitecturas en uso• En la actualidad, las estructuras masusadas:– Monolítica – Linux, ...– Microkernel – MacOS, Windows,...
Arquitectura Monolitica• Características:– Toda la funcionalidad en modo kernel.– Ventaja: eficiencia– Problema: no confin...
Arq. Monolitica: configuracion• Razones para configurar un kernel:– Anadir nuevo hardware– Optimizar según entorno: servid...
Compilacion del kernel (2.6)• Configurado el kernel, debemos compilarlo:– Situados en /usr/src/linux, ejecutamos:% make– O...
Instalacion del kernel (2.6)• Instalamos los módulos:% make modules_install• Instalamos la imagen del kernel:% make instal...
Modificaciones “on-the-fly”  • El seudo-sistema de archivos /proc nos permite  configurar al vuelo ciertos parametros del ...
Linux Kernel Modules• Un LKM es un objeto ELF (Executable andLinkable Format) que resuelve sus simboloscuando se carga en ...
LKM
Estructura de un LKM (2.6)#include <linux/module.h>#include <linux/init.h>MODULE_LICENSE(“GPL”)MODULE_AUTHOR(“Autor del mó...
Virtualizacion en Linux• Soporta a maquinas virtuales:– Xen– KVM– UML, y otros• Virtualizacion “ligera”– Namespaces– cgrou...
Namespaces• Namespaces es una forma ligera devirtualizacion que permite que veamospropiedades globales de un sistema bajod...
PID Namespace: relacion  • Los namespaces  pueden o no estar  jerarquicamente  relacionados.  • Podemos observar  co...
PID ns: Estructuras de datos
Upcoming SlideShare
Loading in …5
×

Arquitectura sistemas operativos

5,812 views

Published on

  • como se descargan las diapositivas?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Arquitectura sistemas operativos

  1. 1. Arquitec turas de Sistemas Operativ osVICENTE PANATA CASTILLO5° SISTEMAS
  2. 2. Objetivo• Conocer las estructuras/arquitectura de SOSactuales desde el punto de vista de laadaptabilidad funcional de los mismos a nuevosservicios y hardware.
  3. 3. Índice• Arquitectura monolítica:– configuración del kernel– configuración en el arranque– configuración en tiempo de ejecución– módulos de carga• Maquinas virtuales:– Soporte del kernel a la virtualización: namespaces,cgroups, containers.– Soporte a maquinas virtuales: Xen, KVM.
  4. 4. Arquitecturas en uso• En la actualidad, las estructuras masusadas:– Monolítica – Linux, ...– Microkernel – MacOS, Windows, QNX,...– Maquinas virtuales – Xen, VMWare, …– SO de internet – PalmOS(WebOS)
  5. 5. Arquitectura Monolitica• Características:– Toda la funcionalidad en modo kernel.– Ventaja: eficiencia– Problema: no confinamiento de errores en modokernel– Adaptabilidad:• De forma estática:– Configuración y arranque del kernel– Modificar o añadir código• De forma dinámica:– “On-the-fly”– LKM (Linux Kernel Modules)
  6. 6. Arq. Monolitica: configuracion• Razones para configurar un kernel:– Anadir nuevo hardware– Optimizar según entorno: servidor,desktop, ..,SMP, …– Anadir nueva funcionalidad o un manejadornooficial.– Fijar errores de la versión actual.• Lista opciones de configuración:– [Kroadh-Hartman2006]– make [config|menuconfig|xconfig|gconfig]
  7. 7. Compilacion del kernel (2.6)• Configurado el kernel, debemos compilarlo:– Situados en /usr/src/linux, ejecutamos:% make– Optimizaciones:• Compilar una porción del kernel:% make [M=]drivers/usb/serial• Realizar una compilación cruzada:% make ARCH=arm CROSS_COMPILER=/usr/local/bin/...• Acelerar la compilación con ccache(http://ccache.samba.org/) odistcc (http://code.google.com/p/distcc/):% make CC=”ccache distcc”• Compilación mutihebra:% make -jn (donde n = 2 * numero_de_procesadores).
  8. 8. Instalacion del kernel (2.6)• Instalamos los módulos:% make modules_install• Instalamos la imagen del kernel:% make install– verifica la correcta construcción del kernel– Instala el kernel en /boot– Se genera cualquier imagen ramdisk inicial (se debe generar un disco ramdespués de hacer make modules_install:# mkinitramfs -o /boot/initrd.img-2.6.20.1 /lib/modules/2.6.20.1– Se notificar al programa cargador de la existencia de una nueva imagen y seactualiza.• Algunas distribuciones automatizan los pasos de la compilación:– installkernel (paquete mkinitrd).– make-kpkg en Ubuntu.
  9. 9. Modificaciones “on-the-fly” • El seudo-sistema de archivos /proc nos permite configurar al vuelo ciertos parametros del sistema. % echo “mihost” >/proc/sys/kernel/hostname • Podemos hacer los cambios permanentes con sysctl:d % sysctl –w kernel.hostname=mihost • Ajuste de servicios a traves de ordenes (start/stop/restart/reload/status): % /etc/init.d/xinetd reloa
  10. 10. Linux Kernel Modules• Un LKM es un objeto ELF (Executable andLinkable Format) que resuelve sus simboloscuando se carga en el kernel.• Aligera el nucleo vs. Sobrecarga• No es un proceso.• Puede estar en un de los siguientes estados:MODULE_STATE_COMING, MODULE_STATE_LIVE, yMODULE_STATE_GOING.• Ordenes relacionadas: insmod, rmmod,modprobe y lsmod.
  11. 11. LKM
  12. 12. Estructura de un LKM (2.6)#include <linux/module.h>#include <linux/init.h>MODULE_LICENSE(“GPL”)MODULE_AUTHOR(“Autor del módulo”)MODULE_DESCRIPTION(“Descripción del módulo)static int __init funcion_entrada(void){....return 0;}static void __exit funcion_salida (void){return;}module_init (funcion_entrada);module_exit(funcion_salida);IncludesMacros del moduloConstructor del moduloDestructor del moduloMacros de entrada/salida
  13. 13. Virtualizacion en Linux• Soporta a maquinas virtuales:– Xen– KVM– UML, y otros• Virtualizacion “ligera”– Namespaces– cgroups– Container
  14. 14. Namespaces• Namespaces es una forma ligera devirtualizacion que permite que veamospropiedades globales de un sistema bajodiferentes aspectos (un namespace esesencialmente una “vista” del sistema).• SOs que soportan este tipo devirtualizacion:– Namespaces – Linux– Zones – Solaris– Jail – FreeBSD
  15. 15. PID Namespace: relacion  • Los namespaces  pueden o no estar  jerarquicamente  relacionados.  • Podemos observar  como un proceso  tiene varios PIDs  dependiendo del  contexto en el que se  observa.
  16. 16. PID ns: Estructuras de datos

×