Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Software y Hardware
Desarrollos de microprocesadores.
1945 a 1980s. 1 instruccin/seg. US$ 10.000.000 1980s hasta hoy. 1.000.000.000 instrucciones/seg. Menos de US$1.000. Ganancia precio/rendimiento 1013. LAN. 10-100 Mbps. WAN. 64 kpbs - 2 Mbps. Facilidad de interconexin. Internet e Intranet.
Desarrollo de redes.
Definiciones
Un Sistema Distribuido es una coleccin de computadores independientes que aparecen ante los usuarios como un nico sistema coherente. (Andrew S. Tanenbaum) Un sistema en el cual tanto los componentes de hardware y software de un computador conectados en red se comunican y coordinan mediante paso de mensajes. (G.Coulouris, J.Dollimore, T.Kindberg)
Usado por mltiples usuarios, el flujo de las rdenes es transparente para ellos
Aumento de la complejidad
Costos de administracin costos de equipo (software y hardware), servidores fisicos y en linea, switch, routers, personal administrativo y cableado. ooooo personal, dispositivos de tranferencia, dispositivos intermediarios y dispositivos finales. Red, Latencia, prdida de mensajes Saturacion de banda de ancha Retardo de paquetes, mas comun en videojuegos en lina, video conferencias y transmisin en vivo aumento de trafico. Falta de estndares nicos
Fallas ms frecuentes
Interoperabilidad
Compartir Recursos
la comparticion de recursos se utiliza cuando un archivo, sistema, programa etc, se encuentra ubicado en un computador o servidor especifico y otros computadores o usuarios pueden tener acceso a esa computadora y sus datos por medio de una red compartida, por ejemplo: bases de datos, programas y aplicaciones, archivos de datos, video y/o audio. ejemplo: un sistema de base de datos distribuido entre las franquisias de supermercados distribuidos. ejemplo: un sistema de control de acceso y administracion de saldo utilizado con distribuidores autorizados de telefonias que se pueden encontrar desde tiendas pequeas hasta supermercados internacionales que cuenten con este servicio.
Compartir recursos
Usuarios deben tener acceso fcil a recursos compartidos y compartir sus propios recursos de forma controlada.
Impresoras Computadores Espacio de almacenamiento Archivos, datos, pginas Web, redes, etc.
Transparencia
Esconder el hecho que los recursos y procesos estn fsicamente distribuidos en diferentes mquinas. Un sistema distribuido que se presenta hacia el usuario como una sola mquina se dice ser transparente. Sin embargo, transparencia se aplica a varios aspectos de sistemas distribuidos
Transparencia
Acceso
Esconde las diferencias entre las distintas representaciones de datos y la formas en que stos son accedidos por los usuarios.
Ejemplo: representacin de un entero en una mquina SPARC (big endian) y una INTEL (little endian)
Ubicacin
En particular se suele usar nombres lgicos en vez de direcciones reales. Ejemplo, la URL en el Web.
Transparencia
Migracin
Esconde el hecho que recursos puedan migrar de una ubicacin fsica a otra sin afectar el modo en que se acceda.
Re-ubicacin
Un caso an ms fuerte de migracin. Los recursos son movidos de una ubicacin a otra mientras estn en uso y sin que el usuario note nada.
10
Transparencia
Replicacin
Esconde el hecho que un recurso pueda estar replicado varias veces para mejorar su rendimiento y/o disponibilidad.
Concurrencia
Esconde el hecho de que distintos usuarios estn compitiendo en paralelo por acceder o usar recursos, o que un recurso est siendo compartido con otros usuarios
11
Transparencia
Fallas
El usuario no nota (inclusive nunca supo) que un recurso ha dejado de funcionar (o se ha recuperado).
Es uno de los aspectos ms duros en sistemas distribuidos por la dificultad de detectar que un recurso ha muerto. Ejemplo: arreglos de discos RAID, Google File System.
Persistencia
Aplicable a distintos sistemas, no slo distribuidos Ejemplo: servidores cache, proxy; conexiones persistentes a bases de datos.
12
Transparencia
Ejemplo: Bases de datos replicadas world-wide. Un caso particular son los servidores DNS que pueden tomar das en actualizarse, lo cual no se oculta al usuario.
13
Usabilidad
Los recursos y servicios son ofrecidos de acuerdo a reglas estndares describiendo la semntica y sintaxis. Usualmente estas reglas son descritas va protocolos o interfaces.
14
Escalabilidad
Se refiere a la capacidad de crecer de un sistema La escalabilidad se puede dimensionar desde tres aspectos
Tamao: la capacidad de agregar fcilmente ms recursos y usuarios al sistema. Geogrfica: la capacidad de que usuarios y recursos se encuentren a distancias considerables Administracin: La capacidad de mantener una administracin fcil a pesar del crecimiento
Desafortunadamente los sistemas son escalables en alguna de las dimensiones sacrificando rendimiento en las otras
15
Hardware
Todos los CPU comparten el mismo espacio de direcciones de memoria Cada CPU tiene su propio espacio de direcciones de memoria Canal compartido Canal exclusivo
Comunicacin va BUS
Comunicacin va Switch
16
Hardware
M
P P
M
P
M
P
M
P
M
P
M
P
M
P
M P
M P
M P
M P
Software
18
Mltiples procesos compartiendo recursos sobre una mquina, gracias a un microkernel que implemente una mquina virtual.
No hay intercambio directo entre mdulos Mdulo de memoria Mdulo de proceso Mdulo de archivos Modo usuario Modo kernel
Hardware
Mltiples procesadores compartiendo datos a travs de memoria compartida. Datos deben ser protegidos para garantizar consistencia. Mltiples procesadores deben ser transparentes para la aplicacin. Primitivas de sincronizacin: semforos, locks, monitores.
20
Mltiples computadores conectados por red. Cada procesador tiene su propia memoria. Comunicacin nicamente a travs de paso de mensajes. Sincronizacin basada en semnticas particulares de paso de mensajes
Mquina A
Mquina B
Mquina C
Aplicaciones distribuidas
Kernel
Kernel Red
Mltiples procesadores, cada uno con su memoria. Memoria compartida virtual sobre multicomputadores. Problema de false sharing (memoria de dos procesos en la misma pgina).
0 9
1 3 6 8 10
CPU 2
4 7 11 12 14
CPU 3
13 15
CPU 4
memoria
CPU 1
22
Dos o ms computadores conectados por red. Comparten los diferentes recursos y la informacin del sistema mediante la red. Novell Netware, Personal Netware,Windows NT Server, UNIX, etc.
Mquina A Mquina B Mquina C
Aplicaciones distribuidas
Servicios de Red del S.O. Servicios de Red del S.O. Servicios de Red del S.O.
Kernel
23
Kernel
Kernel Red
Middle-Ware
Capa de software que ejecuta sobre el sistema operativo local de cada computador ofreciendo uno servicios distribuidos.
Abstrae la complejidad y heterogeneidad de los computadores del sistema Proporciona una API para la programacin y manejo de aplicaciones distribuidas Mquina A Mquina B Mquina C
Kernel
24
Kernel
Kernel
Red
Organizaciones tpicas
Cliente-Servidor
2 (o ms) capas
Arquitecturas Modernas
25