Beruflich Dokumente
Kultur Dokumente
Ingeniera de Software
2014-II
- semana 01 -
Modelamien
to de
Sistemas
Distribuidos
.
Trabajo en
red.
- semana 03 -
- semana 02 Comunicacin
entre
procesos
- semana 06 -
Comunicaci
n grupal.
Protocolos
de Internet
(continuaci
n)
Practica Calificada
1
Simulacin
de red.
- semana 05 -
- semana 04 Programaci
n de
sockets.
- semana 07 -
Practica
Calificada 2
Objetos
Distribuidos.
- semana 09 -
Eventos y
notificacione
s.
- semana 10 -
Procesos
Sistema de
Archivos y
Nombres.
Sistema de
nombres de
dominios.
Examen
Final
- semana 14 -
- semana 15 -
Practica
Calificada 3
- semana 12 -
semana 13
-
Sistemas Distribuidos
Sistema de Evaluacin
Sistemas Distribuidos
ndice de la Semana I y II
1.- Introduccin a los Sistemas Distribuidos
1.1.- Sistemas
- Definicin, Elementos, Caractersticas, Clasificacin
1.2.- Procesamiento
- Por lotes, en lnea, centralizado, distribuido.
1.3.- Antecedentes a los Sistemas Distribuidos.
1.4.- Los Sistemas Distribuidos.
Definicin, Caractersticas, Ventajas y Desventajas.
1.7.- Comunicacin entre los Sistemas y Procesos.
1.8.- Arquitectura de los Sistemas.
Sistemas Distribuidos
LOS SISTEMAS
Definicin
Elementos
Caractersticas o propiedades
Subsistemas
Retroalimentacin
Homeostasis
Entropa
Adaptabilidad
Estabilidad
Clasificacin
Caja Negra
Sistemas Distribuidos
Tipos de Procesamiento
Por Lotes (batch)
Ejecucin de un programa sin el control o supervisin directa del usuario.
Mecanismo tradicional y antiguo de ejecutar tareas repetitivas sobre
grandes conjuntos de datos.
Se alcanzan tiempos de ejecucin muy altos, ya que los recursos
disponibles estn siendo utilizados casi continuamente.
Sirve para procesar datos histricos.
Procesamiento asncrono (evento registro)
En Lnea (On-line)
Ejecucin de un programa con control y supervisin directa del usuario.
Mecanismo actual de ejecutar tareas transaccionales, individuales y no
repetitivas sobre pequeos conjuntos de datos.
El proceso se efecta en el momento en que esta sucediendo la
transaccin.
Procesamiento sncrono (evento registro)
Sistemas Distribuidos
Procesamiento Secuencial
Es el procesamiento de una tarea despus de otra. Es un proceso lento
en el que si una tarea se enlentece, el sistema completo debe esperar. La
ventaja es que es fcil de entender y de implementar
Sistemas Distribuidos
Procesamiento Paralelo
Es el procesamiento que favorece, la explotacin de los sucesos
concurrentes en el proceso de computacin. Concurrencia implica
paralelismo, simultaneidad y solapamiento.
Pueden producirse en diferentes recursos durante el mismo intervalo de
tiempo.
El rendimiento general del sistema mejora.
El procesamiento paralelo exige la ejecucin concurrente en el
computador de muchos programas.
Procesamiento Distribuido / Descentralizado
Este modelo, que predomina en la actualidad, permite descentralizar el
procesamiento y recursos, de cada uno de los servicios y de la
visualizacin de la Interfaz Grfica de Usuario.
Los sistemas distribuidos tienen una mayor velocidad de respuesta al medio
ambiente pero requieren mayor cantidad de recursos y mtodos de
coordinacin y de control ms elaborados y complejos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Definiciones
Un sistema distribuido es una coleccin de computadoras independientes; es decir
autnomas, que aparecen ante los usuarios del sistema como una nica computadora
Los sistemas operativos distribuidos convierten toda la coleccin de hardware y software
Sistemas Distribuidos
Un sistema distribuido es aqul al que sus usuarios ven como un ordinario sistema
operativo centralizado; sin embargo, se ejecuta en diferentes e independientes CPUs
Tanembaum
Sistemas Distribuidos
Heterogeneidad
Es la variedad y diferencia que podemos encontrar en los elementos que componen
una red de computadoras sobre la que se ejecuta un sistema distribuido.
Estos elementos pueden ser redes, lenguajes de programacin, hardware, sistemas
operativos y las aplicaciones de diferentes desarrolladores.
Los protocolos de comunicacin de Internet enmascaran las diferencias entre redes y
el middleware puede tratar con las diferencias restantes. Para que la heterogeneidad
subsista, es necesario el uso de Middleware.
Sistemas Distribuidos
En cuanto a las redes, a pesar de que internet esta compuesta por muchos tipos de
redes diferentes, sus diferencias se encuentran enmascaradas dado que los
computadores conectados a la Internet utilizan los protocolos de Internet para
comunicarse una con otra.
Los programas, escritos por diferentes programadores no podran comunicarse entre
si a menos que utilicen estndares comunes.
Sistemas Distribuidos
Sistemas Distribuidos
Cdigo Mvil
Cdigo que puede ser enviado de una computadora a otra para que sta ltima
la ejecute.
Ejemplo:
Problema:
Applets
Implentar cdigo para una mquina (so) no apropiada. Win. Vs Linux.
Solucin:
Cdigo ejecutable sobre cualquier hardware.
Sistemas Distribuidos
Mquinas Virtuales
Proveen un modo de crear cdigo ejecutable sobre cualquier hardware.
Sistemas Distribuidos
Apertura (openness)
La apertura de los sistemas distribuidos se determina primariamente por
el grado hacia el que nuevos servicios de comparticin de recursos se
pueden aadir sin perjudicar ni duplicar a los ya existentes.
Un sistema abierto, puede estar integrado por diferentes proveedores
sin afectar su funcionamiento.
Un sistema informtico es abierto si el sistema puede ser extendido de
diversas maneras. Un sistema puede ser abierto o cerrado con
respecto a extensiones hardware (aadir perifricos, memoria o
interfaces de comunicacin, etc ) o con respecto a las extensiones
software ( aadir caractersticas al sistema operativo, protocolos de
comunicacin y servicios de comparticin de recursos, etc )
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Seguridad
Confidencialidad
Autentificacin
Integridad
No repudio
Disponibilidad
Sistemas Distribuidos
Escalabilidad
Caracterstica importante, que permite que un sistema conserve su efectividad ante
un incremento de usuarios y recursos.
Un sistema distribuido es escalable si el coste de aadir un usuario es una cantidad
constante en trminos de recursos que se debern aadir. Los algoritmos
empleados para acceder a los datos compartidos deberan evitar cuellos de botella
y los datos deberan estar estructurados jerrquicamente para dar los mejores
tiempos de acceso
Escalabilidad de tamao, si se puede agregar usuarios y recursos fcilmente.
Escalabilidad de localizacin, si se pueden separar los usuarios de los recursos
(distantes el uno del otro) sin que el sistema se afecte.
Escalabilidad de administracin, si un sistema es de fcil administracin a pesar que
se utiliza en organizaciones independientes.
Sistemas Distribuidos
Sistemas Distribuidos
Tolerancia a Fallos
Los fallos tanto de hardware como de software en un sistema distribuido, solo afecta a
los servicios que el componente que fallo este prestando, mientras que los otros
servicios que prestan los otros componentes siguen funcionando.
Las tcnicas comunes para el tratamiento a fallos son:
Deteccin de fallos
Enmascaramiento de fallos
Tolerancia a fallos
Recuperacin frente a fallos
Redundancia
Sistemas Distribuidos
Comparticin de Recursos
Es el abanico de entidades que pueden compartirse en un sistema
distribuido
Los recursos en un sistema distribuido estn fsicamente encapsulados en
una de las computadoras y slo pueden ser accedidos por otras
computadoras mediante las comunicaciones (la red).
Un sistema distribuido puede verse de manera abstracta como un conjunto
de gestores de recursos y un conjunto de programas que usan los
recursos.
Sistemas Distribuidos
Concurrencia
Sistemas Distribuidos
Sistemas Distribuidos
Transparencia
La transparencia se define como la ocultacin al usuario y al
programador de aplicaciones de la separacin de los componentes de
un sistema distribuido, de manera que el sistema se percibe como un
todo, en vez de una coleccin de componentes independientes.
Sistemas Distribuidos
En PCs Independientes
Se pueden compartir recursos (perifricos,)
Flexibilidad
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Arquitectura de
Sistemas
Sistemas Distribuidos
Arquitectura de Sistemas
Es la organizacin fundamental de un sistema, que incluye sus componentes, las
relaciones entre s y el ambiente, y los principios que gobiernan su diseo y
evolucin
Las Arquitecturas de Sistemas representan la divisin o distribucin de
responsabilidades entre los componentes del sistema (aplicaciones, servidores y
otros procesos) y la ubicacin de los componentes en los computadores en la red.
Sus implicaciones fundamentales estn en las prestaciones, fiabilidad y seguridad
del sistema resultante.
La arquitectura es la representacin usada para transportar informacin abstracta
sobre el sistema, las relaciones entre sus elementos y las reglas que gobiernan esas
relaciones
Actualmente los modelos existentes son bsicamente:
- Monoltico o Tradicional.
- Cliente / Servidor.
- Multiples Capas o Niveles.
Cada uno de estos modelos tiene como cualquier otro modelo sus ventajas y
desventajas.
Sistemas Distribuidos
Sistemas Distribuidos
Arquitectura Monoltica
En una arquitectura monoltica las 3 partes de las aplicaciones se
ejecutan en la misma mquina.
Las aplicaciones a ser ejecutadas en este tipo de arquitectura son fciles
de desarrollar, difcil de mantener, poco escalable y precisa de cierta
potencia de proceso.
Sistemas Distribuidos
a interfaz de usuario y las reglas del negocio se alojan en el ordenador del client
La potencia de proceso se
reparte entre la capacidad de
procesamiento de los clientes.
La interfaz de usuario y las
reglas de negocio deben
comunicarse
remotamente
con los datos, siendo por ello
mas compleja, y se requiere
una plataforma de redes.
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos
Arquitectura Multicapa
Esta arquitectura hace referencia a aplicaciones que se ejecutan
en forma distribuidas denominndose nivel o capa a cada una de
las divisiones.
Ejemplo:
Una arquitectura de 3 capas o niveles sera si un cliente ejecuta
la interfaz, un servidor de aplicaciones que procesa las reglas del
negocio y un servidor de datos se encarga del almacenamiento y
recuperacin
de datos.
Un servidor de
aplicaciones puede
ser un servidor web que ejecuta
programas ante solicitudes de
clientes.
La interfaz de usuario esta a cargo
del cliente al ejecutar un browser
en su estacin de trabajo.
Sistemas Distribuidos
Sistemas Distribuidos
Sistemas Distribuidos