Sistemas Distribuidos. Componentes de un S.O. En Particular Minix está dividido en módulos –1) MicroKernel –2) Tareas E/S –3) Procesos Servidores –4)

Slides:



Advertisements
Presentaciones similares
Tabla de Contenido Concurrencia.
Advertisements

LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
LAN de computadores personales El objetivo de las LAN de computadores personales es el compartir recursos dentro de un entorno reducido, específicamente.
LAN de computadores personales El objetivo de las LAN de computadores personales es el compartir recursos dentro de un entorno reducido, específicamente.
LAN de computadores personales
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Common Object Request Broker Architecture
Procesamiento distribuido, cliente/servidor y clusters
Los servicios de red son la fundación de una red de trabajo en un ambiente de computadoras. Generalmente los servicios de red son instalados en uno o.
Estructuras en Sistemas Operativos
RMI Remote Method Invocation
Base de Datos Distribuidas
MODELO TCP/IP Conectividad de extremo a extremo especificando como los datos deberian ser formateados,direccionados,transmitidos,enrutados y recibidos.
REDES. Origen de las redes Fines de la década del 70 Originalmente necesidad de compartir periféricos como impresoras entre varios ordenadores.
Universidad Centroamericana
Redes P2P Dr. Víctor J. Sosa-Sosa
Introducción *  Computadoras grandes y costosas  Las organizaciones tenían pocas computadoras  No existía una forma de conectarlas  Operaban.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
ELEMENTOS DE UNA RED ( Parte I)
Vista General del Funcionamiento del Computador y sus Interconexiones
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Introducción a los Sistemas Distribuidos. Prof. Yudith Cardinale Sept – Dic 2006 Universidad Simón Bolívar Departamento de Computación y T. I Tópicos en.
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Hilos - Lightweight process - Procesos ligeros
Procesamiento paralelo
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Teoría de Sistemas Operativos Sistemas distribuidos.
Sistemas Operativos II MC. Daniel Fajardo Delgado INSTITUTO TECNOLÓGICO DE CD. GUZMÁN 24 de Abril de 2004.
Teoría de Sistemas Operativos
Tema 4: Sistema de Archivos NFS
Servidores Conceptos Generales.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Arquitecturas Paralelas
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Fundamentos de TCP/IP.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
Tema 5: Multiprocesadores
La arquitectura de Linux Linux no es un bloque monolítico Linux no es un bloque monolítico Varios componentes trabajan en conjunto, diseñados por personas.
Página 1 de 33 REDES. Página 2 de 33 REDES TELEMÁTICA = Telecomunicaciones + Informática Disciplina Emisores - Receptores Canal (Transmisión de Datos)
Teoría de Sistemas Operativos Sistemas Archivos de Red
Prof. César Molina Sesión 2 - Principios de la computación Redes y comunicaciones.
INTRODUCCION A SISTEMAS OPERATIVOS
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
Introducción a los Sistemas Distribuidos. Prof. Yudith Cardinale Sept – Dic 2008 Universidad Simón Bolívar Departamento de Computación y T. I Sistemas.
Protocolos del modelo TCP/IP
Ing. Elizabeth Guerrero V.
ARQUICTECTURA DE SERVIDORES
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Protocolos de comunicación TCP/IP
INTEGRANTES: Giovanna Kristhel Mendoza Castillo Eduardo Solis Lara Gustavo Antonio González Morales.
Nivel de Transporte en Internet
¿QUE ES INTERNET? La Internet es una red de redes. Actualmente conecta miles de redes para permitir compartir información y recursos a nivel mundial. Con.
Arquitectura Cliente Servidor
Programación de Clientes Especialidad en Base de Datos.
Elementos y tipos de sistemas operativos
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
C1-Sistemas Distribuidos Concurrencia Varias componentes en una misma máquina-> Concurrencia Inteleaving (1 sola CPU, N procesos) Paralelo (N CPU, M procesos)
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
REDES Angie Paola Gutiérrez C. ♥ Once ♥. REDES DE COMPUTADORAS Es un conjunto de elementos interceptados entre si, para compartir información. Como en.
Conociendo el modelo Cliente-Servidor
Sistemas Operativos I Sistemas Operativos Modernos (Tanenbaum/Prentice Hall/2003)‏ Fundamentos de Sistemas Operativos – Silberschatz/McGraw-Hill/2006)‏
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Transcripción de la presentación:

Sistemas Distribuidos

Componentes de un S.O. En Particular Minix está dividido en módulos –1) MicroKernel –2) Tareas E/S –3) Procesos Servidores –4) Procesos de Usuarios Son módulos independientes Para arquitectura FLYNN - SISD

Funciones de un S.O. Administración de Procesador –Cambio de Estados para procesos –Politica de Asignación de procesador –Política de Ordenación de Colas Administración de Memoria –Simple contigua –Paginada / Segmentada Administración de la Información –Layout en disco –Funciones de acceso al sistema de archivos Transparencia Administración de Reloj del sistema –Fecha, Hora

Funciones de un S.O. Administración de Recursos –Dedicados Manejo de Deadlocks –Compartidos Comunicación entre procesos –Send/receive Bloqueantes / No Con Buffer / Sin –Share memory –Pipes –Sockets Sincronización entre procesos –Semáforos, Regiones Críticas, Monitores

System Calls - Servicios [PROC] Administración de Procesos –fork, waitpid, wait, exit, execve,... [IPC] Señales –kill, pause, alarm, sigaction,... [FS]Administración de Archivos –creat, mknod, open, close, read, write, dup, pipe,... [FS]Administración del Sistema de Archivos –mkdir, rmdir, link, mount, umount, chdir, chroot,... [FS]Protección –chmod, getuid, setuid, getgid, setgid, chown,... [TIME] Administración de Tiempo –time, stime, utime, times,...

Una clasificación

Cola de Multiprocesador

Sistema Operativo sobre MIMD Existen dos tipos de arquitecturas MIMD –Fuertemente acopladas Multiprocesadores –Debilmente acopladas Multicomputadores Clementina II - SGI (MIMD – FA) –Arquitectura 40 procesadores Inteconectados por Cray-links (Hipercubo grado 3) Memoria distribuida (NUMA) Función de Ruteo –Sistema Operativo IRIX Tiene share-memory y permite el uso de Threads

Sistema Operativo sobre MIMD Fenix – SUN Enterprise (MIMD – FA) –Arquitectura 16 procesadores Interconectados por Bus Memoria distribuida (UMA) –Sistema Operativo SOLARIS Permite el uso de Threads Sheldon – Cluster Intel Xeon (MIMD – DA) –Arquitectura 40 nodos - dual procesador Interconectados por Red Ethernet 1 Gbit Memoria distribuida (NORMA)

Sistema Operativo sobre MIMD Sheldon – Cluster Intel Xeon (MIMD – DA) –Sistema Operativo Linux (Varios) Permite uso de Threads dentro de un nodo. Entre nodo por pasaje de mensaje No hay unica visión de sistema operativo Necesidad de JOB SCHEDULER para asignacion de recursos Necesidad de un FS para todos los nodos. –File System de Red Autenticación entre los distintos S.O. No existe Share Memory entre nodos.

Sistema Operativo sobre MIMD IDEAL – Cluster (MIMD – DA) –Sistema Operativo Distribuido Visión única de cola de Procesos Visión única de File System Visión única de Memoria Transparencia en la ubicación de Recursos. Transparencia en la ejecución de Procesos. Migración de Procesos entre los nodos Permite uso de Threads. –Módulos cooperativos para brindar servicio –Coordinación de módulos Distribuido / Centralizado –Coherencia

Temas de Implementación Comunicación entre nodos –Primitivas Send/Receive Conexión y Confiabilidad Niveles de conectividad y confiabilidad (ACKs) –Función de Ruteo –Tipo de Medio de Transmisión Identificación de nodos –Estaticos / Con cambios Identificación de servicios –Estaticos / Con cambios Stacks ISO / TCP-IP Modelo Cliente/Servidor –Send / Receive / Accept

Cliente servidor Direccionamiento –1) Integrar machine.number –2) Dejar que los procesos elijan direcciones al azar y localizarlos mediante transmisiones –3) Generar un servidor de nombres

Primitivas SEND BLOQUEANTES (Primitivas sincrónicas SEND NO BLOQUEANTES (Primitivas asincrónicas SEND SIN BLOQUEO CON INTERRUPCIÓN PRIMITIVAS ALMACENADAS EN BUFFER vs NO ALMACENADAS PRIMITIVA CONFIABLES vs NO CONFIABLES

Confiable vs No confiable

Implementación Cliente Servidor

Mensajes de Control

Secuencias de Mensaje de Control

Temas de Implementación Uso de procesadores remotos –Ejecución Asincrónica Cliente/Servidor –Ejecución Sincrónica Remote Procedure Call –Simula la llamada a un procedimiento remoto como si fuera local. –Exiten herramientas que generan el código fuente RPCGEN(XDR, SRC)  (SRC) –Se generan los stubs cliente y servidor. –Existe binding dinámico y registración del servidor.

Etapas RPC

Temas de implementación Remote Procedure Call (Camino Critico) –El procedimiento cliente llama al stub cliente de manera transparente. Usando Stack. –El stub cliente arma el mensaje y se lo envía al kernel. –El kernel realiza el send del mensaje al kernel de la máquina remota. –El kernel remoto le da el mensaje al stub del server –El stub del server desempaqueta los parámetros y se los pasa al server. Usan Stack. –El server propiamente dicho realiza su trabajo y retorna un resultado al stub. –El stub del server empaqueta el valor retornado y se lo manda al kernel. –El kernel remoto envía el mensaje al kernel del cliente. –El kernel del cliente sube el mensaje al stub del cliente. –El stub cliente desempaqueta el resultado y se lo pasa al cliente.

Pasaje de Parámetros

Por referencia ? Por valor copy/restore

Pasaje de Parámetros Suponemos int a, b; res: a + b (*) Reemplazamos (*) por función suma res = suma(a, b) suma (c,d) resp:= c + d (por valor) return (resp)

Pasaje de Parámetros O res := suma (&a, &b) suma (c, d) resp = *c + *d return (resp) (1)

Pasaje de Parámetros Si estamos en (1) copy/restore Stub cliente suma (c, d) c1 = *c d1 = *d Enviar servidor (suma (c1, d1) Recibir seridor (resp) Return (resp)

Pasaje de Parámetros Stub servidor Recibir (cliente, suma(c1, d1)) resp := c1 + d1 Enviar (cliente, resp)

Pasaje de Parámetros Imaginemos inc(i, i) o sea i:= i +1 call inc(&i, &i) inc (i, i) c1 = *i c2 = *i Enviar serv inc (c1, c2) Recibir serv (c1, c2) &i = c1 &i = c2 ¿qué valor queda en i ?

Protocolos RPC Conexión: Ventajas:comunicación más fácil, el núcleo del cliente no debe reocuparse de si los mensajes se pierden o de si no hay reconocimiento. Desventajas:En una LAN tiene pérdida de desempeño debido a que todo este software adicional estorba, además la ventaja de no perder los paquetes no tiene sentido ya que las LAN son confiables en esto.

Protocolos RPC Sin Conexión: En general en sistemas dentro de un único edificio se utilizan protocolos sin conexión. Mientras que en redes grandes se utiliza uno orientado a conexión. * Utilizar un protocolo estándar o alguno diseñado en forma específica para RPC, por ejemplo: * IP (o UDP, integrado a IP) tiene puntos a favor: -- Ya está diseñado (ahorra un trabajo considerable) -- Se dispone de muchas implementaciones

Protocolos RPC * Protocolo Detenerse y esperar (stop and wait protocol): establece que el cliente envíe el paquete y espere un reconocimiento antes de enviar el segundo paquete. * Protocolo de Chorro (Blast Protocol): establece que el cliente mande todos los paquetes y luego espere el reconocimiento del mensaje completo

Temas de implementación Remote Procedure Call (Semántica de Fallas) –El Cliente no puede ubicar al servidor EXCEPCIÓN –Se pierde el msg de requerimiento del cliente al servidor Retransmisión al no recibir ACK usando TIMER –El msg de respuesta del servidor se pierde Diferenciar esta falla con la anterior. (nro de secuencia) –El servidor se cae luego de recibir el requerimiento A) Recibe y procesa, se cae antes de enviar la respuesta B) Se cae antes de procesar el pedido –Semántica: At Lest Once – At most Once – Exactly Once –El Cliente se cae Huérfanos : –Reencarnación – Reencarnación Suave – Expiración Exterminación.

Temas de Diseño de S.O. Transparencia –De Locación / De Migración / De Réplica –De Concurrencia / De Paralelismo Flexibilidad –Monolitico / Microkernel Confiabilidad Performance –Métricas Tiempo de Respuesta / Rendimiento Uso del Sistema / Capacidad consumida de Red Escalabilidad –NFS no es escalable

Consultas ? Arquitecturas MIMD –Tipos / Performance Sistemas Operativos Distribuidos –Modulos Sistemas Distribuidos –Servicios Modelo Cliente-Servidor –RPC Varias.....