Download Un sistema operativo distribuido debería
Document related concepts
Transcript
INTRODUCCIÓN CONCEPTOS BÁSICOS • Programa: Conjunto de instrucciones a realizar. • Proceso: Programa en ejecución • Multiproceso: Varios procesos ejecutándose con un solo procesador • Multitarea: Varias aplicaciones ejecutándose a la vez • Red de Computadoras: Conjunto de computadoras conectadas entre sí • Protocolo: es un conjunto de reglas e instrucciones que gobiernan la comunicación en un sistema distribuido, es decir, el intercambio de mensajes. ¿QUÉ ES UN SISTEMA DISTRIBUIDO? Un Sistema Distribuido es una colección de computadores independientes que aparecen ante los usuarios como un único sistema coherente. • • Físicos: Compartición de recursos de hardware, ejemplo: una impresora Lógicos: Compartición de aplicaciones, memoria, etc, es decir, software CARACTERÍSTICAS DE LOS SISTEMAS DISTRIBUIDOS Las características más importantes de los Sistemas Distribuidos son: Compartición de recursos: Acceso a recursos remotos. Modelo cliente-servidor Modelo basado en objetos Transparencia: Todo el sistema funcione de forma similar en todos los puntos de la red, independientemente de la posición del usuario. Capacidad de crecimiento (ESCALABILIDAD): Un sistema operativo distribuido debería funcionar tanto para una docena de ordenadores como varios millares. Igualmente, debería no ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los equipos, etc. Tolerancia a fallos, Disponibilidad: Replicación Concurrencia: acceso concurrente a recursos compartidos sin interferencias Velocidad: Sistemas abiertos: OBJETIVOS Y PROBLEMAS DE DISEÑO Rendimiento Capacidad de crecimiento Transparencia Consistencia Fiabilidad: – Tolerancia a fallos – Disponibilidad – Recuperación – Consistencia – Confidencialidad – Rendimiento predecible, calidad de servicio SISTEMAS DISTRIBUIDOS Y PARALELOS • Sistemas distribuidos – Objetivo: compartir recursos y colaborar. – Redes de computadores • Sistemas paralelos – Objetivo: ejecutar un programa muy rápido (speedup). – Máquinas paralelas (arquitecturas dedicadas) - Multiprocesadores • Multicomputadores – Redes de estaciones de trabajo trabajando como un multicomputador (clúster) PROBLEMAS DE DISEÑO NOMBRADO: Los usuarios designan a los objetos mediante un nombre. Los programas designan a los objetos mediante un identificador. Resolver un nombre implica obtener el identificador a partir del nombre. COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS: Forma básica de C y S: paso de mensajes. – Mecanismos síncronos – Mecanismos asíncronos Comunicación cliente-servidor – Primitivas de comunicación básicas (send, receive) – Llamadas a procedimientos remotos – Invocación de objetos remotos ESTRUCTURA DE SOFTWARE: Estructura software típica de un sistema centralizado El sistema operativo – Gestiona los recursos – Ofrece servicios REPARTO DE LA CARGA: Existen tres posibilidades para estructurar el software de unsistema distribuido – Emplear sistemas operativos en red – Utilizar un sistema operativo distribuido – Utilizar middlewares o entornos distribuidos Lo importante es ofrecer un soporte para la programación de aplicaciones distribuidas fácil y transparente CALIDAD DE SERVICIO: – RENDIMIENTO – FIABILIDAD