SlideShare una empresa de Scribd logo
1 de 121
Sistemas Distribuidos
“Valora las alternativas y ventajas para la implantación
de un sistema distribuido (Compartir Recursos) ”
Estructuras de Sistemas Distribuidos
Sistema de Archivos Distribuidos
Gestión Distribuida de procesos
Sistema de Ejecución Distribuida
Introducción2.0
2.1
2.2
2.3
2.4
 Una definición de sistema distribuido
 Conjunto de computadores interconectados igual que un sistema
en red que comparten un estado ofreciendo una visión de
sistema único (SSI) igual que un sistema centralizado
 Tipos de sistemas (evolución histórica)
 sistemas por lotes: proceso diferido, secuencial
 Sistemas centralizados de tiempo compartido: terminal
 Sistemas de teleproceso: red telefónica
 Sistemas personales: estaciones de trabajo, PCs
 Sistemas en red: cliente/servidor, protocolos (TCP/IP)
 Sistemas distribuidos: transparencia (GUI)
“A distributed system is a collection of independent computers that appears to
its users as a single coherent system”
A distributed system organized as middleware. The middleware layer extends over
multiple machines, and offers each application the same interface.
Un sistema Distribuido es software  Middleware
Ventajas del Sistema distribuido con respecto a:
• Sistema centralizado
• Bajo coste: puede estar compuesto de PCs estándar
• Escalabilidad: consecuencia de su modularidad
• Flexibilidad: reutilización de máquinas “viejas”
• Disponibilidad: mediante replicación de recursos
• Ofrecen la posibilidad de paralelismo
• Permiten acceder a recursos remotos
• Sistema en red
• Uso más eficiente de los recursos (migración)
• Acceso transparente a los recursos
Desventajas respecto a un sistema centralizado
• Un sistema centralizado del mismo coste es más eficiente que cada uno de los
componentes del sistema distribuido.
• Si la distribución de recursos es inadecuada algunos recursos pueden estar
desbordados mientras otros están libres
• Mantener la consistencia puede ser muy “costoso” en el sistema distribuido.
• La red de interconexión es una fuente de problemas
• La gestión de la seguridad es más compleja
2.1 Estructuras de Sistemas
Distribuidos
2.1.1 Sistemas operativos de red
2.1.2 Sistemas operativos distribuidos
2.1.3 Servicios Remotos
 Un sistema operativo de red es un sistema operativo de computadora diseñado
para administrar y apoyar a las estaciones de trabajo, computadoras personales y
servidores normalmente conectados a una red de área local.
 El usuario ve un conjunto de máquinas independientes
 No hay transparencia
 Se debe acceder de forma explícita a los recursos de otras máquinas (conocer su
localización)
Sistema operativo
Lenguajes de programación
Aplicaciones
Red de interconexión
Hardware
Sistema operativo
Lenguajes de programación
Aplicaciones
Hardware
 Factores que empezaron con el desarrollo e implementación de los sistemas
operativos de red para:
 Redes de área local. (LAN)
 Redes de área amplia. (WAN)
 Cada computadora tiene su sistema operativo privado.
 La necesidad de compartir recursos.
 Cada usuario normalmente trabaja en su propia computadora o en una
computadora designada; usando una computadora diferente invariablemente
requiere algún tipo de "login" remoto.
 El deseo de mejorar el desempeño de las computadoras.
NetWare
Este sistema se diseñó con la finalidad de que lo usarán grandes compañías
que deseaban sustituir sus enormes máquinas conocidas como mainframe
por una red de PCs que resultara más económica y fácil de manejar.
UNIX
Los sistemas UNIX satisfacen necesidades de los programadores que crean
software y de los administradores que deben controlar las labores de
desarrollo de programas.
Windows NT
Las letras NT significan Nueva Tecnología. Fue diseñado para uso de
compañías grandes, por lo tanto realiza muy bien algunas tareas tales como
la potección por contraseñas.
IBM OS/2
LAN
SERVER
El Server de OS/2 opera a 32 bits y trabaja en conjunción con el Sistema
Operativo multitarea OS/2. El LAN Server se encuentra disponible en
versión para principiantes (Entry), es una solución de bajo costo y permite el
uso de un servidor no dedicado.
Linux
Linux es un sistema operativo para computadoras personales basadas en
Intel.
 Los sistemas operativos realizan muchas funciones, como:
 Planificar la distribución entre los usuarios.
 Evitar que los usuarios se interfieran.
 Proporcionar la interfaz con el usuario.
 Permitir que los usuarios compartan entre sí el hardware - datos.
 Administración de recursos compartidos
 Facilitar la entrada y salida.
 Recuperarse de los errores.
 Organizar los datos para lograr un acceso rápido y seguro.
 El sistema de archivos de un sistema operativo es el administrador
de ficheros.
 Ofrece funciones para compartir información, mantenerla privada,
obtener acceso a ella, respaldarla, recuperarla, hacerla independiente
del dispositivo y cifrarla.
 El acceso a los archivos se logra mediante funciones de los sistemas
operativos llamadas métodos de acceso.
 Las estrategias de administración del almacenamiento buscan obtener el
mejor aprovechamiento y desempeño posibles del recurso de
almacenamiento principal.
 Están dirigidas a la obtención del mejor uso posible del recurso del
almacenamiento principal .
 Se dividen en las siguientes categorías:
 Estrategias de: búsqueda por demanda o de búsqueda anticipada.
 Estrategias de colocación.
 Estrategias de reposición.
 El administrador de dispositivos se encarga de las comunicaciones
entre las aplicaciones y los dispositivos.
 Los dispositivos son componentes de hardware como unidades de
disco, impresoras y puertos de comunicación capaces de enviar
información al sistema operativo o recibir información de él. El
administrador de dispositivos se comunica con los manejadores de
dispositivos.
2.1.1 Sistemas operativos en Red
2.1.2 Sistemas operativos distribuidos
2.1.3 Servicios Remotos
ִVisión de sistema único (Single System Image)
Propiedades deseables:
 Transparencia
 ִFiabilidad y tolerancia a fallos
 Escalabilidad
 ִConsistencia
Consistencia
 Problemas relacionados con la replicación
 La red de interconexión es una nueva fuente de fallos
 La seguridad del sistema es más vulnerable
 Problemas para mantener la consistencia
 Distribución física: varias copias, cada una con su estado
 Errores y/o retardos en las comunicaciones
 Ausencia de reloj global: ¿cómo ordenar eventos?
 Para un rendimiento aceptable: relajar consistencia
ִTransparencia
 Es la ocultación al usuario que los componentes de este sistema distribuido están separados.
 El usuario percibirá que el sistema es un único sistema y no varios compones separados.
 Existen ocho formas de transparencia, las que más consideración tienen en un sistema
distribuido son la transparencia a nivel de acceso y la transparencia a nivel de localización.
 De acceso: no hay preocupación de la distribución de los archivos. Los programas deben
acceder de igual forma archivos locales y remotos.
 De localización: Los archivos deben poder cambiarse sin que cambie el nombre.
Fiabilidad
 Capacidad para realizar correctamente y en todo momento las funciones
para las que se ha diseñado
 Disponibilidad
• Fracción de tiempo que el sistema está operativo (%)
 Parámetros: MTBF (Mean Time Between Failures).
 Tolerancia a fallos
• Capacidad para seguir operando correctamente ante el fallo de alguno de
sus componentes.
Debe ser de fácil ampliación sin que
para ello los usuarios deban
modificar su protocolo de
comunicación ni se afecte la
EFICIENCIA del sistema.
a) visión del usuario b) estructura del sistema (visión del diseñador)
Aplicaciones Aplicaciones Aplicaciones
Servicios
Middleware
Servicios
Middleware
Servicios
Middleware
Sistema
Operativ
o
Sistema
Operativ
o
Sistema
Operativ
o
Hardware distribuido y red de comunicaciones
Aplicaciones
Servicios del
sistema
Hardware
distribuido y
red
Servicios Middleware: soporte RPC/RMI, soporte a comunicación uno-a-muchos,
sincronización de tiempos y ordenación de eventos, consistencia (replicación),
servicios de nombres, de seguridad…
 Se comporta como un SO único (visión única)
 Distribución con transparencia
 Se construyen normalmente como micro núcleos que ofrecen servicios básicos de
comunicación
 Todos los computadores deben ejecutar el mismo Sistema Operativo Distribuido
 Ejemplos : Cluster, Grid, etc.
Sistema operativo distribuido
Lenguajes de programación
Aplicaciones
Red de interconexión
Hardware Hardware
2.1.1 Sistemas operativos en Red
2.1.2 Sistemas operativos Distribuidos
2.1.3 Servicios Remotos
 Un acceso remoto es poder acceder desde una computadora a un recurso
ubicado físicamente en otra computadora que se encuentra geográficamente
en otro lugar, a través de una red local o externa (como Internet).
 En caso de que un usuario solicita el acceso a un archivo remoto:
 Se localiza mediante un esquema de nominación apropiada el servidor
que contiene el archivo
 Se debe efectuar la transferencia de datos para satisfacer la solicitud de
acceso remoto del usuario.
 Una de las formas más comunes de servicio remoto RPC, fue diseñado como una
forma de abstraer el mecanismo de llamadas a procedimientos para usarse entre
sistemas con conexiones de red.
 Llamada a procedimiento remoto es un protocolo que un programa puede utilizar para
solicitar un servicio de un programa ubicado en otro ordenador en una red sin tener
que comprender detalles de la red. RPC utiliza el modelo cliente / servidor.
 El programa solicitante es un cliente y el programa de prestación de servicios es el
servidor. Al igual que una llamada a procedimiento ordinario o local, un RPC es una
operación que requiere el programa síncrono solicitando ser suspendido hasta que se
devuelven los resultados del procedimiento remoto. Sin embargo, el uso de procesos
ligeros o de hilos que comparten el mismo espacio de direcciones permite a varios PCs
que se ejecutan simultáneamente.
2.2 Sistema de Archivos Distribuido
servicio de
archivos
servicio
de
directorio
s
Un sistema de archivos distribuidos, (DFS), es una implementación distribuida del
clásico modelo de tiempo compartido de un sistema de archivos, donde varios
usuarios comparten archivos y almacenan recursos.
 Sistema Distribuido: colección de máquinas interconectadas
por una red de comunicación.
 Recursos locales: recursos con los que cuenta la máquina
 Recursos remotos: el resto de las máquina y sus recursos
 Máquina: puede ser una estación o un mainframe
 Servicio: software ejecutándose en una o más máquinas que
proporcionan un tipo particular de función
 Servidor: software de servicio en una sola máquina Un
servidor es un proceso que implementa servicios
 Cliente: proceso que puede invocar un servicio a través de
un conjunto de operaciones que forman su interfaz de cliente
PUNTOS
CLAVES
 Las maquinas clientes no tiene en general acceso a los bloques de almacenamiento de forma
directa si no que pueden acceder a los datos a través de la red por medio de algún protocolo
de red.
 Los sistemas de archivos distribuidos almacena archivos en una o más maquinas
denominadas servidores y los hace accesibles a otros maquinas denominadas clientes, donde
se manipulan como si fueran locales.
 Es soportar la misma clase de comportamiento cuando los archivos están dispersos
físicamente entre los diversos sitios de un sistema distribuido
Se caracterizan por:
 La utilización efectiva de la memoria caché en el cliente para conseguir iguales prestaciones
o mejores que las de los sistemas de archivos locales
 El mantenimiento de la consistencia entre múltiples copias de archivos en las cachés de los
clientes cuando son actualizadas, la recuperación después de un fallo en el servidor o en el
cliente,
 Un alto rendimiento en la lectura y escritura de archivos de todos los tamaños.
 Arquitecturas Cliente-Servidor
 Sistemas de Archivo Distribuidos basados en Cluster
Modelo de Acceso Remoto Modelo de Carga y Descarga
Usuario
Sistema de Archivos
NFS
CODA
OPEN GFS
GLUSTERFS
Disco
 Uno de los sistemas de archivos más populares que trabaja con la
arquitectura de acceso remoto es NFS (Network File System).
 „La idea básica de NFS es que cada servidor de archivos proporcione
una visión estandarizada (interfaz) de su sistema de archivos local,
independientemente de la implementación de este último.
 El NFS cuenta con un protocolo de comunicación que permite a los
clientes acceder a los archivos guardados en el servidor. Luego, es
posible que un conjunto heterogéneo de procesos (quizás
ejecutándose en máquinas diferentes con SO diferentes) compartan
archivos.
NFS = Network File System (Originalmente desarrollado por Sun Microsystems
en 1984.)
 Permite compartir datos entre varios ordenadores de una forma sencilla.
 Es un sistema de archivos distribuido para un entorno de red de área local.
 Posibilita que distintos sistemas conectados a una misma red accedan a
ficheros remotos ficheros remotos como si se tratara de locales.
 Soportar un sistema heterogéneo en donde los clientes y servidores podrían
ejecutar distintos S. O. en hardware diverso, por ello es esencial que la interfaz
entre los clientes y los servidores esté bien definida.
 NFS logra este objetivo definiendo dos “protocolos cliente - servidor”.
Por ejemplo: Un usuario validado en una red no necesitará hacer login a un ordenador
específico: vía NFS, accederá a su directorio personal (que llamaremos exportado) en la
máquina en la que esté trabajando.
Network File System (Licencia abierta (GPL) Desarrollado en 1987.)
 Cuenta con bastantes características muy deseables para un sistema
distribuido (especialmente para un cluster)
 El cliente es capaz de funcionar sin problemas desconectado del
servidor, ya sea porque estamos trabajando en un portátil que
desconectamos de la red, por un fallo en la comunicación, o por una
caída del servidor.
 Replicación automática de servidores. Coda proporciona los
mecanismos necesarios para realizar réplicas automáticas entre
servidores, y para que los clientes puedan acceder a uno u otro de forma
transparente para el usuario si alguno cae.
 Modelo de seguridad propio e independiente del sistema operativo para
la identificación de usuarios.
 Distribución de un archivo entre varios servidores ( Ver figura b)
 „Técnicas de Distribución de Archivos: indican cómo se puede distribuir un archivo a
través de múltiples servidores.
 Distribuyendo un archivo grande entre varios servidores es posible buscar sus
diferentes partes en paralelo.
 „Ejemplos: GFS, Lustre
a) Distribuye todos los archivos a través de varios servidores.
b) Repartición de datos en varios discos para acceso en paralelo.
 Es un sistema de archivos de alta disponibilidad y escalabilidad que puede
brindar almacenamiento a gran escala (petabytes) a bajo costo
(opensource) y manejo de hasta miles de clientes
 GlusterFS agrupa dispositivos de almacenamiento a través de la
red y maneja la data como si fuese un solo bloque
Método de acceso a la data
 Los volúmenes de Clúster se pueden acceder de diversas maneras, se
puede utilizar NFS para exportar o también el protocolo nativo de
Clúster que es el más recomendado. Este protocolo esta basado en
FUSE (Fileystem user space) por lo cual hay que asegurarse que este
modulo este cargado en el kernel. FUSE permite levantar el sistema de
archivo de Gluster en el user space (espacio de memoria donde trabajan
las aplicaciones del usuario)
Algunas aplicaciones comerciales
Gluster Virtual Appliance for Amazon Web Services: Permite el desarrollo de un
servidor de almacenamiento basado en Gluster en la nube de Amazon
2.2.1 Nombres y Transparencia
2.2.2 Acceso a Archivos Remotos
2.2.3 Servicios con y sin estado
2.2.4 Replicación de archivos
 Servicio uniforme de nombres para todos los objetos: Nombres orientados al usuario
 Asociación entre nombre y posición dinámica
 Propiedad más exigente que la transparencia
 Transparencia de la posición:
 El nombre del objeto no permite obtener directamente el lugar donde está almacenado
 Independencia de la posición:
 El nombre no necesita ser cambiado cuando el objeto cambia de lugar.
 Diferentes esquemas para diferentes archivos. (Varios servidores)
 Escalabilidad: Facilidad de crecimiento
 Replicación
2.2.1 Nombres y Transparencia
2.2.2 Acceso a Archivos Remotos
2.2.3 Servicios con y sin estado
2.2.4 Replicación de archivos
La coutilización
 La semántica de coutilización es un conjunto de criterios que se toman en
cuenta al momento que un archivo es solicitado por varios usuarios y se desea
mostrar las actualizaciones hechas a este archivo.
 Semántica UNIX
 Las modificaciones a un archivo abierto son visibles de inmediato por los
demás usuarios.
 El archivo tiene una sola imagen que intercala todos los accesos, sea cual sea
su origen.
 Semántica de Sesión
 Las modificaciones a un archivo abierto no son visibles de inmediato por los demás
usuarios.
 Las modificaciones que sufre un archivo son visibles solo después de que se cierra un
archivo.
 Métodos de Acceso a Archivos
 Modelo carga/descarga
 Transferencias completas del archivo
 Localmente se almacenan en memoria o discos locales
 Normalmente utilizan semántica de sesión
 Eficiencia en las transferencias
 Llamada open con mucha latencia
 Múltiples copias de un archivo
 Modelo de servicios remotos
 El servidor debe proporcionar todas las operaciones sobre el archivo.
 Acceso por bloques
 Modelo cliente/servidor
 Empleo de caché en el cliente
 Combina los dos modelos anteriores.
2.2.1 Nombres y Transparencia
2.2.2 Acceso a Archivos Remotos
2.2.3 Servicios con y sin estado
2.2.4 Replicación de archivos
Servidores con estado
 Cuando se abre un archivo, el servidor almacena información y da
al cliente un identificador único a utilizar en las posteriores
llamadas
 Por Ejemplo: La tabla que asocia los descriptores de archivos con los
archivos propiamente dichos.
 Pueden conocer qué datos están en el cache del cliente (permiten
al cliente mantener copias locales de datos compartidos).
 Cuando se cierra un archivo se libera la información
Servidores sin estado (stateless)
 Cuando un cliente envía una solicitud a un servidor, éste la lleva a cabo,
envía la respuesta y elimina de sus tablas internas toda la información
relativa a dicha solicitud.
 Por ejemplo, no registra si un archivo ha sido abierto previamente.
 No guarda información del cliente entre solicitudes. No mantiene un
registro de las operaciones que van dejando los clientes
 Cada solicitud debe ser auto contenida. Operaciones idempotentes
 Ventajas de los servidores con estado
 Mensajes de petición más cortos
 Mejor rendimiento (se mantiene información en memoria)
 Facilita la lectura adelantada. El servidor puede analizar el patrón de accesos
que realiza cada cliente
 Es necesario en invalidaciones iniciadas por el servidor
 Ventajas de los servidores sin estado
 Más tolerante a fallos
 No son necesarios open y close. Se reduce el nº de mensajes
 No se gasta memoria en el servidor para almacenar el estado
2.2.1 Nombres y Transparencia
2.2.2 Acceso a Archivos Remotos
2.2.3 Servicios con y sin estado
2.2.4 Replicación de archivos
Caché de Bloques
 El empleo de cache de bloques permite mejorar el rendimiento
 Explota el principio de proximidad de referencias:
 Proximidad temporal
 Proximidad espacial
 Lecturas adelantadas: Mejora el rendimiento de las operaciones de lectura, sobre todo
si son secuenciales
 Escrituras diferidas : Mejora el rendimiento de las escrituras
Otros tipos de caché
 Caché de nombres
 Caché de metadatos del sistema de archivos
Localización de las Caché en un Sistema Archivos Distribuido
 Caché en los servidores
 Reducen los accesos a disco
 Caché en los clientes
 Reducen el tráfico por la red
 Reducen la carga en los servidores
 Mejora la capacidad de crecimiento
 Dos posibles localizaciones
 En discos locales: Más capacidad, más lento, no volátil, facilita la
recuperación
 En memoria principal: Menor capacidad, más rápido, memoria volátil
Funcionamiento de una Cache de bloques
Cache
Cliente
Cache
Servidor
Disco
Proceso de usuario
read()
Buscar
bloque.
Si no está,
reservar uno.
read()
Buscar
bloque.
Si no está,
reservar uno.
read()
datos
Tamaño de la memoria cache
 Mayor tamaño puede incrementar la tasa de aciertos y mejorar la utilización de la red pero
 Aumentan los problemas de coherencia
 Depende de las características de las aplicaciones
 En memoria caché grandes
 Es beneficioso emplear bloques grandes (8 KB y más)
 En memorias pequeñas
 El uso de bloques grandes es menos adecuado
Políticas de Actualización
 Escritura inmediata (write-through)
 Buena fiabilidad
 En escrituras se obtiene el mismo rendimiento que en el modelo de accesos remotos
 Las escrituras son más lentas
 Escritura diferida (write-back)
 Escrituras más rápidas. Se reduce el tráfico en la red
 Los datos pueden borrarse antes de ser enviados al servidor
 Alternativas
 Volcado (flush) periódico (Sprite)
 Write-on-close
El problema de la Coherencia
 El uso de caché en los clientes de un sistema de archivos introduce el problema
de la coherencia de caché:
 Múltiples copias.
 El problema surge cuando se coutiliza un archivo en escritura:
 Coutilización en escritura secuencial
 Típico en entornos y aplicaciones distribuidas.
 Coutilización en escritura concurrente
 Típico en aplicaciones paralelas.
Solución al problema de la Coherencia
 No emplear caché en los clientes.
 Solución trivial que no permite explotar las ventajas del uso de caché en los
clientes (reutilización, lectura adelantada y escritura diferida)
 No utilizar caché en los clientes para datos compartidos en escritura (Sprite).
 Accesos remotos sobre una única copia asegura semántica UNIX
 Empleo de protocolos de coherencia de caché
2.3 Gestion Distribuida de Procesos
• Aplicaciones paralelas  Muchas tareas a la vez
• Objetivo principal: disminuir el tiempo de ejecución
• Aplicaciones distribuidas (motivaciones):
• ִAlto rendimiento: cluster computing
• Tolerancia a fallos: replicación, transacciones
• Sistemas informáticos bancarios
• La gestión de la consistencia es crítica
• Alta disponibilidad: caching, mirroring
• Bajo tiempo de respuesta: WWW, sistemas de ficheros.
• La consistencia es importante, pero no crítica
• Movilidad, ubicuidad: aplicaciones AmI
Es un aplicación con distintos componentes que se
ejecutan en entornos separados, normalmente en
diferentes plataformas conectadas a través de la red.
La distribución se refiere a la construcción de
software por partes, a cada parte se le asigna
una serie de responsabilidades entero de un
sistema.
La distribución habla de que las partes o
componentes se ejecutan en diferentes
máquinas (física)  Separación en Niveles
Programáticamente también es posible separar o agrupar los
componentes (lógica).  Separación en CAPAS:
• Las capas dentro de una arquitectura son un conjunto de
SERVICIOS especializados que pueden ser accesibles por
múltiples clientes y deben ser fácilmente reutilizables.”
• Cada capa tiene N componentes
• Cada componente :
• Es un elemento de software que encapsula una serie de
funcionalidades
• Es una unidad independiente que puede ser usado en
conjunto otras para formar un sistema mas complejo.
• Esta compuesto por clases o recursos complementarios. 
Paquete o Modulo
Aplicaciones Cliente-Servidor: el servidor se
proporciona y procesa los datos solicitados por el
cliente; el cliente maneja la aplicación, y sus
funciones son solicitar datos al servidor.
Middleware: Un conjunto de controladores, API u
otro software que mejora la conectividad entre
las aplicaciones de cliente y un servidor.
¿Qué se entiende por computador?
Datos
Instrucciones
Un dato a la vez Muchos datos a la
vez
Una
instrucción a la
vez
SISD
arquitecturas Von Neumann
clásicas
SIMD
procesadores
vectoriales
Muchas
instrucciones
a la vez
MISD
no se ha implementado
MIMD
multiprocesadores,
multicomputadores, redes
Procesadores con base en buses
Constan de cierto número de cpu conectadas a un bus
común, junto con un módulo de memoria.
Todos los elementos precedentes operan en paralelo.
Solo existe una memoria, la cual presenta la
propiedad de la coherencia:
Las modificaciones hechas por una cpu se reflejan de
inmediato en las subsiguientes lecturas de la misma o
de otra cpu.
El problema de este esquema es que el bus tiende a
sobrecargarse y el rendimiento a disminuir
drásticamente; la solución es añadir una memoria
caché de alta velocidad entre la cpu y el bus:
El caché guarda las palabras de acceso reciente.
Todas las solicitudes de la memoria pasan a través del
caché.
Procesadores con conmutador
El esquema de multiprocesadores con base en buses resulta apropiado para hasta
aproximadamente 64 procesadores. Para superar esta cifra es necesario un método
distinto de conexión entre procesadores (cpu) y memoria.
Una posibilidad es dividir la memoria en módulos y conectarlos a las cpu con un
“conmutador de cruceta” (cross-bar switch):
• Cada cpu y cada memoria tiene una conexión que sale de él.
• En cada intersección está un “conmutador del punto de cruce” (crosspoint switch)
electrónico que el hardware puede abrir y cerrar:
• Cuando una cpu desea tener acceso a una memoria particular, el conmutador del
punto de cruce que los conecta se cierra momentáneamente.
• La virtud del conmutador de cruceta es que muchas cpu pueden tener acceso a la
memoria al mismo tiempo:
• Aunque no a la misma memoria simultáneamente.
• Lo negativo de este esquema es el alto número de conmutadores:
• Para “n” cpu y “n” memorias se necesitan “n” x “n”
MIMD: grado de acoplamiento e interconexión
grado de acoplamiento
interconexión
memoria física compartida
espacios de memoria física
independientes
bus compartido multiprocesadores multicomputadores, redes LAN
red de interconexión
multiprocesadores
UMA y NUMA
multicomputadores, redes WAN
(Internet)
Procesadores Conectados por redes Lan
 Computadores de memória distribuídas son muy utilizadas.
 Presisan de red de interconexion entre los processos.
 Los procesadores tienen su propia memoria local y esta memoria está
dirigida únicamente por el procesador local, de deste modo un
procesador no puede acceder a la memoria de otro equipo
directamente.
 Cada procesador funciona de manera independiente de los otros.
 Cuando un procesador necesita acceder a los datos que se encuentra
en la memoria de otro procesador, este acceso es a través de la red de
interconexión de estas máquinas mediante el intercambio de mensajes.
Esta red puede ser una red dedicada, o incluso una red ETHERNET
sencilla.
the rest of
email server
Web server
Desktop
computers
File serv er
router/firewall
print and other serv ers
other servers
print
Local area
network
email server
the Internet
Red RedIRIS
2.3.1 Migración de procesos
2.3.2 Estados globales distribuidos
2.3.3 Gestión distribuida de procesos – exclusión Mutua
2.3.4 Interbloqueo distribuido
Para llevar a cabo la ejecución remota o
la migración de procesos , es necesario el
sistema tenga políticas de asignación de
procesadores.
A continuación se analizaran algunos mecanismos clave utilizados en los
sistemas operativos distribuidos:
1. La migración de procesos, que es el movimiento de un proceso activo
de una máquina a otra.
2. El cómo procesos en diferentes sistemas pueden coordinar sus
actividades cuando cada uno está gobernado por un reloj local y cuando
hay un retardo en el intercambio de información.
3. La exclusión mutua
4. El interbloqueo
La migración de procesos es la transferencia de
suficiente cantidad del estado de un proceso de
un computador a otro para que el proceso
ejecute en la máquina destino.
La migración de procesos con la capacidad de expulsar un
proceso en una máquina y reactivarlo posteriormente en
otra (expulsiva) es posible, aunque con una sobrecarga y
alta complejidad. Este coste llevó a que algunos
observadores concluyesen que la migración de procesos no
era práctica. Actualmente existen nuevos desarrollos en
esta área.
 La migración de procesos es deseable en sistemas distribuidos por:
• Compartición de carga. Moviendo procesos de un sistema muy cargado a otro poco
cargado, la carga puede equilibrarse para mejorar el rendimiento global. Datos empíricos
sugieren que son posibles mejoras del rendimiento.
• Disponibilidad. Se puede necesitar que los procesos de larga duración se muevan para
sobrevivir en el caso de fallos que puedan ser conocidos anticipadamente o anticipándose a
paradas del sistema planificadas. Si el sistema operativo proporciona la información, un
proceso que desea continuar puede bien migrar a otro sistema o asegurarse que podrá re
arrancarse en el sistema actual en algún momento posterior.
• Rendimiento de las comunicaciones. Los procesos que interaccionan intensivamente
pueden llevarse al mismo nodo para reducir el coste de las comunicaciones mientras dure
su interacción.
 Mecanismos de la migración:
• ¿Quién inicia la migración?
• ¿Qué parte del proceso se migra?
• ¿Qué sucede con los mensajes y señales pendientes?
• Depende del objetivo del servicio de la migración.
• Este modulo es el responsable de expulsar o indicar el proceso que va
emigrar.
• Si el objetivo es llegar a un recurso en especifico, el procesos puede
migrar por si mismo según la necesidad
Al ser este un movimiento se lo destruye en el sistema origen y lo
crea en el destino.  Se mueve la imagen del proceso mismo junto
con su bloque de control.
Cuando el proceso migra por si solo selecciona la maquina destino y
le envía un mensaje de tarea remota. El mensaje lleva la imagen del
proceso y la información de archivos abiertos.
2.3.1 Migración de procesos
2.3.2 Estados globales distribuidos
2.3.3 Gestión distribuida de procesos – exclusión Mutua
2.3.4 Interbloqueo distribuido
Canal. Existe un canal entre dos procesos si intercambian
mensajes. Los canales son caminos por los cuales el mensaje
se transfiere. Este es unidireccional por lo que al intercambiar
mensajes los procesos necesitan al menos 2 canales.
Estado. Es la secuencia de mensajes
que se haya enviado y recibido a
través de los canales que llegan al
proceso
Instantánea. Una instantánea registra el estado de un
proceso. Cada instantánea incluye un registro de todos los
mensajes enviados y recibidos en todos los canales desde la
última instantánea.
Estado Global. Estado combinado de todos los
procesos.
Instantánea Distribuida Es un
conjunto de instantáneas una para
cada proceso
 Las estrategias de diseño en estas áreas se complican por el hecho de que no existe
un estado global del sistema. Esto es, no es posible para el sistema operativo ni
para ningún proceso, conocer el estado actual de todos los procesos en un sistema
distribuido.
 Un proceso tan sólo puede conocer el estado actual de todos los procesos en el
sistema local, accediendo a los bloques de control de proceso en memoria.
 Para los procesos remotos, un proceso tan sólo puede conocer información de
estado que se reciba vía mensajes, lo que representa el estado del proceso remoto
en algún momento del pasado.
 El problema es que el estado global real no puede determinarse debido al lapso de
tiempo asociado con la transferencia de los mensajes.
Se puede intentar definir un estado global
recolectando instantáneas de todos los procesos. una
instantánea distribuida puede indicar que un mensaje
se ha recibido pero todavía no se ha enviado.
El Algoritmo de Instantánea Distribuida
Un algoritmo de instantánea distribuida registra un estado global consistente. El algoritmo
asume que los mensajes se entregan en el orden en que se envían y que no se pierden
mensajes. Un protocolo de transporte fiable (ej., TCP) satisface estos requisitos. El
algoritmo hace uso de un mensaje de control especial denominado marcador. El algoritmo
termina para un proceso una vez que ha recibido el marcador de cada canal entrante:
G =(S,L)
S ={ S1 ,S2 ,S3 .. Sm  Estado interno de M procesadores
L ={ L i,j | | i,j E 1 .. M  Estado de los canales unidirecc. C i,j entre procesadores.
El estado del canal son los mensajes en el encolados
2.3.1 Migración de procesos
2.3.2 Estados globales distribuidos
2.3.3 Gestión distribuida de procesos – exclusión Mutua
2.3.4 Interbloqueo distribuido
Si dos o mas procesos compiten por el uso de los
recursos del sistema, es necesario un mecanismo
que haga cumplir la exclusión mutua
Para el uso exitoso de la concurrencia
entre procesos es necesaria la
capacidad de definir secciones críticas
y hacerlas cumplir
La exclusión mutua debe hacerse cumplir: en
un instante dado, solo deja entrar un proceso
a una sección critica para el mismo recurso u
objeto compartido.
Un proceso solo
puede estar en la
secion critica
durante UN tiempo
Los sistemas de exclusión mutua pueden ser centralizados o distribuidos.
1. Centralizado (sencillo)
El nodo de control es el que aprueba una petición de un recurso hasta
que sea liberado
Problema: Si falla no funcionan las asignaciones,
puede llegar a ser como cuello de botella.
2. Distribuido:
• Todos los nodos disponen de una cantidad igual de información, por termino medio.
• Cada nodo tiene una representación parcial del sistema total, esto para tomar decisiones
• Todos los nodos tienen igual responsabilidad en la decisión final.
Problema: No existe un reloj común para regular los
sucesos y hacen mas difícil idear ALGORTMOS
DISTRIBUIDOS de exclusión mutua e Interbloqueo
2.3.1 Migración de procesos
2.3.2 Estados globales distribuidos
2.3.3 Gestión distribuida de procesos – exclusión Mutua
2.3.4 Interbloqueo distribuido
El manejo del interbloqueo se complica en un sistema distribuido porque ningún nodo
tiene conocimiento preciso del estado actual del sistema global y porque la
transferencia de cada mensaje entre procesos involucra un retardo impredecible.
La literatura ha prestado atención a dos tipos de interbloqueo distribuido: aquellos
que surgen en la ubicación de recursos, y aquellos que surgen con la comunicación
de mensajes.
 En los interbloqueos por recursos, los procesos intentan acceder a recursos,
tales como objetos en una base de datos o recursos de E/S en un servidor; el
interbloqueo sucede si cada proceso de un conjunto de procesos solicita un
recurso que tiene otro proceso del conjunto.
 En los interbloqueos en comunicaciones, los mensajes son los recursos por
los cuales esperan los procesos; el interbloqueo sucede si cada proceso de un
conjunto está esperando un mensaje de otro proceso en el conjunto y ningún
proceso en el conjunto envía nunca un mensaje.
Este fenómeno se produce debido a:
1. Exclusion mututa: Solo 1 procesos puede usar 1 recurso en 1 instante.
2. Retencion y espera: Un proceso puede usar los recursos asignados
mientras espera se le asigne otros.
3. No expulsión: No se puede quitar un recurso a un proceso q lo esta
utilizando.
4. Circulo visioso de espera: Existe una cadena cerrada de procesos, tal que
cada procesos retiene al menos un proceso que necesita el siguiente proceso
de la cadena.
El manejo del interbloqueo es complicado pero se puede:
1. Prevenir
2. Predecir
3. Detectar
• Debido a la falta de un reloj común o sincronizador se
propuso el método : Registro de tiempo o Marca de Tiempo.
• El esquema de marca de tiempo busca ordenar los sucesos
(mensajes de envió no recepción).
• Para logar la gestión se ha de utilizar algoritmos tales como:
Cola Distribuida y el Paso de Testigo.
Supuestos Cumple con
Se tienen N nodos numerados
en forma única
Exclusión mutua: Las solicitudes de entrada en la
sección crítica se manejan de acuerdo al orden de los
mensajes impuesto por el mecanismo de marcas de
tiempo
Los mensajes de un proceso a
otro se reciben en el mismo
orden en que fueron enviados
Equidad: Al estar ordenados por marcas de tiempo,
todos tienen igual oportunidad.
Cada mensaje es entregado en
un tiempo finito.
No hay Interbloqueo: Debido a que las marcas de
tiempo son de forma consistente no puede ocurrir un
interbloqueo.
Los mensajes son enviados en
forma directa sin proceso
intermedios.
No hay Inanicion: Una vez se hubiera terminado una
sección critica el proceso emitirá el mensaje de
Liberaciòn..
Algoritmo de Cola Distribuida
2.4 Sistema de Ejecución Distribuida
2.4.1 Soporte de software distribuido con Middleware
2.4.2 Programas de aplicación distribuidos clásicos
2.4.3 Soporte middleware => programación distribuida clásica
2.4.4 Programación distribuida en el WEB
V-System es un
equipo remoto
especifico
 El software distribuido requerido para facilitar las interacciones cliente-
servidor se denomina middleware.
 El acceso transparente a servicios y recursos no locales distribuidos a través
de una red se provee a través del middleware, que sirve como marco para la
comunicaciones entre las porciones cliente y servidor de un sistema.
 El middleware define: el API que usan los clientes para pedir un servicio
a un servidor, la transmisión física de la petición vía red, y la devolución
de resultados desde el servidor al cliente.
 Ejemplos de middleware estándar para dominios específicos incluyen:
ODBC, para bases de datos, Lotus para groupware, HTTP y SSL para
Internet y CORBA, DCOM y JAVA RMI para objetos distribuidos.
 El middleware fundamental o genérico es la base de los sistemas cliente-
servidor.
Servicio
Comunicación
Servicio
Acceso a datos
Servicio de
Planificación de
ejecución
Servicio de
Seguridad
Servicio de
Directorio
Servicios Middleware
MOM
RPC
DTPM
ORB
Para base de
datos
Tipos Middleware
La Web
 Si dos aplicaciones se quieren comunicar, hay que resolver la
comunicación entre los procesos.
 Si las aplicaciones se conectan directamente a software de red,
entonces no se necesita Middleware.
 Este enfoque dificulta el desarrollo de las aplicaciones: Puesto que
se deben programar módulos de bajo nivel y esto se hace
repetitivo para cada aplicación a conectar.
 El software de Middleware permite realizar esta conexión a través de
interfaces de alto nivel
 A manera de ejemplo la invocación remota de un procedimiento,
puede realizarse como si fuera local.
2.4.1 Soporte de software distribuido con Middleware
2.4.2 Programas de aplicación distribuidos clásicos
2.4.3 Soporte middleware => programación distribuida clásica
2.4.4 Programación distribuida en el WEB
 Una aplicación distribuida que sigue el modelo cliente-servidor tiene:
• Lado servidor: Programa que se ejecuta en un computador que está conectado
a una red. Esta a la escucha en un puerto, esperando las peticiones de los
clientes; por ejemplo, un servidor Web escucha en el puerto 80.
• Lado cliente: Programa que ejecuta el usuario de la aplicación. El cliente hace
sus peticiones al servidor a través de la red. Por ejemplo, un navegador Web.
 Protocolo de aplicación propicia la comunicación entre el cliente y el servidor.
 El protocolo define el tipo de mensajes intercambiados:
 Por ejemplo, el protocolo de la capa de aplicación de la Web, HTTP, define el
formato y la secuencia de los mensajes transmitidos entre el navegador y el
servidor Web.
 Algunas de las aplicaciones distribuidas más conocidas son:
 Remote login
 Correo electrónico
 Navegación Web.
2.4.1 Soporte de software distribuido con Middleware
2.4.2 Programas de aplicación distribuidos clásicos
2.4.3 Programación distribuida clásica
2.4.4 Programación distribuida en el WEB
Capa de Negocio
Si nos quedamos con 2 capas, seria muy complicado
tener que crear aplicaciones por separado sistemas
operativos distintos
2.4.1 Soporte de software distribuido con Middleware
2.4.2 Programas de aplicación distribuidos clásicos
2.4.3 Programación distribuida clásica
2.4.4 Programación distribuida en el WEB
 Sistemas Operativos. Willian Stallings. 5ta Ed.
 http://www.dia.eui.upm.es/Asignatu/Sis_dis/Paco/SOD.
pdf

Más contenido relacionado

La actualidad más candente

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosnathalyrivasdiaz
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidosdrianda
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
 
Sistemas operativos distribuidos y sistemas distribuidos
Sistemas operativos distribuidos y sistemas distribuidosSistemas operativos distribuidos y sistemas distribuidos
Sistemas operativos distribuidos y sistemas distribuidoscris_bar
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosAsis Matos
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosOLy Jimenez
 
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.A6M0
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosJesus Marcano Perez
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiIsrael Hernández Lezama
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Daniela Velasquez
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Mariagequito
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionJorge Guerra
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidoscarlosmax10
 

La actualidad más candente (20)

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas operativos distribuidos y sistemas distribuidos
Sistemas operativos distribuidos y sistemas distribuidosSistemas operativos distribuidos y sistemas distribuidos
Sistemas operativos distribuidos y sistemas distribuidos
 
Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidos
 
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Trabajo Sistemas Distribuidos Oscar
Trabajo Sistemas Distribuidos OscarTrabajo Sistemas Distribuidos Oscar
Trabajo Sistemas Distribuidos Oscar
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iii
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Cap1
Cap1Cap1
Cap1
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 

Destacado

Recuperación de Información Distribuida y Paralela
Recuperación de Información Distribuida y ParalelaRecuperación de Información Distribuida y Paralela
Recuperación de Información Distribuida y ParalelaDavid Ramírez
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Reyes
 
Conclusiones ISO/IEC 15504-7
Conclusiones ISO/IEC 15504-7 Conclusiones ISO/IEC 15504-7
Conclusiones ISO/IEC 15504-7 Jaime G. Teniente
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosJaziel Torres
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 
Sistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxSistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxTensor
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidoscarlos7489
 
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de Software
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de SoftwareISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de Software
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de SoftwareQuasar Process SAC
 
Propuesta de proyecto educativo informatico
Propuesta de proyecto educativo informaticoPropuesta de proyecto educativo informatico
Propuesta de proyecto educativo informaticoRoCaOnCe
 
diferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pdiferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pyeinier
 
Proyecto Informática Educativa
Proyecto Informática EducativaProyecto Informática Educativa
Proyecto Informática EducativaFrancisco Larrea
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidossergiooney
 
Proyecto de-computacion-para-educacion-primaria
Proyecto de-computacion-para-educacion-primariaProyecto de-computacion-para-educacion-primaria
Proyecto de-computacion-para-educacion-primariaBernardita Naranjo
 
Proyecto educativo en informática proyecto final
Proyecto educativo en informática proyecto finalProyecto educativo en informática proyecto final
Proyecto educativo en informática proyecto finalM.P.P.E
 

Destacado (17)

Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.
 
Recuperación de Información Distribuida y Paralela
Recuperación de Información Distribuida y ParalelaRecuperación de Información Distribuida y Paralela
Recuperación de Información Distribuida y Paralela
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Conclusiones ISO/IEC 15504-7
Conclusiones ISO/IEC 15504-7 Conclusiones ISO/IEC 15504-7
Conclusiones ISO/IEC 15504-7
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
Sistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxSistemas operativos distribuidos linux
Sistemas operativos distribuidos linux
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Modelo SPICE
Modelo SPICEModelo SPICE
Modelo SPICE
 
Fase ii planificacion
Fase ii planificacionFase ii planificacion
Fase ii planificacion
 
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de Software
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de SoftwareISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de Software
ISO/IEC 15504 - Introducción a la Norma de Evaluación de Procesos de Software
 
Propuesta de proyecto educativo informatico
Propuesta de proyecto educativo informaticoPropuesta de proyecto educativo informatico
Propuesta de proyecto educativo informatico
 
diferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pdiferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 p
 
Proyecto Informática Educativa
Proyecto Informática EducativaProyecto Informática Educativa
Proyecto Informática Educativa
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Proyecto de-computacion-para-educacion-primaria
Proyecto de-computacion-para-educacion-primariaProyecto de-computacion-para-educacion-primaria
Proyecto de-computacion-para-educacion-primaria
 
Proyecto educativo en informática proyecto final
Proyecto educativo en informática proyecto finalProyecto educativo en informática proyecto final
Proyecto educativo en informática proyecto final
 

Similar a Sistemas Distribuidos: Ventajas y Estructuras

Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiIsrael Hernández Lezama
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosRosbeliPolo22
 
Unidad 1 sistemas operativos
Unidad 1 sistemas operativosUnidad 1 sistemas operativos
Unidad 1 sistemas operativosFenix Sven
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosJeff Jesús
 
Introduccion SD
Introduccion SDIntroduccion SD
Introduccion SDTensor
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidoserwin portillo
 
Sistemas operativos redes internet ok
Sistemas operativos redes internet okSistemas operativos redes internet ok
Sistemas operativos redes internet okADRIANCAMPI0718
 
Yamilet gonzalez
Yamilet gonzalezYamilet gonzalez
Yamilet gonzalezyamiigonza
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosJperez98
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosTensor
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_DistribuidosAdriana Rodriguez
 
Sistemas operativos 2 pdf
Sistemas operativos 2 pdfSistemas operativos 2 pdf
Sistemas operativos 2 pdfLuis Zarate
 
Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Jomicast
 

Similar a Sistemas Distribuidos: Ventajas y Estructuras (20)

Puntos extra (sistemas distribuidos)
Puntos extra (sistemas distribuidos)Puntos extra (sistemas distribuidos)
Puntos extra (sistemas distribuidos)
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iii
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
TiposdeSistemasDistribuidos.pdf
TiposdeSistemasDistribuidos.pdfTiposdeSistemasDistribuidos.pdf
TiposdeSistemasDistribuidos.pdf
 
Unidad 1 sistemas operativos
Unidad 1 sistemas operativosUnidad 1 sistemas operativos
Unidad 1 sistemas operativos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
S. o. 2 unidad 1
S. o. 2 unidad 1S. o. 2 unidad 1
S. o. 2 unidad 1
 
Introduccion SD
Introduccion SDIntroduccion SD
Introduccion SD
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas operativos redes internet ok
Sistemas operativos redes internet okSistemas operativos redes internet ok
Sistemas operativos redes internet ok
 
Yamilet gonzalez
Yamilet gonzalezYamilet gonzalez
Yamilet gonzalez
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidos
 
Sistemas operativos 2 pdf
Sistemas operativos 2 pdfSistemas operativos 2 pdf
Sistemas operativos 2 pdf
 
Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.Desarrollo de aplicaciones web distribuidas.
Desarrollo de aplicaciones web distribuidas.
 

Más de Victor Zapata

10-Operadores+comparación.pdf
10-Operadores+comparación.pdf10-Operadores+comparación.pdf
10-Operadores+comparación.pdfVictor Zapata
 
mongodebdocumentos.pdf
mongodebdocumentos.pdfmongodebdocumentos.pdf
mongodebdocumentos.pdfVictor Zapata
 
011-Tipos+de+datos (1).pdf
011-Tipos+de+datos (1).pdf011-Tipos+de+datos (1).pdf
011-Tipos+de+datos (1).pdfVictor Zapata
 
01-introduccion+json (1).pdf
01-introduccion+json (1).pdf01-introduccion+json (1).pdf
01-introduccion+json (1).pdfVictor Zapata
 
05-Terminos+ (2).pdf
05-Terminos+ (2).pdf05-Terminos+ (2).pdf
05-Terminos+ (2).pdfVictor Zapata
 
03-Versiones (1).pdf
03-Versiones (1).pdf03-Versiones (1).pdf
03-Versiones (1).pdfVictor Zapata
 
01-IntroducciónMongoDB (2).pdf
01-IntroducciónMongoDB (2).pdf01-IntroducciónMongoDB (2).pdf
01-IntroducciónMongoDB (2).pdfVictor Zapata
 
00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdfVictor Zapata
 
0001-Contenido+del+curso+mongodb (2).pdf
0001-Contenido+del+curso+mongodb (2).pdf0001-Contenido+del+curso+mongodb (2).pdf
0001-Contenido+del+curso+mongodb (2).pdfVictor Zapata
 
00-PRESENTACIÓN+DEL+CURSO (2).pdf
00-PRESENTACIÓN+DEL+CURSO (2).pdf00-PRESENTACIÓN+DEL+CURSO (2).pdf
00-PRESENTACIÓN+DEL+CURSO (2).pdfVictor Zapata
 
pptBC5D.pptm [Autoguardado].pdf
pptBC5D.pptm [Autoguardado].pdfpptBC5D.pptm [Autoguardado].pdf
pptBC5D.pptm [Autoguardado].pdfVictor Zapata
 
Norma.ISO.31000.2018.Espanol.pdf
Norma.ISO.31000.2018.Espanol.pdfNorma.ISO.31000.2018.Espanol.pdf
Norma.ISO.31000.2018.Espanol.pdfVictor Zapata
 
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdf
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdfAnalisis_de_riesgo_usando_la_metodologia_OWASP.pdf
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdfVictor Zapata
 
Cualitativaestudiodecaso
CualitativaestudiodecasoCualitativaestudiodecaso
CualitativaestudiodecasoVictor Zapata
 

Más de Victor Zapata (20)

consultas.pptx
consultas.pptxconsultas.pptx
consultas.pptx
 
10-Operadores+comparación.pdf
10-Operadores+comparación.pdf10-Operadores+comparación.pdf
10-Operadores+comparación.pdf
 
CONSULTADB.pptx
CONSULTADB.pptxCONSULTADB.pptx
CONSULTADB.pptx
 
mongodebdocumentos.pdf
mongodebdocumentos.pdfmongodebdocumentos.pdf
mongodebdocumentos.pdf
 
MONGODBCREAR.pptx
MONGODBCREAR.pptxMONGODBCREAR.pptx
MONGODBCREAR.pptx
 
011-Tipos+de+datos (1).pdf
011-Tipos+de+datos (1).pdf011-Tipos+de+datos (1).pdf
011-Tipos+de+datos (1).pdf
 
01-introduccion+json (1).pdf
01-introduccion+json (1).pdf01-introduccion+json (1).pdf
01-introduccion+json (1).pdf
 
05-Terminos+ (2).pdf
05-Terminos+ (2).pdf05-Terminos+ (2).pdf
05-Terminos+ (2).pdf
 
03-Versiones (1).pdf
03-Versiones (1).pdf03-Versiones (1).pdf
03-Versiones (1).pdf
 
01-IntroducciónMongoDB (2).pdf
01-IntroducciónMongoDB (2).pdf01-IntroducciónMongoDB (2).pdf
01-IntroducciónMongoDB (2).pdf
 
00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf00-Bases+de+dato+noSQL (3).pdf
00-Bases+de+dato+noSQL (3).pdf
 
0001-Contenido+del+curso+mongodb (2).pdf
0001-Contenido+del+curso+mongodb (2).pdf0001-Contenido+del+curso+mongodb (2).pdf
0001-Contenido+del+curso+mongodb (2).pdf
 
00-PRESENTACIÓN+DEL+CURSO (2).pdf
00-PRESENTACIÓN+DEL+CURSO (2).pdf00-PRESENTACIÓN+DEL+CURSO (2).pdf
00-PRESENTACIÓN+DEL+CURSO (2).pdf
 
pptBC5D.pptm [Autoguardado].pdf
pptBC5D.pptm [Autoguardado].pdfpptBC5D.pptm [Autoguardado].pdf
pptBC5D.pptm [Autoguardado].pdf
 
Norma.ISO.31000.2018.Espanol.pdf
Norma.ISO.31000.2018.Espanol.pdfNorma.ISO.31000.2018.Espanol.pdf
Norma.ISO.31000.2018.Espanol.pdf
 
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdf
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdfAnalisis_de_riesgo_usando_la_metodologia_OWASP.pdf
Analisis_de_riesgo_usando_la_metodologia_OWASP.pdf
 
Gestion
GestionGestion
Gestion
 
Cualitativaestudiodecaso
CualitativaestudiodecasoCualitativaestudiodecaso
Cualitativaestudiodecaso
 
Paradigmas (1)
Paradigmas  (1)Paradigmas  (1)
Paradigmas (1)
 
Deber
DeberDeber
Deber
 

Último

Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......dianamontserratmayor
 

Último (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......
 

Sistemas Distribuidos: Ventajas y Estructuras

  • 2. “Valora las alternativas y ventajas para la implantación de un sistema distribuido (Compartir Recursos) ”
  • 3. Estructuras de Sistemas Distribuidos Sistema de Archivos Distribuidos Gestión Distribuida de procesos Sistema de Ejecución Distribuida Introducción2.0 2.1 2.2 2.3 2.4
  • 4.  Una definición de sistema distribuido  Conjunto de computadores interconectados igual que un sistema en red que comparten un estado ofreciendo una visión de sistema único (SSI) igual que un sistema centralizado  Tipos de sistemas (evolución histórica)  sistemas por lotes: proceso diferido, secuencial  Sistemas centralizados de tiempo compartido: terminal  Sistemas de teleproceso: red telefónica  Sistemas personales: estaciones de trabajo, PCs  Sistemas en red: cliente/servidor, protocolos (TCP/IP)  Sistemas distribuidos: transparencia (GUI) “A distributed system is a collection of independent computers that appears to its users as a single coherent system”
  • 5. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface. Un sistema Distribuido es software  Middleware
  • 6. Ventajas del Sistema distribuido con respecto a: • Sistema centralizado • Bajo coste: puede estar compuesto de PCs estándar • Escalabilidad: consecuencia de su modularidad • Flexibilidad: reutilización de máquinas “viejas” • Disponibilidad: mediante replicación de recursos • Ofrecen la posibilidad de paralelismo • Permiten acceder a recursos remotos • Sistema en red • Uso más eficiente de los recursos (migración) • Acceso transparente a los recursos
  • 7. Desventajas respecto a un sistema centralizado • Un sistema centralizado del mismo coste es más eficiente que cada uno de los componentes del sistema distribuido. • Si la distribución de recursos es inadecuada algunos recursos pueden estar desbordados mientras otros están libres • Mantener la consistencia puede ser muy “costoso” en el sistema distribuido. • La red de interconexión es una fuente de problemas • La gestión de la seguridad es más compleja
  • 8. 2.1 Estructuras de Sistemas Distribuidos
  • 9. 2.1.1 Sistemas operativos de red 2.1.2 Sistemas operativos distribuidos 2.1.3 Servicios Remotos
  • 10.
  • 11.  Un sistema operativo de red es un sistema operativo de computadora diseñado para administrar y apoyar a las estaciones de trabajo, computadoras personales y servidores normalmente conectados a una red de área local.  El usuario ve un conjunto de máquinas independientes  No hay transparencia  Se debe acceder de forma explícita a los recursos de otras máquinas (conocer su localización) Sistema operativo Lenguajes de programación Aplicaciones Red de interconexión Hardware Sistema operativo Lenguajes de programación Aplicaciones Hardware
  • 12.  Factores que empezaron con el desarrollo e implementación de los sistemas operativos de red para:  Redes de área local. (LAN)  Redes de área amplia. (WAN)  Cada computadora tiene su sistema operativo privado.  La necesidad de compartir recursos.  Cada usuario normalmente trabaja en su propia computadora o en una computadora designada; usando una computadora diferente invariablemente requiere algún tipo de "login" remoto.  El deseo de mejorar el desempeño de las computadoras.
  • 13. NetWare Este sistema se diseñó con la finalidad de que lo usarán grandes compañías que deseaban sustituir sus enormes máquinas conocidas como mainframe por una red de PCs que resultara más económica y fácil de manejar. UNIX Los sistemas UNIX satisfacen necesidades de los programadores que crean software y de los administradores que deben controlar las labores de desarrollo de programas. Windows NT Las letras NT significan Nueva Tecnología. Fue diseñado para uso de compañías grandes, por lo tanto realiza muy bien algunas tareas tales como la potección por contraseñas. IBM OS/2 LAN SERVER El Server de OS/2 opera a 32 bits y trabaja en conjunción con el Sistema Operativo multitarea OS/2. El LAN Server se encuentra disponible en versión para principiantes (Entry), es una solución de bajo costo y permite el uso de un servidor no dedicado. Linux Linux es un sistema operativo para computadoras personales basadas en Intel.
  • 14.  Los sistemas operativos realizan muchas funciones, como:  Planificar la distribución entre los usuarios.  Evitar que los usuarios se interfieran.  Proporcionar la interfaz con el usuario.  Permitir que los usuarios compartan entre sí el hardware - datos.  Administración de recursos compartidos  Facilitar la entrada y salida.  Recuperarse de los errores.  Organizar los datos para lograr un acceso rápido y seguro.
  • 15.
  • 16.  El sistema de archivos de un sistema operativo es el administrador de ficheros.  Ofrece funciones para compartir información, mantenerla privada, obtener acceso a ella, respaldarla, recuperarla, hacerla independiente del dispositivo y cifrarla.  El acceso a los archivos se logra mediante funciones de los sistemas operativos llamadas métodos de acceso.
  • 17.  Las estrategias de administración del almacenamiento buscan obtener el mejor aprovechamiento y desempeño posibles del recurso de almacenamiento principal.  Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal .  Se dividen en las siguientes categorías:  Estrategias de: búsqueda por demanda o de búsqueda anticipada.  Estrategias de colocación.  Estrategias de reposición.
  • 18.  El administrador de dispositivos se encarga de las comunicaciones entre las aplicaciones y los dispositivos.  Los dispositivos son componentes de hardware como unidades de disco, impresoras y puertos de comunicación capaces de enviar información al sistema operativo o recibir información de él. El administrador de dispositivos se comunica con los manejadores de dispositivos.
  • 19. 2.1.1 Sistemas operativos en Red 2.1.2 Sistemas operativos distribuidos 2.1.3 Servicios Remotos
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. ִVisión de sistema único (Single System Image) Propiedades deseables:  Transparencia  ִFiabilidad y tolerancia a fallos  Escalabilidad  ִConsistencia
  • 25. Consistencia  Problemas relacionados con la replicación  La red de interconexión es una nueva fuente de fallos  La seguridad del sistema es más vulnerable  Problemas para mantener la consistencia  Distribución física: varias copias, cada una con su estado  Errores y/o retardos en las comunicaciones  Ausencia de reloj global: ¿cómo ordenar eventos?  Para un rendimiento aceptable: relajar consistencia
  • 26. ִTransparencia  Es la ocultación al usuario que los componentes de este sistema distribuido están separados.  El usuario percibirá que el sistema es un único sistema y no varios compones separados.  Existen ocho formas de transparencia, las que más consideración tienen en un sistema distribuido son la transparencia a nivel de acceso y la transparencia a nivel de localización.  De acceso: no hay preocupación de la distribución de los archivos. Los programas deben acceder de igual forma archivos locales y remotos.  De localización: Los archivos deben poder cambiarse sin que cambie el nombre.
  • 27. Fiabilidad  Capacidad para realizar correctamente y en todo momento las funciones para las que se ha diseñado  Disponibilidad • Fracción de tiempo que el sistema está operativo (%)  Parámetros: MTBF (Mean Time Between Failures).  Tolerancia a fallos • Capacidad para seguir operando correctamente ante el fallo de alguno de sus componentes.
  • 28. Debe ser de fácil ampliación sin que para ello los usuarios deban modificar su protocolo de comunicación ni se afecte la EFICIENCIA del sistema.
  • 29. a) visión del usuario b) estructura del sistema (visión del diseñador) Aplicaciones Aplicaciones Aplicaciones Servicios Middleware Servicios Middleware Servicios Middleware Sistema Operativ o Sistema Operativ o Sistema Operativ o Hardware distribuido y red de comunicaciones Aplicaciones Servicios del sistema Hardware distribuido y red Servicios Middleware: soporte RPC/RMI, soporte a comunicación uno-a-muchos, sincronización de tiempos y ordenación de eventos, consistencia (replicación), servicios de nombres, de seguridad…
  • 30.  Se comporta como un SO único (visión única)  Distribución con transparencia  Se construyen normalmente como micro núcleos que ofrecen servicios básicos de comunicación  Todos los computadores deben ejecutar el mismo Sistema Operativo Distribuido  Ejemplos : Cluster, Grid, etc. Sistema operativo distribuido Lenguajes de programación Aplicaciones Red de interconexión Hardware Hardware
  • 31. 2.1.1 Sistemas operativos en Red 2.1.2 Sistemas operativos Distribuidos 2.1.3 Servicios Remotos
  • 32.  Un acceso remoto es poder acceder desde una computadora a un recurso ubicado físicamente en otra computadora que se encuentra geográficamente en otro lugar, a través de una red local o externa (como Internet).  En caso de que un usuario solicita el acceso a un archivo remoto:  Se localiza mediante un esquema de nominación apropiada el servidor que contiene el archivo  Se debe efectuar la transferencia de datos para satisfacer la solicitud de acceso remoto del usuario.
  • 33.  Una de las formas más comunes de servicio remoto RPC, fue diseñado como una forma de abstraer el mecanismo de llamadas a procedimientos para usarse entre sistemas con conexiones de red.  Llamada a procedimiento remoto es un protocolo que un programa puede utilizar para solicitar un servicio de un programa ubicado en otro ordenador en una red sin tener que comprender detalles de la red. RPC utiliza el modelo cliente / servidor.  El programa solicitante es un cliente y el programa de prestación de servicios es el servidor. Al igual que una llamada a procedimiento ordinario o local, un RPC es una operación que requiere el programa síncrono solicitando ser suspendido hasta que se devuelven los resultados del procedimiento remoto. Sin embargo, el uso de procesos ligeros o de hilos que comparten el mismo espacio de direcciones permite a varios PCs que se ejecutan simultáneamente.
  • 34. 2.2 Sistema de Archivos Distribuido servicio de archivos servicio de directorio s
  • 35.
  • 36. Un sistema de archivos distribuidos, (DFS), es una implementación distribuida del clásico modelo de tiempo compartido de un sistema de archivos, donde varios usuarios comparten archivos y almacenan recursos.  Sistema Distribuido: colección de máquinas interconectadas por una red de comunicación.  Recursos locales: recursos con los que cuenta la máquina  Recursos remotos: el resto de las máquina y sus recursos  Máquina: puede ser una estación o un mainframe  Servicio: software ejecutándose en una o más máquinas que proporcionan un tipo particular de función  Servidor: software de servicio en una sola máquina Un servidor es un proceso que implementa servicios  Cliente: proceso que puede invocar un servicio a través de un conjunto de operaciones que forman su interfaz de cliente PUNTOS CLAVES
  • 37.  Las maquinas clientes no tiene en general acceso a los bloques de almacenamiento de forma directa si no que pueden acceder a los datos a través de la red por medio de algún protocolo de red.  Los sistemas de archivos distribuidos almacena archivos en una o más maquinas denominadas servidores y los hace accesibles a otros maquinas denominadas clientes, donde se manipulan como si fueran locales.  Es soportar la misma clase de comportamiento cuando los archivos están dispersos físicamente entre los diversos sitios de un sistema distribuido Se caracterizan por:  La utilización efectiva de la memoria caché en el cliente para conseguir iguales prestaciones o mejores que las de los sistemas de archivos locales  El mantenimiento de la consistencia entre múltiples copias de archivos en las cachés de los clientes cuando son actualizadas, la recuperación después de un fallo en el servidor o en el cliente,  Un alto rendimiento en la lectura y escritura de archivos de todos los tamaños.
  • 38.  Arquitecturas Cliente-Servidor  Sistemas de Archivo Distribuidos basados en Cluster Modelo de Acceso Remoto Modelo de Carga y Descarga
  • 40.  Uno de los sistemas de archivos más populares que trabaja con la arquitectura de acceso remoto es NFS (Network File System).  „La idea básica de NFS es que cada servidor de archivos proporcione una visión estandarizada (interfaz) de su sistema de archivos local, independientemente de la implementación de este último.  El NFS cuenta con un protocolo de comunicación que permite a los clientes acceder a los archivos guardados en el servidor. Luego, es posible que un conjunto heterogéneo de procesos (quizás ejecutándose en máquinas diferentes con SO diferentes) compartan archivos.
  • 41.
  • 42. NFS = Network File System (Originalmente desarrollado por Sun Microsystems en 1984.)  Permite compartir datos entre varios ordenadores de una forma sencilla.  Es un sistema de archivos distribuido para un entorno de red de área local.  Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos ficheros remotos como si se tratara de locales.  Soportar un sistema heterogéneo en donde los clientes y servidores podrían ejecutar distintos S. O. en hardware diverso, por ello es esencial que la interfaz entre los clientes y los servidores esté bien definida.  NFS logra este objetivo definiendo dos “protocolos cliente - servidor”. Por ejemplo: Un usuario validado en una red no necesitará hacer login a un ordenador específico: vía NFS, accederá a su directorio personal (que llamaremos exportado) en la máquina en la que esté trabajando.
  • 43.
  • 44. Network File System (Licencia abierta (GPL) Desarrollado en 1987.)  Cuenta con bastantes características muy deseables para un sistema distribuido (especialmente para un cluster)  El cliente es capaz de funcionar sin problemas desconectado del servidor, ya sea porque estamos trabajando en un portátil que desconectamos de la red, por un fallo en la comunicación, o por una caída del servidor.  Replicación automática de servidores. Coda proporciona los mecanismos necesarios para realizar réplicas automáticas entre servidores, y para que los clientes puedan acceder a uno u otro de forma transparente para el usuario si alguno cae.  Modelo de seguridad propio e independiente del sistema operativo para la identificación de usuarios.
  • 45.  Distribución de un archivo entre varios servidores ( Ver figura b)  „Técnicas de Distribución de Archivos: indican cómo se puede distribuir un archivo a través de múltiples servidores.  Distribuyendo un archivo grande entre varios servidores es posible buscar sus diferentes partes en paralelo.  „Ejemplos: GFS, Lustre a) Distribuye todos los archivos a través de varios servidores. b) Repartición de datos en varios discos para acceso en paralelo.
  • 46.  Es un sistema de archivos de alta disponibilidad y escalabilidad que puede brindar almacenamiento a gran escala (petabytes) a bajo costo (opensource) y manejo de hasta miles de clientes  GlusterFS agrupa dispositivos de almacenamiento a través de la red y maneja la data como si fuese un solo bloque
  • 47. Método de acceso a la data  Los volúmenes de Clúster se pueden acceder de diversas maneras, se puede utilizar NFS para exportar o también el protocolo nativo de Clúster que es el más recomendado. Este protocolo esta basado en FUSE (Fileystem user space) por lo cual hay que asegurarse que este modulo este cargado en el kernel. FUSE permite levantar el sistema de archivo de Gluster en el user space (espacio de memoria donde trabajan las aplicaciones del usuario) Algunas aplicaciones comerciales Gluster Virtual Appliance for Amazon Web Services: Permite el desarrollo de un servidor de almacenamiento basado en Gluster en la nube de Amazon
  • 48. 2.2.1 Nombres y Transparencia 2.2.2 Acceso a Archivos Remotos 2.2.3 Servicios con y sin estado 2.2.4 Replicación de archivos
  • 49.  Servicio uniforme de nombres para todos los objetos: Nombres orientados al usuario  Asociación entre nombre y posición dinámica  Propiedad más exigente que la transparencia  Transparencia de la posición:  El nombre del objeto no permite obtener directamente el lugar donde está almacenado  Independencia de la posición:  El nombre no necesita ser cambiado cuando el objeto cambia de lugar.  Diferentes esquemas para diferentes archivos. (Varios servidores)  Escalabilidad: Facilidad de crecimiento  Replicación
  • 50. 2.2.1 Nombres y Transparencia 2.2.2 Acceso a Archivos Remotos 2.2.3 Servicios con y sin estado 2.2.4 Replicación de archivos
  • 51. La coutilización  La semántica de coutilización es un conjunto de criterios que se toman en cuenta al momento que un archivo es solicitado por varios usuarios y se desea mostrar las actualizaciones hechas a este archivo.  Semántica UNIX  Las modificaciones a un archivo abierto son visibles de inmediato por los demás usuarios.  El archivo tiene una sola imagen que intercala todos los accesos, sea cual sea su origen.  Semántica de Sesión  Las modificaciones a un archivo abierto no son visibles de inmediato por los demás usuarios.  Las modificaciones que sufre un archivo son visibles solo después de que se cierra un archivo.
  • 52.  Métodos de Acceso a Archivos  Modelo carga/descarga  Transferencias completas del archivo  Localmente se almacenan en memoria o discos locales  Normalmente utilizan semántica de sesión  Eficiencia en las transferencias  Llamada open con mucha latencia  Múltiples copias de un archivo  Modelo de servicios remotos  El servidor debe proporcionar todas las operaciones sobre el archivo.  Acceso por bloques  Modelo cliente/servidor  Empleo de caché en el cliente  Combina los dos modelos anteriores.
  • 53. 2.2.1 Nombres y Transparencia 2.2.2 Acceso a Archivos Remotos 2.2.3 Servicios con y sin estado 2.2.4 Replicación de archivos
  • 54. Servidores con estado  Cuando se abre un archivo, el servidor almacena información y da al cliente un identificador único a utilizar en las posteriores llamadas  Por Ejemplo: La tabla que asocia los descriptores de archivos con los archivos propiamente dichos.  Pueden conocer qué datos están en el cache del cliente (permiten al cliente mantener copias locales de datos compartidos).  Cuando se cierra un archivo se libera la información
  • 55. Servidores sin estado (stateless)  Cuando un cliente envía una solicitud a un servidor, éste la lleva a cabo, envía la respuesta y elimina de sus tablas internas toda la información relativa a dicha solicitud.  Por ejemplo, no registra si un archivo ha sido abierto previamente.  No guarda información del cliente entre solicitudes. No mantiene un registro de las operaciones que van dejando los clientes  Cada solicitud debe ser auto contenida. Operaciones idempotentes
  • 56.  Ventajas de los servidores con estado  Mensajes de petición más cortos  Mejor rendimiento (se mantiene información en memoria)  Facilita la lectura adelantada. El servidor puede analizar el patrón de accesos que realiza cada cliente  Es necesario en invalidaciones iniciadas por el servidor  Ventajas de los servidores sin estado  Más tolerante a fallos  No son necesarios open y close. Se reduce el nº de mensajes  No se gasta memoria en el servidor para almacenar el estado
  • 57. 2.2.1 Nombres y Transparencia 2.2.2 Acceso a Archivos Remotos 2.2.3 Servicios con y sin estado 2.2.4 Replicación de archivos
  • 58. Caché de Bloques  El empleo de cache de bloques permite mejorar el rendimiento  Explota el principio de proximidad de referencias:  Proximidad temporal  Proximidad espacial  Lecturas adelantadas: Mejora el rendimiento de las operaciones de lectura, sobre todo si son secuenciales  Escrituras diferidas : Mejora el rendimiento de las escrituras Otros tipos de caché  Caché de nombres  Caché de metadatos del sistema de archivos
  • 59. Localización de las Caché en un Sistema Archivos Distribuido  Caché en los servidores  Reducen los accesos a disco  Caché en los clientes  Reducen el tráfico por la red  Reducen la carga en los servidores  Mejora la capacidad de crecimiento  Dos posibles localizaciones  En discos locales: Más capacidad, más lento, no volátil, facilita la recuperación  En memoria principal: Menor capacidad, más rápido, memoria volátil
  • 60. Funcionamiento de una Cache de bloques Cache Cliente Cache Servidor Disco Proceso de usuario read() Buscar bloque. Si no está, reservar uno. read() Buscar bloque. Si no está, reservar uno. read() datos
  • 61. Tamaño de la memoria cache  Mayor tamaño puede incrementar la tasa de aciertos y mejorar la utilización de la red pero  Aumentan los problemas de coherencia  Depende de las características de las aplicaciones  En memoria caché grandes  Es beneficioso emplear bloques grandes (8 KB y más)  En memorias pequeñas  El uso de bloques grandes es menos adecuado
  • 62. Políticas de Actualización  Escritura inmediata (write-through)  Buena fiabilidad  En escrituras se obtiene el mismo rendimiento que en el modelo de accesos remotos  Las escrituras son más lentas  Escritura diferida (write-back)  Escrituras más rápidas. Se reduce el tráfico en la red  Los datos pueden borrarse antes de ser enviados al servidor  Alternativas  Volcado (flush) periódico (Sprite)  Write-on-close
  • 63. El problema de la Coherencia  El uso de caché en los clientes de un sistema de archivos introduce el problema de la coherencia de caché:  Múltiples copias.  El problema surge cuando se coutiliza un archivo en escritura:  Coutilización en escritura secuencial  Típico en entornos y aplicaciones distribuidas.  Coutilización en escritura concurrente  Típico en aplicaciones paralelas.
  • 64. Solución al problema de la Coherencia  No emplear caché en los clientes.  Solución trivial que no permite explotar las ventajas del uso de caché en los clientes (reutilización, lectura adelantada y escritura diferida)  No utilizar caché en los clientes para datos compartidos en escritura (Sprite).  Accesos remotos sobre una única copia asegura semántica UNIX  Empleo de protocolos de coherencia de caché
  • 65. 2.3 Gestion Distribuida de Procesos
  • 66. • Aplicaciones paralelas  Muchas tareas a la vez • Objetivo principal: disminuir el tiempo de ejecución • Aplicaciones distribuidas (motivaciones): • ִAlto rendimiento: cluster computing • Tolerancia a fallos: replicación, transacciones • Sistemas informáticos bancarios • La gestión de la consistencia es crítica • Alta disponibilidad: caching, mirroring • Bajo tiempo de respuesta: WWW, sistemas de ficheros. • La consistencia es importante, pero no crítica • Movilidad, ubicuidad: aplicaciones AmI
  • 67. Es un aplicación con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de la red. La distribución se refiere a la construcción de software por partes, a cada parte se le asigna una serie de responsabilidades entero de un sistema. La distribución habla de que las partes o componentes se ejecutan en diferentes máquinas (física)  Separación en Niveles
  • 68. Programáticamente también es posible separar o agrupar los componentes (lógica).  Separación en CAPAS: • Las capas dentro de una arquitectura son un conjunto de SERVICIOS especializados que pueden ser accesibles por múltiples clientes y deben ser fácilmente reutilizables.” • Cada capa tiene N componentes • Cada componente : • Es un elemento de software que encapsula una serie de funcionalidades • Es una unidad independiente que puede ser usado en conjunto otras para formar un sistema mas complejo. • Esta compuesto por clases o recursos complementarios.  Paquete o Modulo
  • 69. Aplicaciones Cliente-Servidor: el servidor se proporciona y procesa los datos solicitados por el cliente; el cliente maneja la aplicación, y sus funciones son solicitar datos al servidor. Middleware: Un conjunto de controladores, API u otro software que mejora la conectividad entre las aplicaciones de cliente y un servidor.
  • 70. ¿Qué se entiende por computador? Datos Instrucciones Un dato a la vez Muchos datos a la vez Una instrucción a la vez SISD arquitecturas Von Neumann clásicas SIMD procesadores vectoriales Muchas instrucciones a la vez MISD no se ha implementado MIMD multiprocesadores, multicomputadores, redes
  • 71. Procesadores con base en buses Constan de cierto número de cpu conectadas a un bus común, junto con un módulo de memoria. Todos los elementos precedentes operan en paralelo. Solo existe una memoria, la cual presenta la propiedad de la coherencia: Las modificaciones hechas por una cpu se reflejan de inmediato en las subsiguientes lecturas de la misma o de otra cpu. El problema de este esquema es que el bus tiende a sobrecargarse y el rendimiento a disminuir drásticamente; la solución es añadir una memoria caché de alta velocidad entre la cpu y el bus: El caché guarda las palabras de acceso reciente. Todas las solicitudes de la memoria pasan a través del caché.
  • 72. Procesadores con conmutador El esquema de multiprocesadores con base en buses resulta apropiado para hasta aproximadamente 64 procesadores. Para superar esta cifra es necesario un método distinto de conexión entre procesadores (cpu) y memoria. Una posibilidad es dividir la memoria en módulos y conectarlos a las cpu con un “conmutador de cruceta” (cross-bar switch): • Cada cpu y cada memoria tiene una conexión que sale de él. • En cada intersección está un “conmutador del punto de cruce” (crosspoint switch) electrónico que el hardware puede abrir y cerrar: • Cuando una cpu desea tener acceso a una memoria particular, el conmutador del punto de cruce que los conecta se cierra momentáneamente. • La virtud del conmutador de cruceta es que muchas cpu pueden tener acceso a la memoria al mismo tiempo: • Aunque no a la misma memoria simultáneamente. • Lo negativo de este esquema es el alto número de conmutadores: • Para “n” cpu y “n” memorias se necesitan “n” x “n”
  • 73. MIMD: grado de acoplamiento e interconexión grado de acoplamiento interconexión memoria física compartida espacios de memoria física independientes bus compartido multiprocesadores multicomputadores, redes LAN red de interconexión multiprocesadores UMA y NUMA multicomputadores, redes WAN (Internet)
  • 74. Procesadores Conectados por redes Lan  Computadores de memória distribuídas son muy utilizadas.  Presisan de red de interconexion entre los processos.  Los procesadores tienen su propia memoria local y esta memoria está dirigida únicamente por el procesador local, de deste modo un procesador no puede acceder a la memoria de otro equipo directamente.  Cada procesador funciona de manera independiente de los otros.  Cuando un procesador necesita acceder a los datos que se encuentra en la memoria de otro procesador, este acceso es a través de la red de interconexión de estas máquinas mediante el intercambio de mensajes. Esta red puede ser una red dedicada, o incluso una red ETHERNET sencilla.
  • 75.
  • 76. the rest of email server Web server Desktop computers File serv er router/firewall print and other serv ers other servers print Local area network email server the Internet
  • 78. 2.3.1 Migración de procesos 2.3.2 Estados globales distribuidos 2.3.3 Gestión distribuida de procesos – exclusión Mutua 2.3.4 Interbloqueo distribuido
  • 79.
  • 80. Para llevar a cabo la ejecución remota o la migración de procesos , es necesario el sistema tenga políticas de asignación de procesadores.
  • 81.
  • 82.
  • 83. A continuación se analizaran algunos mecanismos clave utilizados en los sistemas operativos distribuidos: 1. La migración de procesos, que es el movimiento de un proceso activo de una máquina a otra. 2. El cómo procesos en diferentes sistemas pueden coordinar sus actividades cuando cada uno está gobernado por un reloj local y cuando hay un retardo en el intercambio de información. 3. La exclusión mutua 4. El interbloqueo
  • 84. La migración de procesos es la transferencia de suficiente cantidad del estado de un proceso de un computador a otro para que el proceso ejecute en la máquina destino. La migración de procesos con la capacidad de expulsar un proceso en una máquina y reactivarlo posteriormente en otra (expulsiva) es posible, aunque con una sobrecarga y alta complejidad. Este coste llevó a que algunos observadores concluyesen que la migración de procesos no era práctica. Actualmente existen nuevos desarrollos en esta área.
  • 85.  La migración de procesos es deseable en sistemas distribuidos por: • Compartición de carga. Moviendo procesos de un sistema muy cargado a otro poco cargado, la carga puede equilibrarse para mejorar el rendimiento global. Datos empíricos sugieren que son posibles mejoras del rendimiento. • Disponibilidad. Se puede necesitar que los procesos de larga duración se muevan para sobrevivir en el caso de fallos que puedan ser conocidos anticipadamente o anticipándose a paradas del sistema planificadas. Si el sistema operativo proporciona la información, un proceso que desea continuar puede bien migrar a otro sistema o asegurarse que podrá re arrancarse en el sistema actual en algún momento posterior. • Rendimiento de las comunicaciones. Los procesos que interaccionan intensivamente pueden llevarse al mismo nodo para reducir el coste de las comunicaciones mientras dure su interacción.
  • 86.  Mecanismos de la migración: • ¿Quién inicia la migración? • ¿Qué parte del proceso se migra? • ¿Qué sucede con los mensajes y señales pendientes? • Depende del objetivo del servicio de la migración. • Este modulo es el responsable de expulsar o indicar el proceso que va emigrar. • Si el objetivo es llegar a un recurso en especifico, el procesos puede migrar por si mismo según la necesidad Al ser este un movimiento se lo destruye en el sistema origen y lo crea en el destino.  Se mueve la imagen del proceso mismo junto con su bloque de control. Cuando el proceso migra por si solo selecciona la maquina destino y le envía un mensaje de tarea remota. El mensaje lleva la imagen del proceso y la información de archivos abiertos.
  • 87. 2.3.1 Migración de procesos 2.3.2 Estados globales distribuidos 2.3.3 Gestión distribuida de procesos – exclusión Mutua 2.3.4 Interbloqueo distribuido
  • 88. Canal. Existe un canal entre dos procesos si intercambian mensajes. Los canales son caminos por los cuales el mensaje se transfiere. Este es unidireccional por lo que al intercambiar mensajes los procesos necesitan al menos 2 canales. Estado. Es la secuencia de mensajes que se haya enviado y recibido a través de los canales que llegan al proceso Instantánea. Una instantánea registra el estado de un proceso. Cada instantánea incluye un registro de todos los mensajes enviados y recibidos en todos los canales desde la última instantánea.
  • 89. Estado Global. Estado combinado de todos los procesos. Instantánea Distribuida Es un conjunto de instantáneas una para cada proceso
  • 90.  Las estrategias de diseño en estas áreas se complican por el hecho de que no existe un estado global del sistema. Esto es, no es posible para el sistema operativo ni para ningún proceso, conocer el estado actual de todos los procesos en un sistema distribuido.  Un proceso tan sólo puede conocer el estado actual de todos los procesos en el sistema local, accediendo a los bloques de control de proceso en memoria.  Para los procesos remotos, un proceso tan sólo puede conocer información de estado que se reciba vía mensajes, lo que representa el estado del proceso remoto en algún momento del pasado.  El problema es que el estado global real no puede determinarse debido al lapso de tiempo asociado con la transferencia de los mensajes. Se puede intentar definir un estado global recolectando instantáneas de todos los procesos. una instantánea distribuida puede indicar que un mensaje se ha recibido pero todavía no se ha enviado.
  • 91. El Algoritmo de Instantánea Distribuida Un algoritmo de instantánea distribuida registra un estado global consistente. El algoritmo asume que los mensajes se entregan en el orden en que se envían y que no se pierden mensajes. Un protocolo de transporte fiable (ej., TCP) satisface estos requisitos. El algoritmo hace uso de un mensaje de control especial denominado marcador. El algoritmo termina para un proceso una vez que ha recibido el marcador de cada canal entrante: G =(S,L) S ={ S1 ,S2 ,S3 .. Sm  Estado interno de M procesadores L ={ L i,j | | i,j E 1 .. M  Estado de los canales unidirecc. C i,j entre procesadores. El estado del canal son los mensajes en el encolados
  • 92. 2.3.1 Migración de procesos 2.3.2 Estados globales distribuidos 2.3.3 Gestión distribuida de procesos – exclusión Mutua 2.3.4 Interbloqueo distribuido
  • 93. Si dos o mas procesos compiten por el uso de los recursos del sistema, es necesario un mecanismo que haga cumplir la exclusión mutua Para el uso exitoso de la concurrencia entre procesos es necesaria la capacidad de definir secciones críticas y hacerlas cumplir La exclusión mutua debe hacerse cumplir: en un instante dado, solo deja entrar un proceso a una sección critica para el mismo recurso u objeto compartido. Un proceso solo puede estar en la secion critica durante UN tiempo
  • 94. Los sistemas de exclusión mutua pueden ser centralizados o distribuidos. 1. Centralizado (sencillo) El nodo de control es el que aprueba una petición de un recurso hasta que sea liberado Problema: Si falla no funcionan las asignaciones, puede llegar a ser como cuello de botella. 2. Distribuido: • Todos los nodos disponen de una cantidad igual de información, por termino medio. • Cada nodo tiene una representación parcial del sistema total, esto para tomar decisiones • Todos los nodos tienen igual responsabilidad en la decisión final. Problema: No existe un reloj común para regular los sucesos y hacen mas difícil idear ALGORTMOS DISTRIBUIDOS de exclusión mutua e Interbloqueo
  • 95. 2.3.1 Migración de procesos 2.3.2 Estados globales distribuidos 2.3.3 Gestión distribuida de procesos – exclusión Mutua 2.3.4 Interbloqueo distribuido
  • 96. El manejo del interbloqueo se complica en un sistema distribuido porque ningún nodo tiene conocimiento preciso del estado actual del sistema global y porque la transferencia de cada mensaje entre procesos involucra un retardo impredecible. La literatura ha prestado atención a dos tipos de interbloqueo distribuido: aquellos que surgen en la ubicación de recursos, y aquellos que surgen con la comunicación de mensajes.  En los interbloqueos por recursos, los procesos intentan acceder a recursos, tales como objetos en una base de datos o recursos de E/S en un servidor; el interbloqueo sucede si cada proceso de un conjunto de procesos solicita un recurso que tiene otro proceso del conjunto.  En los interbloqueos en comunicaciones, los mensajes son los recursos por los cuales esperan los procesos; el interbloqueo sucede si cada proceso de un conjunto está esperando un mensaje de otro proceso en el conjunto y ningún proceso en el conjunto envía nunca un mensaje.
  • 97. Este fenómeno se produce debido a: 1. Exclusion mututa: Solo 1 procesos puede usar 1 recurso en 1 instante. 2. Retencion y espera: Un proceso puede usar los recursos asignados mientras espera se le asigne otros. 3. No expulsión: No se puede quitar un recurso a un proceso q lo esta utilizando. 4. Circulo visioso de espera: Existe una cadena cerrada de procesos, tal que cada procesos retiene al menos un proceso que necesita el siguiente proceso de la cadena. El manejo del interbloqueo es complicado pero se puede: 1. Prevenir 2. Predecir 3. Detectar
  • 98. • Debido a la falta de un reloj común o sincronizador se propuso el método : Registro de tiempo o Marca de Tiempo. • El esquema de marca de tiempo busca ordenar los sucesos (mensajes de envió no recepción). • Para logar la gestión se ha de utilizar algoritmos tales como: Cola Distribuida y el Paso de Testigo.
  • 99. Supuestos Cumple con Se tienen N nodos numerados en forma única Exclusión mutua: Las solicitudes de entrada en la sección crítica se manejan de acuerdo al orden de los mensajes impuesto por el mecanismo de marcas de tiempo Los mensajes de un proceso a otro se reciben en el mismo orden en que fueron enviados Equidad: Al estar ordenados por marcas de tiempo, todos tienen igual oportunidad. Cada mensaje es entregado en un tiempo finito. No hay Interbloqueo: Debido a que las marcas de tiempo son de forma consistente no puede ocurrir un interbloqueo. Los mensajes son enviados en forma directa sin proceso intermedios. No hay Inanicion: Una vez se hubiera terminado una sección critica el proceso emitirá el mensaje de Liberaciòn.. Algoritmo de Cola Distribuida
  • 100. 2.4 Sistema de Ejecución Distribuida
  • 101. 2.4.1 Soporte de software distribuido con Middleware 2.4.2 Programas de aplicación distribuidos clásicos 2.4.3 Soporte middleware => programación distribuida clásica 2.4.4 Programación distribuida en el WEB
  • 102.
  • 103. V-System es un equipo remoto especifico
  • 104.  El software distribuido requerido para facilitar las interacciones cliente- servidor se denomina middleware.  El acceso transparente a servicios y recursos no locales distribuidos a través de una red se provee a través del middleware, que sirve como marco para la comunicaciones entre las porciones cliente y servidor de un sistema.  El middleware define: el API que usan los clientes para pedir un servicio a un servidor, la transmisión física de la petición vía red, y la devolución de resultados desde el servidor al cliente.  Ejemplos de middleware estándar para dominios específicos incluyen: ODBC, para bases de datos, Lotus para groupware, HTTP y SSL para Internet y CORBA, DCOM y JAVA RMI para objetos distribuidos.  El middleware fundamental o genérico es la base de los sistemas cliente- servidor.
  • 105. Servicio Comunicación Servicio Acceso a datos Servicio de Planificación de ejecución Servicio de Seguridad Servicio de Directorio Servicios Middleware
  • 107.  Si dos aplicaciones se quieren comunicar, hay que resolver la comunicación entre los procesos.  Si las aplicaciones se conectan directamente a software de red, entonces no se necesita Middleware.  Este enfoque dificulta el desarrollo de las aplicaciones: Puesto que se deben programar módulos de bajo nivel y esto se hace repetitivo para cada aplicación a conectar.  El software de Middleware permite realizar esta conexión a través de interfaces de alto nivel  A manera de ejemplo la invocación remota de un procedimiento, puede realizarse como si fuera local.
  • 108. 2.4.1 Soporte de software distribuido con Middleware 2.4.2 Programas de aplicación distribuidos clásicos 2.4.3 Soporte middleware => programación distribuida clásica 2.4.4 Programación distribuida en el WEB
  • 109.  Una aplicación distribuida que sigue el modelo cliente-servidor tiene: • Lado servidor: Programa que se ejecuta en un computador que está conectado a una red. Esta a la escucha en un puerto, esperando las peticiones de los clientes; por ejemplo, un servidor Web escucha en el puerto 80. • Lado cliente: Programa que ejecuta el usuario de la aplicación. El cliente hace sus peticiones al servidor a través de la red. Por ejemplo, un navegador Web.  Protocolo de aplicación propicia la comunicación entre el cliente y el servidor.  El protocolo define el tipo de mensajes intercambiados:  Por ejemplo, el protocolo de la capa de aplicación de la Web, HTTP, define el formato y la secuencia de los mensajes transmitidos entre el navegador y el servidor Web.  Algunas de las aplicaciones distribuidas más conocidas son:  Remote login  Correo electrónico  Navegación Web.
  • 110. 2.4.1 Soporte de software distribuido con Middleware 2.4.2 Programas de aplicación distribuidos clásicos 2.4.3 Programación distribuida clásica 2.4.4 Programación distribuida en el WEB
  • 111.
  • 112. Capa de Negocio Si nos quedamos con 2 capas, seria muy complicado tener que crear aplicaciones por separado sistemas operativos distintos
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118. 2.4.1 Soporte de software distribuido con Middleware 2.4.2 Programas de aplicación distribuidos clásicos 2.4.3 Programación distribuida clásica 2.4.4 Programación distribuida en el WEB
  • 119.
  • 120.
  • 121.  Sistemas Operativos. Willian Stallings. 5ta Ed.  http://www.dia.eui.upm.es/Asignatu/Sis_dis/Paco/SOD. pdf

Notas del editor

  1. Layer=capa El middleware es un software informático que proporciona servicios a las aplicaciones de software más allá de las disponibles en el sistema operativo. Puede ser descrito como "pegamento de software". Middleware hace que sea más fácil para los desarrolladores de software para implementar la comunicación y de entrada / salida, para que puedan concentrarse en el propósito específico de su aplicación.
  2. La computación centralizada es cuando el proceso de cómputo es realizado en una localización central, usando terminales conectados a una computadora central. Todo el procesamientoes controlado en una localización central
  3. Redes Locales Las redes locales(LAN) surgieron a principios de los años setenta como sustituto de los grandes sistemas de computación central. En ese momento muchas empresas consideraron que era más económico tener varias computadoras pequeñas, cada una con sus aplicaciones que un solo sistema de gran tamaño. Como las redes locales están diseñadas para abarcar una pequeña área geográfica, las instalaciones están a poca distancia entre si, los enlaces de comunicación tienen mayor velocidad y menor tasa de errores que los de área ancha.Los enlaces más comunes son el par trenzado, el cable coaxial y la fibra óptica. Una típica red local puede consistir en varias máquinas diferentes, dispositivos periféricos compartidos(como impresoras láser) estaciones de trabajo etc. Para construir éstas redes debemos emplear un esquema Ethernet, donde el medio de comunicación es un cable coaxial multiacceso con un esquema de detección de colisiones. Redes de Área Ancha Estas redes(WAN) surgieron a finales de los años setenta como un proyecto académico de investigación para ofrecer una comunicación eficiente entre instalaciones, permitiendo compartir de manera eficiente y económica el hardware y el software entre una extensa red de usuarios. La primera red que se diseño y desarrolló fue Arpanet. Los trabajos de Arpanet comenzaron en 1968 y ha crecido notablemente, de una red de 4 máquinas a una red mundial de redes como lo es Internet que hoy comprende miles de máquinas conectadas entre si. Debido a que las instalaciones en una red de área ancha están distribuidas físicamente en una extensa área geográfica, los enlaces de comunicación son normalmente lentos y poco confiables. Los enlaces típicos son líneas telefónicas, enlaces por microondas y canales de satélite y se controlan mediante procesadores de comunicación especiales responsables de definir la interfaz por medio del cual las instalaciones se comunican en la red. Si tomamos una red de área ancha como internet, el sistema permite que se comuniquen entre si las instalaciones separadas llamadas anfitriones; las máquinas anfitriones generalmente se diferencian del resto en cuanto a su tipo, velocidad, sistema operativo etc.
  4. Un sistema operativo de red es un sistema operativo de computadora diseñado para administrar y apoyar a las estaciones de trabajo, computadoras personales y servidores normalmente conectados a una red de área local.
  5. Los recursos compartidos ofrecen a los usuarios acceso a archivos y carpetas mediante la red. Usando las carpetas de datos compartidas ofreces un lugar central para el acceso común de los usuarios a los archivos y facilitar las copias de seguridad de los datos contenidos en dichos archivos. Un recurso compartido es cuando hacemos que una carpeta sea accesible desde la red y para múltiples usuarios simultáneamente. Después de que una carpeta se comparte, los usuarios podrán acceder a todos los archivos y subcarpetas que contiene, si estos tienen los permisos adecuados. Sus caracteristicas mas comunes son: • Aparece en Windows Explorer como un icono de una mano ofreciendo una carpeta. • Sólo podemos compartir carpetas, no archivos individualmente. Si varios usuarios han de acceder al mismo archivo, se coloca en una carpeta y se comparte la misma. • Cuando compartimos una carpeta, el permiso de lectura se asigna al grupo 'Todos' como un permiso predefinido. Quitar el predefinido y asignar otros permisos a los grupos deseados es necesario. • Si añadimos usuarios o grupos a una carpeta compartida, el permiso predefinido es de lectura. • Cuando copiamos una carpeta compartida, la original continua compartida pero no así la copia. Si movemos la carpeta a otra situación, perderá el atributo de compartida.
  6. 1. Planificación de alto nivel: También se denomina Planificación de trabajos: Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando los trabajos que deben admitirse en el sistema. Determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificación de admisión. 2. Planificación de nivel intermedio: En algunos casos, en especial cuando el sistema está sobrecargado, el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación, y por lo tanto, permitir que los trabajos se completen mas aprisa Determina a qué procesos se les puede permitir competir por la cpu. Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos. Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. 3. Planificación de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible Determina a qué proceso listo se le asigna la cpu cuando esta queda disponible y asigna la cpu al mismo, es decir que “despacha” la cpu al proceso. La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario. Los distintos Sistemas Operativos utilizan varias Políticas de Planificación, que se instrumentan mediante Mecanismos de Planificación. En las redes inalámbricas, donde varios servidores comparten un mismo canal, este algoritmo provee a cada servidor un intervalo regular de tiempo para transmitir o recibir información mediante el canal compartido. Esto hace parecer a Round Robin como un algoritmo justo, pero, de todos modos, por ser mucho menos eficiente que el “algoritmo de proporcionalidad justa”, es muy difícil proveer un buen servicio a los suscriptores. El operador de la red también sufrirá capacidad reducida en la red. La causa principal es que este algoritmo no tiene en cuenta el cambio de condiciones de recepción en los diferentes receptores.
  7. Las “estrategias de búsqueda” están relacionadas con el hecho de cuándo obtener el siguiente fragmento de programa o de datos para su inserción en la memoria principal. En la “búsqueda por demanda” el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algún programa en ejecución lo referencia. Se considera que la “búsqueda anticipada” puede producir un mejor rendimiento del sistema. Las “estrategias de colocación” están relacionadas con la determinación del lugar de la memoria donde se colocará (cargará) un programa nuevo. Las “estrategias de reposición” están relacionadas con la determinación de qué fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.
  8. RPC=Remote Process Call RMI=Remote Method Invocation
  9. Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer in a network without having to understand network details. (A procedure call is also sometimes known as a function call or a subroutine call.) RPC uses the client/server model. The requesting program is a client and the service-providing program is the server. Like a regular or local procedure call, an RPC is a synchronous operation requiring the requesting program to be suspended until the results of the remote procedure are returned. However, the use of lightweight processes or threads that share the same address space allows multiple RPCs to be performed concurrently.
  10. DFS permite simplificar la visión que el usuario tiene de la red y sus recursos. En esencia, DFS permite trabajar con volúmenes locales, redes compartidas, y múltiples servidores bajo un mismo sistema de archivos. En vez de pedir al usuario que recuerde los diferentes nombres de los servidores que proporcionan servicios de archivos, estos recursos pueden aparecer en el mismo sitio para el usuario, a pesar de estar en realidad separados.
  11. Modelo carga/descarga: Lectura: La lectura consiste en transferir un archivo de uno de los servidores de archivos al cliente Escritura: consiste en una transferencia como la lectura, pero en sentido contrario Modelo de acceso remoto: Los archivos son ejecutados con todas las funciones en los servidores y no en los clientes.
  12. Un “protocolo” es un conjunto de: Solicitudes que envían los clientes a los servidores. Respuestas que envían los servidores de regreso a los clientes. El sistema de archivos de red (NFS) es una aplicación cliente / servidor que permite una vista de usuario de la computadora y almacenar opcionalmente y archivo de actualización en un equipo remoto como si estuvieran en el propio ordenador del usuario El sistema del usuario necesita tener un cliente NFS y el otro equipo necesita el servidor NFS. Ambos requieren que también tiene instalado TCP / IP desde el servidor NFS y el uso de cliente TCP / IP como el programa que envía los archivos y actualizaciones de ida y vuelta. (Sin embargo, el User Datagram Protocol, UDP, que viene con TCP / IP, se utiliza en lugar de TCP con versiones anteriores de NFS).
  13. NFS – PROTOCOLO Es un protocolo encima de la capa TCP/IP El protocolo NFS es un conjunto de tipos y formatos de mensajes El cliente emite un mensaje de solicitud de operaciones de servicio servidor de realizar la operación solicitada y devuelve un mensaje de respuesta con la condición y (tal vez) los datos solicitados
  14. PETA= 1000 TB TB = 1 MILLON DE GB
  15. Terminología:
  16. Completamente implementado en user-space (FUSE) • Fácil de migrar, depurar y mantener • Diferentes modalidades de configuración • Se crea sobre un sistema de archivos existente (ext3, ext4) lo que hace que se puedan recuperar los archivos aun si Gluster deja de funcionar
  17. Vs NFS: Aunque NFS puede proveer de tiempos de lectura y escritura bajos y baja carga de CPU, NFS no provee alta disponibilidad ni redundancia, si el servidor NFS deja de estar disponible no hay acceso a la información
  18.  idempotencia es la propiedad para realizar una acción determinada varias veces y aun así conseguir el mismo resultado que se obtendría si se realizase una sola vez. Un elemento que cumple esta propiedad es un elemento idempotente, o un idempotente. De esta manera, si un elemento al multiplicarse por sí mismo sucesivas veces da él mismo, este elemento es idempotente. Por ejemplo, los dos únicos números reales que son idempotentes, para la operación producto (·), son 0 y 1. (0·0=0,1·1=1).
  19. PETA= 1000 TB TB = 1 MILLON DE GB Obicuo => que esta presente en varios sitios. Un cluster de ordenadores consiste en un conjunto de ordenadores conectados que trabajan juntos para que, en muchos aspectos, pueden ser vistos como un solo sistema. A diferencia de los ordenadores de la red, clusters de ordenadores tienen cada conjunto de nodos para realizar la misma tarea, controlado y programado por software. Los componentes de un grupo son por lo general conectados entre sí a través de redes de área local rápida ("LAN"), con cada nodo (ordenador se utiliza como un servidor) que se ejecuta su propia instancia de un sistema operativo. En la mayoría de las circunstancias, todos los nodos utilizan el mismo hardware y el mismo sistema operativo, aunque en algunas configuraciones (es decir, el uso de recursos de aplicaciones de clústeres de código abierto (OSCAR)), diferentes sistemas operativos se pueden utilizar en cada equipo, y / o hardware diferente.
  20. Computadores conectados interactúan mediante paso de mensajes, empleando un medio común de comunicación. El diseño y la construcción de los mecanismos de comunicación de Internet (protocolos Internet) es una técnica fundamental, permitiendo un proceso en ejecución dirija mensajes a procesos en cualquier parte.
  21. Aplicación Distribuida  Diseñada a capas (3 al menos : servidor, base datos, etc)y
  22. Aplicación Distribuida  Diseñada a capas (3 al menos : servidor, base datos, etc)y
  23. Exlusion Mutua: Consiste en que un solo proceso excluye temporalmente a todos los demás para usar un recurso compartido de forma que garantice la integridad del sistema. Un proceso no debe poder solicitar acceso a una sección crítica para después ser demorado indefinidamente, no puede permitirse el interbloqueo o la inanición. Si ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin demora. No se debe suponer sobre la velocidad relativa de los procesos o el número de procesadores. Un proceso permanece en su sección crítica por un tiempo finito. Una manera de satisfacer los requisitos de exclusión mutua es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente. Tanto si son programas del sistema como de aplicación, los procesos deben coordinarse unos con otros para cumplir la exclusión mutua, sin ayuda del lenguaje de programación o del sistema operativo. Estos métodos se conocen como soluciones por software.
  24. Exclusion mututa Es la comunicación requerida entre dos o más procesos que se están ejecutando en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el recurso no compartible a sólo uno de los procesos, mientras que los otros deben permanecer a la espera hasta que finalice la utilización de dicho recurso por el proceso al que se le asigno. Cuando este proceso termine, el recurso será asignado a uno de los procesos en espera. Se asegura el correcto uso del recurso. Sección Crítica: Es la sección del código de un proceso el cual accede a un recurso compartido que no debe ser utilizado por más de un recurso a la vez. Por lo general termina en un tiempo determinado. Solamente un proceso puede estar en su sección crítica a la vez. El método más común para prevenir que dos procesos entren a su sección crítica al mismo tiempo es la exclusión mutua
  25. 1. Algoritmos centralizados: Se basan en la existencia de un proceso coordinador de la sección crítica, que gestiona peticiones de entrar y dejar la sección crítica. Petición de entrar a la sección crítica Si está libre, el coordinador responde con un mensaje de confirmación. Si está ocupada, no responde (o responde con un mensaje de denegación), y encola la petición. Petición de dejar la sección crítica Si la cola de procesos pendientes no está vacía, elige al primero para entrar y le envía la confirmación. Este algoritmo garantiza exclusión mutua, no interbloqueo y no inanición. El problema de los algoritmos centralizados es que el coordinador se convierte en un cuello de botella, por lo que son poco escalables. Además, ofrecen escasa tolerancia a fallos, ya que un fallo en el coordinador deja a los clientes sin acceso a la sección crítica. Por otro lado, se requiere un tratamiento explícito de los fallos de los clientes, ya que un cliente que no llegase a solicitar la liberación de la sección crítica impediría a otros el acceso. 2. Algoritmos distribuidos : A diferencia de los centralizados, en los algoritmos distribuidos no existe un proceso diferenciado que coordine el acceso a la sección crítica, sino que se implementa un protocolo que permite establecer un acuerdo entre los procesos para decidir quién entra a la sección crítica.
  26. Servicio remoto: Ejecutar en un equipo remoto un programa residente en el sistema remoto (Ejemplo: rsh) Ejecucion Remoto: Ejecutar en un equipo remoto un programa residente en el equipo local.
  27. La ejecucion remota en una maquina al azar requiere 2 etapas: inicializa: debe enviar un mensaje de peticion a los gestores remotos de programas soliciutado solicitando su estado de cargo o recursos disponibles. Se recibira una respuesta y en funcion a esto se enviara una peticion de memoria para cargar la imagen del programa a ejecutar Ejecucion: de programas den v-system se ejecuta en transparencia de red , es decir que los programas no acceden directo al hardware.|
  28. RCP=Remote procesos calls ORB=Object Request Broker Mom=Orientados a mensajes DTPM=Monitores de procesamento de transacciones distribuidas
  29. Modelo que separa el código fuente en tres capas: (frameworks) Es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario
  30. El cliente realiza la petición, que recibe el controlador de Struts. Todas las peticiones pasan por él, ya que la petición no es una URL física (no es un servlet o un JSP) sino que es un nombre simbólico para una acción. El controlador despacha la petición, identificando la acción y disparando la lógica de negocio apropiada. La lógica de negocio actualiza el modelo y obtiene datos del mismo, almacenándolos en beans. En función del valor devuelto por la lógica de negocio, el controlador elige la siguiente vista a mostrar. La vista toma los datos obtenidos por la lógica de negocio. La vista muestra los datos en el cliente
  31. Comunicar una aplicación A con B => Puente
  32. Midleware se encarga de la comunicación de ida y venida
  33. Midleware se encarga de la comunicación de ida y venida
  34. Caso particular de los sistemas Cliente-Servidor con representación remota. En donde se dispone de un protocolo estándar: HTTP y un Middleware denominado WebServer. En la actualidad la aplicación de sistemas informáticos basados en Internet, es una herramienta fundamental para las organizaciones que desean tener cierta presencia competitiva.
  35. Si se desarrolla una aplicación WEB es para que el cliente consuma un Servicio de la aplicación WEB. Ejemplo: Cada banco busca información en la Central de bancos la cual le brinda el servicio para informar Que es una web servicio ? Aplicación web A y otra B Si A -> quiere comunicarse con aplicación web B (distintos) Requisito que la aplicación web B tenga servicios A -> Solo solicita los servicios La info que va de petición o respuesta va estructurada mediante XML (lenguaje de marcadores)