introducción a los sistemas distribuidoscryptomex.org/slidesdist/intsistdistv1.pdf · dr. roberto...
TRANSCRIPT
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 1
Introducción a los Sistemas Distribuidos
Roberto Gómez Cá[email protected]
http://webdia.cem.itesm.mx/ac/rogomez
Introducción a los Sistemas Distribuidos
Roberto Gómez Cá[email protected]
http://webdia.cem.itesm.mx/ac/rogomez
Instituto TecnolInstituto Tecnolóógico y de Estudios Superiores de Monterreygico y de Estudios Superiores de MonterreyCampusCampus EdoEdo. de M. de Mééxico xico
Departamento de Ciencias ComputacionalesDepartamento de Ciencias Computacionales
DiapoDiapo. No. . No. 22Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Desarrollos conceptualesDesarrollos conceptualesDesarrollos conceptuales
1960s 1970s 1980s
Tiempo Compartido
Gráficas
Redes
Computadoras como
herramientaspersonales
Estaciones detrabajo
Cliente/Servidor
Redes Locales
Sistemasabiertos,
escalables,tolerantes
a fallas
Ideasclave
Institucionespilares
Xerox AltoLisp machineApple IISmalltalkAloha net
MIT CTSSCambridge TSSTenex, UnixSketchpadARPANET
experiencia requerimientos experiencia requerimientosCiclos
Xerox DoradoSun 1, Apollo DomainXerox: DFS, GrapevineBerkeley UnixNewcastle ConnectionCambridge DCSEthernet, Cambridge Ring
Sistema V - StanfordSun NFSMIT: X-11, ArgusCMU: Accent, AndrewMachAmoebaChrous
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 2
DiapoDiapo. No. . No. 33Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
AntecedentesAntecedentesAntecedentes
Dos grandes avances tecnolDos grandes avances tecnolóógicos en los 80gicos en los 80’’ssDesarrollo de microprocesadoresDesarrollo de microprocesadores
De una mDe una mááquina de 10 millones de dquina de 10 millones de dóólares que ejecuta una lares que ejecuta una instrucciinstruccióón por minuto, se pasa a mn por minuto, se pasa a mááquinas de 1000 quinas de 1000 ddóólares que ejecutan 10 millones de instrucciones por seg..lares que ejecutan 10 millones de instrucciones por seg..
InvenciInvencióón de redesn de redesPosibilidad de conectar uno o mPosibilidad de conectar uno o máás computadoras entre ss computadoras entre síí
•Roll Royce de 100 dólares con un billón de kilómetros por litro•Tamaño manual para abrir puerta: 200 pgs.
DiapoDiapo. No. . No. 44Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ConsecuenciasConsecuenciasConsecuencias
-- Relativamente fRelativamente fáácil y econcil y econóómico poner en conjunto mico poner en conjunto sistemas compuestos de un gran nsistemas compuestos de un gran núúmero de procesadores, mero de procesadores, ((CPUsCPUs), conectados en red. ), conectados en red.
-- Dos entidades trabajan mDos entidades trabajan máás rs ráápido que una sola.pido que una sola.
-- Necesidad de sincronizar los trabajos de cada componenteNecesidad de sincronizar los trabajos de cada componente
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 3
DiapoDiapo. No. . No. 55Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Definición redes DefiniciDefinicióón redes n redes
Una red es un conjunto de dispositivosUna red es un conjunto de dispositivosinterconectados, que pueden intercambiarinterconectados, que pueden intercambiardatos, voz, imagen, etc...datos, voz, imagen, etc...
DiapoDiapo. No. . No. 66Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Aplicación en redAplicaciAplicacióón en redn en red
Una aplicaciUna aplicacióón en red es un n en red es un sistema sistema distribuido implementado sobre unadistribuido implementado sobre una redred..
Ejemplos:Ejemplos:Sistema de reservaciSistema de reservacióón an aééreareaSistema consulta de saldos bancariosSistema consulta de saldos bancariosEl WWW (World Wide Web)El WWW (World Wide Web)
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 4
DiapoDiapo. No. . No. 77Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Los Sistemas DistribuidosLos Sistemas DistribuidosLos Sistemas Distribuidos
Conjunto de Conjunto de entidades entidades que se comunican que se comunican entre ellas a traventre ellas a travéés de mensajes, los cuales s de mensajes, los cuales son enviados sobre son enviados sobre vvíías de comunicacias de comunicacióónn. .
Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
EntidadesEntidades
ProcesosProcesosComputadorasComputadorasRedes de computadorasRedes de computadorasDispositivosDispositivosProcesadoresProcesadores
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 5
DiapoDiapo. No. . No. 99Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Ejemplos entidadesEjemplos entidadesEjemplos entidades
Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
VVíías de comunicacias de comunicacióónn
Cable coaxialCable coaxialPar trenzadoPar trenzadoSatSatééliteliteInfrarojoInfrarojoRadio frecuenciasRadio frecuencias
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 6
Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Ejemplos vEjemplos víías comunicacias comunicacióónn
DiapoDiapo. No. . No. 1212Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Otras definicionesOtras definicionesOtras definiciones
“A distributed system is one in which the failure of a computer you didn’t even know existed can render your owncomputer unusuable”
Leslie Lamport
“A distributed system is one that stops from getting any workdone when a machine you’ve never never heard of crashes”
Distributed Systems (Ed. Sape Mullender)edition 1, ACM Press 1989
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 7
DiapoDiapo. No. . No. 1313Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Características sistemas distribuidosCaracterCaracteríísticas sistemas distribuidossticas sistemas distribuidos
Uso de un sistema de comunicaciUso de un sistema de comunicacióónnAusencia de memoria comAusencia de memoria comúúnnSincronizaciSincronizacióón del trabajon del trabajoAusencia de un estado global perceptible Ausencia de un estado global perceptible por un observadorpor un observadorComunicaciComunicacióón a travn a travéés de mensajess de mensajes
DiapoDiapo. No. . No. 1414Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Aspectos principales relacionados con los Sistemas Distribuidos Aspectos principales relacionados con Aspectos principales relacionados con los Sistemas Distribuidos los Sistemas Distribuidos
Tolerancia a fallasTolerancia a fallasDisponibilidadDisponibilidadConfiabilidadConfiabilidadSistemas AbiertosSistemas AbiertosConcurrenciaConcurrenciaEscalabilidadEscalabilidadTransparenciaTransparencia
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 8
DiapoDiapo. No. . No. 1515Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Tolerancia a fallasTolerancia a fallasTolerancia a fallas
Sistema distribuido que puede seguir funcionando, Sistema distribuido que puede seguir funcionando, (tal vez con un menor desempe(tal vez con un menor desempeñño), a pesar de que o), a pesar de que uno de sus componentes no este funcionando, uno de sus componentes no este funcionando, ((sistemas robustossistemas robustos) )
Se tienen dos enfoques:Se tienen dos enfoques:Redundancia hardwareRedundancia hardware
uso de componentes redundantesuso de componentes redundantes
RecuperaciRecuperacióón software n software disediseñño programas para recuperarse de fallaso programas para recuperarse de fallas
DiapoDiapo. No. . No. 1616Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ConfiabilidadConfiabilidadConfiabilidad
Datos transmitidos a travDatos transmitidos a travéés vs víías as comunicacicomunicacióónn
Posibilidad de pPosibilidad de péérdida y modificacirdida y modificacióón n de los datosde los datos
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 9
DiapoDiapo. No. . No. 1717Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
DisponibilidadDisponibilidadDisponibilidad
Disponibilidad de un sistema es medida de acuerdo a la Disponibilidad de un sistema es medida de acuerdo a la proporciproporcióón del tiempo en el cual esta disponible para su uson del tiempo en el cual esta disponible para su usoFalla en una sola computadora Falla en una sola computadora multiusariomultiusario da como da como resultado la noresultado la no--disponibilidad del sistema para todos sus disponibilidad del sistema para todos sus usuariosusuariosCuando uno de los componentes falla en un sistema Cuando uno de los componentes falla en un sistema distribuido solo el trabajo que estaba usando el componente distribuido solo el trabajo que estaba usando el componente es afectadoes afectadoUsuario puede moverse a otra estaciUsuario puede moverse a otra estacióón si la que usa falla, o n si la que usa falla, o un servidor puede un servidor puede reinicializarsereinicializarse en otra computadoraen otra computadora
DiapoDiapo. No. . No. 1818Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Abertura del sistemaAbertura del sistemaAbertura del sistema
Abertura: determina si el sistema puede extenderse de Abertura: determina si el sistema puede extenderse de diferentes formasdiferentes formasSistemas abiertos se caracterizan por el hecho de que Sistemas abiertos se caracterizan por el hecho de que las interfaces claves son publicadaslas interfaces claves son publicadasSistemas abiertos distribuidos proporcionan un Sistemas abiertos distribuidos proporcionan un mecanismo de comunicacimecanismo de comunicacióón de procesos uniforme y n de procesos uniforme y publican interfaces para el acceso a recursos publican interfaces para el acceso a recursos compartidoscompartidosPueden ser construidos a partir de software y hardware Pueden ser construidos a partir de software y hardware heterogheterogééneoneo
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 10
DiapoDiapo. No. . No. 1919Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ConcurrenciaConcurrenciaConcurrencia
Varios procesos se encuentran sobre una sola Varios procesos se encuentran sobre una sola computadora computadora EjecuciEjecucióón intercalada en el caso de un solo n intercalada en el caso de un solo procesador y simultprocesador y simultáánea si existen n procesadoresnea si existen n procesadoresEjecuciEjecucióón paralela posible debido a:n paralela posible debido a:
1. Varios usuarios invocan comandos o 1. Varios usuarios invocan comandos o interactuaninteractuan con programas de aplicacicon programas de aplicacióónn
2. Varios procesos servidores se corren 2. Varios procesos servidores se corren concurrentementeconcurrentemente
DiapoDiapo. No. . No. 2020Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
EscalabilidadEscalabilidadEscalabilidad
Sistemas distribuidos deben operar efectiva y Sistemas distribuidos deben operar efectiva y eficientemente en diferentes escalaseficientemente en diferentes escalasSistema distribuidos prSistema distribuidos prááctico mctico máás chico: dos s chico: dos estaciones y un servidor de archivosestaciones y un servidor de archivosSistemas distribuidos grandes: conexiSistemas distribuidos grandes: conexióón de varias n de varias redes locales (redes locales (internetworksinternetworks))Software de aplicaciSoftware de aplicacióón y sistema no debe de cambiar n y sistema no debe de cambiar cuando escala sistema se incrementecuando escala sistema se incrementeEjemplo escalabilidad: sistema telefEjemplo escalabilidad: sistema telefóóniconico
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 11
DiapoDiapo. No. . No. 2121Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
TransparenciaTransparenciaTransparencia
Ocultamiento al usuario y programas ejecuciOcultamiento al usuario y programas ejecucióón de la n de la disgregacidisgregacióón de los componentes de un sistema distribuidon de los componentes de un sistema distribuidoObjetivo: sistema sea visto como un todo, mObjetivo: sistema sea visto como un todo, máás que como s que como una colecciuna coleccióón de componentes independientesn de componentes independientes
Transparencia de accesoTransparencia de accesoTransparencia de ubicaciTransparencia de ubicacióónnTransparencia de concurrenciaTransparencia de concurrenciaTransparencia de replicasTransparencia de replicasTransparencia de fallasTransparencia de fallasTransparencia de migraciTransparencia de migracióónnTransparencia de desempeTransparencia de desempeññooTransparencia de escalaTransparencia de escala
DiapoDiapo. No. . No. 2222Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Aspectos básicos de diseñoAspectos bAspectos báásicos de disesicos de diseññoo
NamingNamingComunicaciComunicacióónnEstructura softwareEstructura softwareAsignaciAsignacióón de cargan de cargaConsistenciaConsistencia
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 12
DiapoDiapo. No. . No. 2323Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
NamingNamingNaming
Nombramiento de los diferentes recursos Nombramiento de los diferentes recursos Nombres deben de tener significados globalesNombres deben de tener significados globalesInvolucra las siguientes consideraciones:Involucra las siguientes consideraciones:
La elecciLa eleccióón del taman del tamañño del nombre para cada tipo de o del nombre para cada tipo de recurso, (puede ser finito o potencialmente infinito)recurso, (puede ser finito o potencialmente infinito)Nombres deben de ser Nombres deben de ser ““mapeadosmapeados”” por identificadores por identificadores de comunicacide comunicacióónn
Un nombre depende de su contexto, por lo que para Un nombre depende de su contexto, por lo que para resolver un nombre es necesario el nombre y un contextoresolver un nombre es necesario el nombre y un contexto
DiapoDiapo. No. . No. 2424Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ComunicaciónComunicaciComunicacióónn
Componentes separados lComponentes separados lóógica y fgica y fíísicamente, por lo que sicamente, por lo que necesitan comunicarse entre ellos para interactuarnecesitan comunicarse entre ellos para interactuarComunicaciComunicacióón involucra las operaciones siguientes:n involucra las operaciones siguientes:
la transferencia de datosla transferencia de datosla sincronizacila sincronizacióón de la recepcin de la recepcióón con la emisin con la emisióónn
Dos enfoques en sistemas distribuidos:Dos enfoques en sistemas distribuidos:paso de mensajespaso de mensajesllamado de procedimiento remotollamado de procedimiento remoto
Existen dos modelos:Existen dos modelos:modelo de comunicacimodelo de comunicacióón par a parn par a parmodelo de comunicacimodelo de comunicacióón grupaln grupal
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 13
DiapoDiapo. No. . No. 2525Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Estructura softwareEstructura softwareEstructura software
Sistemas centralizados son monolSistemas centralizados son monolííticos:ticos:conjunto abstracciones que se ofrece a las aplicaciones conjunto abstracciones que se ofrece a las aplicaciones estestáán reunidas en una sola interfazn reunidas en una sola interfaz
Sistemas distribuidosSistemas distribuidosprogramas aplicaciprogramas aplicacióón pueden acceder diferentes n pueden acceder diferentes servicios , en el cual cada uno cuenta con su propia servicios , en el cual cada uno cuenta con su propia interfaz para acceder recursosinterfaz para acceder recursos
Principales nivelesPrincipales nivelesaplicacionesaplicacionessoporte de lenguaje de programacisoporte de lenguaje de programacióónnsistema operativosistema operativohardwarehardware
DiapoDiapo. No. . No. 2626Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Asignación cargaAsignaciAsignacióón cargan carga
Dado un proceso, en donde se va a ejecutarDado un proceso, en donde se va a ejecutarModelo simple la capacidad de memoria y el desempeModelo simple la capacidad de memoria y el desempeñño o de un procesador de una estacide un procesador de una estacióón determina el taman determina el tamañño o mmááximo de tarea que se puede ejecutarximo de tarea que se puede ejecutarModelosModelos
modelo de servidor de estacimodelo de servidor de estacióónnmodelo de piscina de procesadoresmodelo de piscina de procesadoresmodelo de la estacimodelo de la estacióón de trabajon de trabajomodelo de memoria compartida distribuidamodelo de memoria compartida distribuida
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 14
DiapoDiapo. No. . No. 2727Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ConsistenciaConsistenciaConsistencia
Diferentes procesos acceden y actualizan datos Diferentes procesos acceden y actualizan datos concurrentementeconcurrentementeLos cambios no son instantLos cambios no son instantááneosneosUn cierto conjunto de cambios debe de aparecer igual a Un cierto conjunto de cambios debe de aparecer igual a todos los otros procesos que integran el sistema distribuido.todos los otros procesos que integran el sistema distribuido.Tipos consistencia:Tipos consistencia:
consistencia de actualizaciconsistencia de actualizacióónnconsistencia de replicaconsistencia de replicaconsistencia de cachconsistencia de cachééconsistencia de fallasconsistencia de fallasconsistencia de relojconsistencia de relojconsistencia de interfaz de usuarioconsistencia de interfaz de usuario
DiapoDiapo. No. . No. 2828Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Requerimientos usuarioRequerimientos usuarioRequerimientos usuario
FuncionalidadFuncionalidadReconfiguraciReconfiguracióónnCalidad del servicioCalidad del servicio
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 15
DiapoDiapo. No. . No. 2929Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
FuncionalidadFuncionalidadFuncionalidad
MMíínimo requerimiento para un sistema distribuido es que nimo requerimiento para un sistema distribuido es que la funcionalidad del sistema no sea menor a la que el la funcionalidad del sistema no sea menor a la que el usuario espera de un sistema simpleusuario espera de un sistema simpleAparte del compartir informaciAparte del compartir informacióón los sistemas distribuidos n los sistemas distribuidos ofrecen las siguientes ventajas:ofrecen las siguientes ventajas:
acceso a una gran variedad de recursosacceso a una gran variedad de recursosposibilidad de realizar tareas paralelas o tolerantes a fallasposibilidad de realizar tareas paralelas o tolerantes a fallas
Existen tres opciones cuando se pasa a un sistema Existen tres opciones cuando se pasa a un sistema distribuido:distribuido:
adaptar los sistemas operativos existentesadaptar los sistemas operativos existentesemigrar a un sistema operativo diseemigrar a un sistema operativo diseññado especado especííficamente para ficamente para sistemas distribuidossistemas distribuidosemulaciemulacióón n
DiapoDiapo. No. . No. 3030Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
ReconfiguraciónReconfiguraciReconfiguracióónn
La expansiLa expansióón del sistema no debe de afectar al sisteman del sistema no debe de afectar al sistemaExisten dos tipos de escalas de tiempo de cambio:Existen dos tipos de escalas de tiempo de cambio:
cambios a corto tiempo: sistema debe de poder manejar los cambios a corto tiempo: sistema debe de poder manejar los siguientes cambios a tiempo de ejecucisiguientes cambios a tiempo de ejecucióón:n:
falla de un procesadorfalla de un procesadorcarga es pasada de mcarga es pasada de mááquinas sobrecargadas a mquinas sobrecargadas a mááquinas menos quinas menos cargadascargadasbaja de transferencia de datos, realizando mbaja de transferencia de datos, realizando máás trabajos localess trabajos locales
evolucievolucióón a largo/mediano plazo: cambios debidos al desarrollo n a largo/mediano plazo: cambios debidos al desarrollo normal del sistema, asignacinormal del sistema, asignacióón de nuevos roles a las mn de nuevos roles a las mááquinasquinas
Habilidad para acomodar cambios en cualquier escala se Habilidad para acomodar cambios en cualquier escala se conoce como conoce como reconfigurabilidadreconfigurabilidad
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 16
DiapoDiapo. No. . No. 3131Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Calidad servicioCalidad servicioCalidad servicio
Se debe de discutir la calidad en base a:Se debe de discutir la calidad en base a:DesempeDesempeññoo
velocidad a la que se le da respuesta a una demanda de serviciovelocidad a la que se le da respuesta a una demanda de servicio
Confiabilidad y disponibilidadConfiabilidad y disponibilidadconfiablilidadconfiablilidad: que tan diferente es el sistema con respecto a lo que : que tan diferente es el sistema con respecto a lo que fue disefue diseññadoadodisponibilidad: contar con el sistema en todo momentodisponibilidad: contar con el sistema en todo momento
SeguridadSeguridadSistemas distribuidos generan nuevos problemas de seguridadSistemas distribuidos generan nuevos problemas de seguridad
privacidad e integridad de los datos cuando viajan a travprivacidad e integridad de los datos cuando viajan a travéés de la s de la redredabertura a la interferencia con el software del sistema, cualquiabertura a la interferencia con el software del sistema, cualquier er software puede ejecutarse en una msoftware puede ejecutarse en una mááquina vulnerablequina vulnerable
DiapoDiapo. No. . No. 3232Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Categorías Sistemas DistribuidosCategorCategoríías Sistemas Distribuidosas Sistemas Distribuidos
Redes de computadorasRedes de computadorasComputadoras multiprocesadoresComputadoras multiprocesadoresProcesos cooperantesProcesos cooperantesCeldas de manufacturaCeldas de manufacturaRedes inalRedes inaláámbricas mbricas -- computacicomputacióón n mmóóvilvil
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 17
DiapoDiapo. No. . No. 3333Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Redes y Sistemas DistribuidosRedes y Sistemas DistribuidosRedes y Sistemas Distribuidos
WANWANcomputadoras pertenecientes a organizaciones computadoras pertenecientes a organizaciones diferentesdiferentesdistancia fdistancia fíísica: msica: máás de 10kmss de 10kmsnodo: es una rednodo: es una red
LAN LAN computadoras pertenecientes a una sola organizacicomputadoras pertenecientes a una sola organizacióónndistancia fdistancia fíísica: menor a los 10 sica: menor a los 10 kmskms..nodo: estacinodo: estacióón trabajo, servidor, PC, etc.n trabajo, servidor, PC, etc.
DiapoDiapo. No. . No. 3434Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
MAN MAN Red metropolitanaRed metropolitanaTecnologTecnologíía: fibra a: fibra óóptica (FDDI)ptica (FDDI)TransmisiTransmisióón de voz, imn de voz, imáágenes y datos hasta 50 genes y datos hasta 50 km.km.Diferencia con WAN: latencias pequeDiferencia con WAN: latencias pequeññasas
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 18
DiapoDiapo. No. . No. 3535Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Problemas a Resolver en las WAN’sProblemas a Resolver en las Problemas a Resolver en las WANWAN’’ss
Confiabilidad del intercambio de datosConfiabilidad del intercambio de datosSelecciSeleccióón de rutas de comunicacin de rutas de comunicacióónnControl de trControl de trááficoficoPrevenciPrevencióón de cuellos de botellan de cuellos de botellaSeguridadSeguridad
DiapoDiapo. No. . No. 3636Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Problemas Comunes en LAN’sProblemas Comunes en Problemas Comunes en LANLAN’’ss
BroadcastingBroadcasting y sincronizaciy sincronizacióónnElecciEleccióónnDetecciDeteccióón de terminacin de terminacióónnAsignaciAsignacióón de recursosn de recursosExclusiExclusióón mutuan mutuaDeadlockDeadlockMantenimiento archivos distribuidosMantenimiento archivos distribuidos
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 19
DiapoDiapo. No. . No. 3737Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Computadoras MultiprocesadoresComputadoras MultiprocesadoresComputadoras Multiprocesadores
Computadora que consiste de diferentes Computadora que consiste de diferentes procesadores generalmente ubicados dentro procesadores generalmente ubicados dentro de un mismo espacio fde un mismo espacio fíísicosicoProcesadores homogProcesadores homogééneosneosPequePequeñña escala geogra escala geográáficaficaObjetivo principal:Objetivo principal:
mejorar la velocidad del cmejorar la velocidad del cáálculolculo
DiapoDiapo. No. . No. 3838Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Los Sistemas Distribuidos y los MultiprocesadoresLos Sistemas Distribuidos y los Los Sistemas Distribuidos y los MultiprocesadoresMultiprocesadores
ImplementaciImplementacióón sistema envn sistema envíío de mensajeso de mensajesImplementaciImplementacióón memoria virtual compartidan memoria virtual compartidaBalance de cargaBalance de cargaTolerancia a fallasTolerancia a fallas
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 20
DiapoDiapo. No. . No. 3939Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Procesos CooperantesProcesos CooperantesProcesos Cooperantes
Procesos que Procesos que interactuaninteractuan para la solucipara la solucióón de n de un determinado problema, o para un determinado problema, o para proporcionar un servicioproporcionar un servicioComparten memoria en comComparten memoria en comúúnnTrabajan sobre el mismo procesadorTrabajan sobre el mismo procesadorEjemplo: sistemas operativos, (Ejemplo: sistemas operativos, (daemonsdaemons))
DiapoDiapo. No. . No. 4040Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
El trabajo cooperativoEl trabajo cooperativoEl trabajo cooperativo
Permite resolver problemas que por su complejidad, su Permite resolver problemas que por su complejidad, su naturaleza inherentemente distribuida y/o sus naturaleza inherentemente distribuida y/o sus requerimientos de eficiencia, no podrrequerimientos de eficiencia, no podríían ser resueltos de an ser resueltos de manera aislada.manera aislada.Se requiere la participaciSe requiere la participacióón de grupos de trabajo que n de grupos de trabajo que colaboren de forma organizada, coordinada y coherentecolaboren de forma organizada, coordinada y coherenteSistema cooperativo estSistema cooperativo estáá conformado por un conjunto de conformado por un conjunto de agentes autagentes autóónomos con capacidad de interactuarnomos con capacidad de interactuarSe hace un manejo de grupos a partir de un Se hace un manejo de grupos a partir de un esquema de esquema de pizarrpizarróónn, as, asíí como de una como de una red de contratosred de contratos
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 21
DiapoDiapo. No. . No. 4141Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Ejemplo: robocupEjemplo: Ejemplo: robocuprobocup
DiapoDiapo. No. . No. 4242Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Principales Áreas de los Procesos CooperantesPrincipales Principales ÁÁreas de los Procesos reas de los Procesos CooperantesCooperantes
ExclusiExclusióón mutuan mutuaDeadlocksDeadlocksSincronizaciSincronizacióónnIntercambio de informaciIntercambio de informacióónnAsignaciAsignacióón recursosn recursos
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 22
DiapoDiapo. No. . No. 4343Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Celdas de ManufacturaCeldas de ManufacturaCeldas de Manufactura
Robots conectados entre ellos a travRobots conectados entre ellos a travéés de un medio s de un medio de comunicacide comunicacióón, cada uno desarrollando una n, cada uno desarrollando una actividad en particular, con un objetivo global en actividad en particular, con un objetivo global en comcomúúnn
-- ensamblajeensamblaje-- control de un determinado sistemacontrol de un determinado sistema
DiapoDiapo. No. . No. 4444Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Computación MóvilComputaciComputacióón Mn Móóvilvil
WirelessWireless Local Local AreaArea NetworksNetworks o o WLANWLAN’’ss..Ausencia de cables como medio de comunicaciAusencia de cables como medio de comunicacióón.n.EnvEnvíío/recepcio/recepcióón de ondas electromagnn de ondas electromagnééticas que ticas que viajan del emisor al receptor a travviajan del emisor al receptor a travéés del espacio.s del espacio.Computadoras desatadas (Computadoras desatadas (untethereduntethered o o tetherlesstetherlesscomputercomputer).).Computadoras y aplicaciones mComputadoras y aplicaciones móóviles.viles.Computadoras nComputadoras nóómadas.madas.
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 23
DiapoDiapo. No. . No. 4545Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Computadora MComputadora Móóvilvil::Aquella cuyo hardware y software le permiten Aquella cuyo hardware y software le permiten cambiar de lugar mientras ejecuta sus aplicaciones.cambiar de lugar mientras ejecuta sus aplicaciones.
AplicaciAplicacióón Mn Móóvilvil::Aquella que es capaz de llevar a cabo sus Aquella que es capaz de llevar a cabo sus funfun--cionesciones independientemente de la localizaciindependientemente de la localizacióón yn ydel estado dindel estado dináámico de la computadora que lamico de la computadora que laejecuta.ejecuta.
DefinicionesDefiniciones
DiapoDiapo. No. . No. 4646Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Pagging y RoamingPaggingPagging y y RoamingRoaming
PG PG PG
MSCPG
PG PG
PG
caller
Location areaCellcallee
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 24
DiapoDiapo. No. . No. 4747Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Problemas Vinculados con los Sistemas DistribuidosProblemas Vinculados con los Problemas Vinculados con los Sistemas DistribuidosSistemas Distribuidos
RuteoRuteoPaggingPagging y y roamingroamingInformaciInformacióón de la ubicacin de la ubicacióón de la unidad mn de la unidad móóvil vil (almacenamiento y actualizaci(almacenamiento y actualizacióón)n)ConsistenciaConsistenciaSeguridadSeguridadTransferencias de llamadasTransferencias de llamadas
DiapoDiapo. No. . No. 4848Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Sistemas Distribuidos vs. RedesSistemas Distribuidos vs. RedesSistemas Distribuidos vs. Redes
Una aplicaciUna aplicacióón en una red de computadoras es un n en una red de computadoras es un sistema distribuido, pero un sistema distribuido no sistema distribuido, pero un sistema distribuido no siempre es una red de computadorassiempre es una red de computadoras
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 25
DiapoDiapo. No. . No. 4949Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Sistemas ¿distribuidos?Sistemas Sistemas ¿¿distribuidos?distribuidos?
¿¿QuQuéé distribuir?distribuir?
DatosDatos
ControlControl
DiapoDiapo. No. . No. 5050Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Distribuyendo los datosDistribuyendo los datosDistribuyendo los datos
La distribuciLa distribucióón puede tomar diversas formas:n puede tomar diversas formas:
-- DuplicaciDuplicacióónn
-- ParticionamientoParticionamiento
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 26
DiapoDiapo. No. . No. 5151Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
La Duplicación de DatosLa DuplicaciLa Duplicacióón de Datosn de Datos
Existe duplicaciExiste duplicacióón de un dato n de un dato xx, si este se encuentra , si este se encuentra duplicado en duplicado en nn ejemplares ejemplares xx11, x, x22 .... .... xxnn, donde , donde 1,2, .... n1,2, .... nson los identificadores de los sitios que participan en el son los identificadores de los sitios que participan en el algoritmo distribuido.algoritmo distribuido.
Asegurar la coherencia mutua de las copias a todo instanteAsegurar la coherencia mutua de las copias a todo instantelas copias flas copias fíísicas sicas xxii tengan el mismo valor tengan el mismo valor xx
xx11 = x= x22 = ...... = ...... xxii ...... ...... xxnn = x= x
DiapoDiapo. No. . No. 5252Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Ejemplo de duplicaciónEjemplo de duplicaciEjemplo de duplicacióónn
x1x2
x3
Pierre 500Sam 700Juan 900
Pierre 500Sam 700Juan 900
Pierre 500Sam 700Juan 900
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 27
DiapoDiapo. No. . No. 5353Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Partición de DatosParticiParticióón de Datosn de Datos
Hablamos de Hablamos de particionamientoparticionamiento de datos cuando, de datos cuando, estando accesibles desde todos los sitios, los datos estando accesibles desde todos los sitios, los datos son son particionadosparticionados de tal forma que cada una de las de tal forma que cada una de las particiones se encuentra sobre un sitio dadoparticiones se encuentra sobre un sitio dado
Para obtener la totalidad de la informaciPara obtener la totalidad de la informacióón se tienen se tieneque consultar a todo el mundoque consultar a todo el mundo
I = (xI = (x11 + x+ x22 + ... + ... xxii ... + ... + xxnn))
DiapoDiapo. No. . No. 5454Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Ejemplo de ParticiónEjemplo de ParticiEjemplo de Particióónn
x1 x2
x3
Pierre 500 Sam 500
Juan 900
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 28
DiapoDiapo. No. . No. 5555Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Distribuyendo el ControlDistribuyendo el ControlDistribuyendo el Control
No existe una jerarquNo existe una jerarquíía esta estááticaticaNo hay un proceso lNo hay un proceso lííder que en permanencia asegure el der que en permanencia asegure el controlcontrolPuede ser necesario un algoritmo de asignaciPuede ser necesario un algoritmo de asignacióón de n de funcionesfuncionesMuy a menudo depende del problema que se intenta Muy a menudo depende del problema que se intenta resolverresolver
DiapoDiapo. No. . No. 5656Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Elementos de Sistemas DistribuidosElementos de Sistemas DistribuidosElementos de Sistemas Distribuidos
(1) Procesos(1) Procesosreciben, manipulan, transforman y emiten datos reciben, manipulan, transforman y emiten datos
(2) V(2) Víías de comunicacias de comunicacióónnmedio sobre el cual circulan los datos y que medio sobre el cual circulan los datos y que forman una red local dotado de propiedades forman una red local dotado de propiedades estructurales y dinestructurales y dináámicas.micas.
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 29
DiapoDiapo. No. . No. 5757Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Los procesosLos procesosLos procesos
TTéérmino introducido por rmino introducido por DijkstraDijkstra en 1968 para en 1968 para modelar las relaciones entre diferentes unidades modelar las relaciones entre diferentes unidades de ejecucide ejecucióón independientes que deben compartir n independientes que deben compartir recursos comunes, (materiales y lrecursos comunes, (materiales y lóógicos)gicos)En sistemas/algoritmos distribuidos:En sistemas/algoritmos distribuidos:unidad de ejecuciunidad de ejecucióón elemental de un algoritmo n elemental de un algoritmo distribuido o paralelo; diversas de esas unidades distribuido o paralelo; diversas de esas unidades pueden ejecutarse simultpueden ejecutarse simultááneamente, y cada una es neamente, y cada una es indivisible.indivisible.
DiapoDiapo. No. . No. 5858Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Características de los procesosCaracterCaracteríísticas de los procesossticas de los procesos
Se consideran procesos secuenciales (i.e. Se consideran procesos secuenciales (i.e. presentan un flujo de control presentan un flujo de control úúnico)nico)
Sensibles al paralelismo de su ambienteSensibles al paralelismo de su ambiente
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 30
DiapoDiapo. No. . No. 5959Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Las vías de comunicaciónLas vLas víías de comunicacias de comunicacióónn
Medio a travMedio a travéés del cual viajan los mensajess del cual viajan los mensajesSistema distribuido: vSistema distribuido: víías de comunicacias de comunicacióón n virtualesvirtualesPropiedades:Propiedades:
1. Propiedades estructurales1. Propiedades estructurales2. Propiedades 2. Propiedades comportamentalescomportamentales
DiapoDiapo. No. . No. 6060Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Propiedades estructuralesPropiedades estructuralesPropiedades estructurales
Son de naturaleza topolSon de naturaleza topolóógicagicaSe refiere a las mallas de comunicaciSe refiere a las mallas de comunicacióónnToda topologToda topologíía es posible sega es posible segúún el problema n el problema tratado y el algoritmo distribuido que lo resuelve.tratado y el algoritmo distribuido que lo resuelve.Estructuras mEstructuras máás comunes:s comunes:
1. Anillo1. Anillo2. Estrella2. Estrella3. 3. ÁÁrbolrbol4. Completo4. Completo
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 31
DiapoDiapo. No. . No. 6161Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Principales propiedades comportamentalesPrincipales propiedades Principales propiedades comportamentalescomportamentales
TransmisiTransmisióón se hace sin duplicacin se hace sin duplicacióón de mensajesn de mensajesTransmisiTransmisióón sin alteracin sin alteracióón de mensajesn de mensajesEntre dos procesos el orden de recepciEntre dos procesos el orden de recepcióón de n de mensajes es idmensajes es idééntico a su orden de emisintico a su orden de emisióón: no n: no hay desplazamientoshay desplazamientosTiempo espera de un mensaje es finito, aunque Tiempo espera de un mensaje es finito, aunque aleatorio, (i.e. no hay perdida de mensajes).aleatorio, (i.e. no hay perdida de mensajes).
DiapoDiapo. No. . No. 6262Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Principales propiedades comportamentalesPrincipales propiedades Principales propiedades comportamentalescomportamentales
Tiempo atenciTiempo atencióón limitado => existe una cota n limitado => existe una cota superior:superior:
si no hay perdida de mensajesi no hay perdida de mensajemensaje fue recibidomensaje fue recibido
en caso contrarioen caso contrariomensaje recibido o perdidomensaje recibido o perdido
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 32
DiapoDiapo. No. . No. 6363Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Aplicación de Sistemas DistribuidosAplicaciAplicacióón de Sistemas Distribuidosn de Sistemas Distribuidos
DiseDiseñño de protocoloso de protocolos
Bases de DatosBases de Datos
Sistemas OperativosSistemas Operativos
DiapoDiapo. No. . No. 6464Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Diseño de ProtocolosDiseDiseñño de Protocoloso de Protocolos
ProtocolosProtocolosConjunto de reglas bien conocidas y formatos a Conjunto de reglas bien conocidas y formatos a ser usadas para la comunicaciser usadas para la comunicacióón entre dos n entre dos procesosprocesos
Ejemplos:Ejemplos:ElecciEleccióón, construccin, construccióón n áárbol, rbol, interbloqueointerbloqueoTCP/IP TCP/IP
Introducción a los Sistemas Distribuidos Sistemas Distribuidos
Sistenas Distribuidos 33
DiapoDiapo. No. . No. 6565Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Bases de Datos DistribuidasBases de Datos DistribuidasBases de Datos Distribuidas
Base de datos fBase de datos fíísicamente almacenada en sicamente almacenada en dos o mdos o máás sitioss sitiosGeogrGeográáficamente dispersaficamente dispersaAdministra y controla la base de datos Administra y controla la base de datos completa como un conjunto completa como un conjunto úúnico de datosnico de datos
DiapoDiapo. No. . No. 6666Dr. Roberto GDr. Roberto Góómez C.mez C.
Introd. Sistemas DistribuidosIntrod. Sistemas Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos en RedColección de sistemas operativos de computadoras conectados en una red, y que cuentan con módulos para proporcionar acceso a recursos remotos.
Sistemas Operativos DistribuidosEs un sistema operativo cuyos componentes están conectados en red, el cual es visto lógicamente como un simple sistema operativo que existe para todos los componentes del sistema