SlideShare una empresa de Scribd logo
1 de 16
Arquitec
                          turas de
                          Sistemas
                          Operativ
                          os

VICENTE PANATA CASTILLO
5° SISTEMAS
Objetivo
• Conocer las estructuras/arquitectura de SOS
actuales desde el punto de vista de la
adaptabilidad funcional de los mismos a nuevos
servicios y hardware.
Í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.
Arquitecturas en uso
• En la actualidad, las estructuras mas
usadas:
– Monolítica – Linux, ...
– Microkernel – MacOS, Windows, QNX,
...
– Maquinas virtuales – Xen, VMWare, …
– SO de internet – PalmOS(WebOS)
Arquitectura Monolitica
• Características:
– Toda la funcionalidad en modo kernel.
– Ventaja: eficiencia
– Problema: no confinamiento de errores en modo
kernel
– 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)
Arq. Monolitica: configuracion
• Razones para configurar un kernel:
– Anadir nuevo hardware
– Optimizar según entorno: servidor,
desktop, ..,
SMP, …
– Anadir nueva funcionalidad o un manejador
no
oficial.
– Fijar errores de la versión actual.
• Lista opciones de configuración:
– [Kroadh-Hartman2006]
– make [config|menuconfig|xconfig|gconfig]
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/) o
distcc (http://code.google.com/p/distcc/):
% make CC=”ccache distcc”
• Compilación mutihebra:
% make -jn (donde n = 2 * numero_de_procesadores).
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 ram
despué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 se
actualiza.
• Algunas distribuciones automatizan los pasos de la compilación:
– installkernel (paquete mkinitrd).
– make-kpkg en Ubuntu.
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
Linux Kernel Modules
• Un LKM es un objeto ELF (Executable and
Linkable Format) que resuelve sus simbolos
cuando 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, y
MODULE_STATE_GOING.
• Ordenes relacionadas: insmod, rmmod,
modprobe y lsmod.
LKM
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);
Includes
Macros del modulo
Constructor del modulo
Destructor del modulo
Macros de entrada/salida
Virtualizacion en Linux
• Soporta a maquinas virtuales:
– Xen
– KVM
– UML, y otros
• Virtualizacion “ligera”
– Namespaces
– cgroups
– Container
Namespaces
• Namespaces es una forma ligera de
virtualizacion que permite que veamos
propiedades globales de un sistema bajo
diferentes aspectos (un namespace es
esencialmente una “vista” del sistema).
• SOs que soportan este tipo de
virtualizacion:
– Namespaces – Linux
– Zones – Solaris
– Jail – FreeBSD
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.
PID ns: Estructuras de datos

Más contenido relacionado

La actualidad más candente

Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windowseyes
 
Guia de los Sistemas Operativos
Guia de los Sistemas OperativosGuia de los Sistemas Operativos
Guia de los Sistemas OperativosAlexis Petit
 
cuadro comparativo
cuadro comparativocuadro comparativo
cuadro comparativomani villa
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 
Kernel de los sistemas operativos
Kernel de los  sistemas operativosKernel de los  sistemas operativos
Kernel de los sistemas operativosAlex Acosta
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativosKaren Serrano
 
Que es el kernel o nucleo
Que es el kernel o nucleoQue es el kernel o nucleo
Que es el kernel o nucleoHugo Ramirez
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativosANDREA
 
Kernel de Windows PDF
Kernel de Windows PDFKernel de Windows PDF
Kernel de Windows PDFLikedLol
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xSophia Galarraga
 
Estructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema OperativoEstructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema Operativopainni
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosMarco Tinajero
 
Estructura del sistema operativo linux
Estructura del sistema operativo linuxEstructura del sistema operativo linux
Estructura del sistema operativo linuxMatildeMontoyaLafragua
 
Capitulo 22 windows XP
Capitulo 22 windows XPCapitulo 22 windows XP
Capitulo 22 windows XPJorge Alberto
 
Sistemas operativos monopuesto
Sistemas operativos monopuestoSistemas operativos monopuesto
Sistemas operativos monopuestoI LG
 
1. CaracteríSticas Del Sistema Operativo
1. CaracteríSticas Del Sistema Operativo1. CaracteríSticas Del Sistema Operativo
1. CaracteríSticas Del Sistema OperativoCANDIDO RUIZ
 
Características de los sistemas operativos
Características de los sistemas operativosCaracterísticas de los sistemas operativos
Características de los sistemas operativostioreyes
 

La actualidad más candente (20)

Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windows
 
Guia de los Sistemas Operativos
Guia de los Sistemas OperativosGuia de los Sistemas Operativos
Guia de los Sistemas Operativos
 
cuadro comparativo
cuadro comparativocuadro comparativo
cuadro comparativo
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Kernel
KernelKernel
Kernel
 
Kernel de los sistemas operativos
Kernel de los  sistemas operativosKernel de los  sistemas operativos
Kernel de los sistemas operativos
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativos
 
Qué es el kernel
Qué es el kernelQué es el kernel
Qué es el kernel
 
Unix
UnixUnix
Unix
 
Que es el kernel o nucleo
Que es el kernel o nucleoQue es el kernel o nucleo
Que es el kernel o nucleo
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
 
Kernel de Windows PDF
Kernel de Windows PDFKernel de Windows PDF
Kernel de Windows PDF
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Estructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema OperativoEstructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema Operativo
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas Operativos
 
Estructura del sistema operativo linux
Estructura del sistema operativo linuxEstructura del sistema operativo linux
Estructura del sistema operativo linux
 
Capitulo 22 windows XP
Capitulo 22 windows XPCapitulo 22 windows XP
Capitulo 22 windows XP
 
Sistemas operativos monopuesto
Sistemas operativos monopuestoSistemas operativos monopuesto
Sistemas operativos monopuesto
 
1. CaracteríSticas Del Sistema Operativo
1. CaracteríSticas Del Sistema Operativo1. CaracteríSticas Del Sistema Operativo
1. CaracteríSticas Del Sistema Operativo
 
Características de los sistemas operativos
Características de los sistemas operativosCaracterísticas de los sistemas operativos
Características de los sistemas operativos
 

Similar a Arquitecturas de Sistemas Operativos en

Virtualización Avanzada con Elastix
Virtualización Avanzada con ElastixVirtualización Avanzada con Elastix
Virtualización Avanzada con ElastixPaloSanto Solutions
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMwareaktivfinger
 
41 parámetros y módulos generales
41  parámetros y módulos generales41  parámetros y módulos generales
41 parámetros y módulos generalesAprende Viendo
 
Configuración del Kernel en CenOS
Configuración del Kernel en CenOSConfiguración del Kernel en CenOS
Configuración del Kernel en CenOSKramer Garay Gómez
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Virtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeVirtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeRodolfo Pilas
 
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...CLEFormación
 

Similar a Arquitecturas de Sistemas Operativos en (20)

Arquitecturas so
Arquitecturas soArquitecturas so
Arquitecturas so
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
XEN - Taller presentación Xen
XEN - Taller presentación XenXEN - Taller presentación Xen
XEN - Taller presentación Xen
 
Informe laboratorio 1 kvm
Informe laboratorio 1 kvmInforme laboratorio 1 kvm
Informe laboratorio 1 kvm
 
Virtualización Avanzada con Elastix
Virtualización Avanzada con ElastixVirtualización Avanzada con Elastix
Virtualización Avanzada con Elastix
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMware
 
Virtual pc
Virtual pcVirtual pc
Virtual pc
 
MAQUINA VIRTUAL
MAQUINA VIRTUALMAQUINA VIRTUAL
MAQUINA VIRTUAL
 
Presentacin3 090720202939-phpapp01
Presentacin3 090720202939-phpapp01Presentacin3 090720202939-phpapp01
Presentacin3 090720202939-phpapp01
 
Virtual pc
Virtual pcVirtual pc
Virtual pc
 
41 parámetros y módulos generales
41  parámetros y módulos generales41  parámetros y módulos generales
41 parámetros y módulos generales
 
Consolidacion
ConsolidacionConsolidacion
Consolidacion
 
Configuración del Kernel en CenOS
Configuración del Kernel en CenOSConfiguración del Kernel en CenOS
Configuración del Kernel en CenOS
 
Sistema de colas Condor en CICA
Sistema de colas Condor en CICASistema de colas Condor en CICA
Sistema de colas Condor en CICA
 
1
11
1
 
SISTEMAS OPERATIVOS VIRTUALIZACION
SISTEMAS OPERATIVOS VIRTUALIZACIONSISTEMAS OPERATIVOS VIRTUALIZACION
SISTEMAS OPERATIVOS VIRTUALIZACION
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Virtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeVirtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nube
 
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...
Curso CLEFormacion de Entornos Operativos y Sistemas - Administración de Red ...
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 

Arquitecturas de Sistemas Operativos en

  • 1. Arquitec turas de Sistemas Operativ os VICENTE PANATA CASTILLO 5° SISTEMAS
  • 2. Objetivo • Conocer las estructuras/arquitectura de SOS actuales desde el punto de vista de la adaptabilidad funcional de los mismos a nuevos servicios y hardware.
  • 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. Arquitecturas en uso • En la actualidad, las estructuras mas usadas: – Monolítica – Linux, ... – Microkernel – MacOS, Windows, QNX, ... – Maquinas virtuales – Xen, VMWare, … – SO de internet – PalmOS(WebOS)
  • 5. Arquitectura Monolitica • Características: – Toda la funcionalidad en modo kernel. – Ventaja: eficiencia – Problema: no confinamiento de errores en modo kernel – 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. Arq. Monolitica: configuracion • Razones para configurar un kernel: – Anadir nuevo hardware – Optimizar según entorno: servidor, desktop, .., SMP, … – Anadir nueva funcionalidad o un manejador no oficial. – Fijar errores de la versión actual. • Lista opciones de configuración: – [Kroadh-Hartman2006] – make [config|menuconfig|xconfig|gconfig]
  • 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/) o distcc (http://code.google.com/p/distcc/): % make CC=”ccache distcc” • Compilación mutihebra: % make -jn (donde n = 2 * numero_de_procesadores).
  • 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 ram despué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 se actualiza. • Algunas distribuciones automatizan los pasos de la compilación: – installkernel (paquete mkinitrd). – make-kpkg en Ubuntu.
  • 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. Linux Kernel Modules • Un LKM es un objeto ELF (Executable and Linkable Format) que resuelve sus simbolos cuando 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, y MODULE_STATE_GOING. • Ordenes relacionadas: insmod, rmmod, modprobe y lsmod.
  • 11. LKM
  • 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); Includes Macros del modulo Constructor del modulo Destructor del modulo Macros de entrada/salida
  • 13. Virtualizacion en Linux • Soporta a maquinas virtuales: – Xen – KVM – UML, y otros • Virtualizacion “ligera” – Namespaces – cgroups – Container
  • 14. Namespaces • Namespaces es una forma ligera de virtualizacion que permite que veamos propiedades globales de un sistema bajo diferentes aspectos (un namespace es esencialmente una “vista” del sistema). • SOs que soportan este tipo de virtualizacion: – Namespaces – Linux – Zones – Solaris – Jail – FreeBSD
  • 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.