You are on page 1of 134

Sistemas Distribuidos

Introduccin
Era de la computadora moderna (19451950). (Ver Historia de la Computacin)
Evolucin hacia los sistemas distribuidos.

Evolucin Hacia los Sistemas


Distribuidos
1950: Era de la computadora moderna. Los procesos
se ejecutan en serie. Corra un trabajo a la vez.
1960; Trabajos con necesidades similares se colocan
juntos en un lote (batched) y se ejecutaban como un
grupo reduciendo el tiempo ocioso.
1970: Introduce el tiempo compartido. Motiva al
usuario a estar mas cerca del computador, ya que
podan compartir recursos y acceso a diferentes
locaciones.

Evolucin Hacia los Sistemas


Distribuidos
1980: Dcada del PC. Es posible que cada
persona pueda tener su propia maquina.
1990: Dcada de los sistemas distribuidos
debido al excelente precio/desempeo ofrecido
por los microprocesadores y tecnologa de redes
de rea local de alta velocidad.

Caso de estudio: Google

Caso de estudio: Google

Steve Jobs y Steve Wozniak se conocieron en


1971
Equipos Macintosh, el iPod, el iPhone y el
iPad.
Entre el software de Apple se encuentran el
sistema operativo Mac OS X

Mercado de los lenguajes de


Programacin

Mercado de las PC 2013

http://venturebeat.com/2013/04/10/pc-shipments-post-biggest-quarterly-sales-dropever-the-idc-blames-windows-8/

Mercado de SO para moviles

Mercado para tablet

http://www.tuaw.com/2013/05/02/ipad-commands-lions-share-of-tablet-market-despitesamsungs-ga/

Mercado de Servidores Web 2014

http://news.netcraft.com/

Mercado del Hosting (Febrero de 2014)

http://news.netcraft.com/

Mercado de los Navegadores(Browser)


2014

Tomado de http://netmarketshare.com/

Mercado de los Navegadores(Browser)


2014

Tomado de http://netmarketshare.com/

Mercado de los Sistemas


Operativos 2014

Tomado de http://netmarketshare.com/

Mercado de los procesadores

Mercado Productos y Servicios

Antecedentes
Sistemas Centralizados - Sistemas Operativos Centralizados

Un sistema se dice centralizado cuando tiene un ncleo que


comanda a todos los dems, y estos dependen para su
activacin del primero, ya que por s solos no son capaces
de generar ningn proceso. Los sistemas centralizados
caracterizados por la utilizacin de mainframe (Estos
sistemas tambin son llamados: Sistemas Multiusuario o
Monolitos) , posean muchas desventajas tales como:
Cuellos De Botellas (Bottle neck)
Un solo punto de falla y control
Servicios centralizados (Un solo servidor para todos los usuarios)
Datos Centralizados
Algoritmos Centralizados

Antecedentes
Redes De Computadores Sistemas Operativos
De Redes
Local Area Networks (LANs)
Wide Area Networks (WANs)

Multiprocesamiento Maquinas Paralelas

Antecedentes
Cientficos y acadmicos tratan de concebir Sistemas
Operativos Distribuidos.
Con
el
desarrollo
del
protocolo de
comunicacin TCP/IP, redes de computadores y
explosin de Internet, se hace necesario el
procesamiento que aproveche toda la infraestructura.
Hablamos entonces de Sistemas Distribuidos.

Definicin
Computacin Distribuida:
Un paradigma de
computacin en el cual diferentes maquinas
interconectadas mediante una red dan soporte a una
aplicacin formada por componentes de software que
se encuentran dispersos entre las maquinas con el
propsito de realizar una tarea colaborativa en comn.
Computacin Distribuida: Permite distribuir el
proceso computacionales diferentes equipos mediante
las redes.

Definicin
Tanenbaum:
es una
coleccin
de
computadoras
independientes que aparecen a los usuarios
como un solo sistema coherente
Coulouris:
es un sistema en el cual sus componentes,
localizados en una red de computadoras, se
comunican y coordinan sus acciones a travs de
paso de mensajes.

Definicin
Del http://dictionary.com:
es una coleccin de maquinas (probablemente
heterogneos),
cuya
distribucin
es
transparente para el usuario, de tal manera
que el sistema aparece como una sola
mquina con un slo objetivo.

Definicin
Coleccin de ordenadores autnomos enlazados por
una red y soportados por aplicaciones que hacen que
la coleccin acte como un servicio integrado

Definicin
Es un sistema compuesto de una coleccin
de maquinas autnomas conectadas por una
red de comunicacin y equipada con un
sistema de software diseado para producir
un integrado y consistente ambiente de
computacin

Definicin
Un sistema distribuido es aquel en el que los
componentes (tanto de HW como de SW)
localizados en computadores, conectados en
red, comunican y coordinan sus acciones
nicamente mediante el paso de mensajes. Los
computadores son maquinas independientes
que aparecen al usuario como un solo sistema.

Sistema Distribuido

Figura 1. Sistema Distribuido

Motivacin a Crear Sistemas


Distribuidos
Requerimientos de procesamiento
Aplicaciones distribuidas inherentes
Costo/desempeo
Flexibilidad y escalabilidad
Distribucin fsica del sistema
Fiabilidad: Tolerancia a fallo
Disponibilidad
Transparencia

Transparencia: se define como: "La percepcin de un


sistema como un todo y no como una coleccin de
componentes independientes".

Caractersticas
1.Cada elemento de computo tiene su propia memoria y su
propio Sistema Operativo. (PE (Procesing Elements) =
Memoria + Procesador)
2.Control de recursos locales y remotos.
3.Sistemas Abiertos (Facilidades de cambio y crecimiento):
Ser capaz de interactuar con servicios de otros sistemas
abiertos. Para esto el sistema debe definir:
Interfaces bien definidas
Soporte para la portabilidad de aplicaciones
Soporte para la interoperabilidad del sistema

Caractersticas
4.Plataforma de Hardware no estndar ( Unix, NT, LINUX,SOLARIS,
Etc.).
5.Medios de comunicacin ( Redes, Protocolos, Dispositivos, Etc.).
6.Capacidad de Procesamiento en paralelo.
7.Dispersin.

Paralelismo vs Concurrencia
Paralelismo:
Varios procesadores trabajando al mismo tiempo

Concurrencia:
Varios procesos o tareas en un procesador al mismo tiempo
(seudoparalelismo)

Requerimientos
Transparencia.
Esta es una de las caractersticas mas importantes en
un sistema distribuido. Existen varios tipos de
transparencia:
Acceso: Oculta las diferencias en las representaciones de los
datos y la forma como los recursos son accedidos.
Localizacin: Oculta donde el recurso esta localizado
Migracin o Movilidad: Oculta si el recurso ha sido movido a
otra localizacin.
Re-Locacion: Oculta si un recurso es movido mientras es usado
por un usuario.
Replicacin: Oculta las diferentes replicas que puedan existir de
un recurso.

Requerimientos
Tolerancia a fallos: Oculta la falla y recuperacin
del sistema.
Concurrencia: Oculta que diferentes usuarios
simultneamente estn utilizando un recurso
De Rendimiento: Permite que el sistema se
reconfigure en funcin de la demanda de carga,
para mejorar u optimizar rendimiento

Requerimientos

Confiabilidad

Disponibilidad
Consistencia de la informacin
Seguridad

Desempeo

Tiempo de respuesta
Rendimiento
Comunicacin

Requerimientos
Comparticin de recursos
La palabra recursos indican hardware, software y datos.
Es una consecuencia de la comunicacin y la cooperacin de
usuarios.

Concurrencia
Ejecucin de varios procesos a la vez

Escalabilidad
Denota la habilidad para acomodar la carga de crecimiento en un
futuro.
Las arquitecturas distribuidas alcanzan la escalabilidad empleando
mas de una estacin (host).

Requerimientos
La escalabilidad se puede dar por lo menos en tres tipos
de componentes:
Escalabilidad de tamao: Numero de usuarios y/o
Procesos
Tipos De Escalabilidad:
Horizontal: La adicin o eliminacin de estaciones de trabajo del
cliente con apenas un ligero impacto en el desempeo.
Vertical: Significa migran a un aparato mas grande y mas veloz o a
servidores mltiples.

Requerimientos
Escalabilidad Geogrfica: Mxima distancia entre
nodos
Escalabilidad de dominios: Numero de dominios
administrados.
Tcnicas para escalar:
Distribucin: Particin de los datos a travs de mltiples
maquinas:
Descentralizar servicios de dominios
Descentralizar sistemas de informacin

Requerimientos
Replicacin
Replicacin de servidores de archivo
Replicacin de bases de datos
Sitios web espejo
Cacheo
Web Cache (Browser/Web Proxy)
Cacheo de archivo (Servidor y clientes)

Requerimientos
Tolerancia a fallos.
Las fallas en un sistema distribuido son parciales, es decir, algunos componentes
fallan mientras otros siguen funcionando. Entre las posibles tolerancias a fallos que
podemos tener en cuenta estn:
Deteccin De Fallos: Algunos fallos son detectables; por ejemplo, se pueden
utilizar sumas de comprobacin (Checksums) para detectar datos corruptos
en un mensaje o un archivo.

Requerimientos
Tolerancia a fallos
Redundancia: Puede lograrse que los servicios toleren fallos
mediante el empleo redundante de componentes. Ejemplo
Siempre deber haber al menos dos rutas diferentes entre dos router
cualesquiera en internet.
En el sistema de dominio de nombres, cada tabla de nombres se encuentra
replicada en dos servidores diferentes.
Una base de datos puede encontrarse replicada en varios servidores para
asegurar que los datos sigan siendo accesibles tras el fallo de cualquier servidor.

Requerimientos
Tolerancia a fallos.
Enmascaramiento de fallos: Algunos fallos que han sido detectados pueden
ocultarse o atenuarse. Dos ejemplos de ocultacin de fallos son:
o Los mensajes pueden retransmitirse cuando falla la recepcin.
o Los archivos de datos pueden escribirse en varios discos de forma que si uno esta
deteriorado el otro seguramente estar en buen estado

Reparacin frente a fallos


La recuperacin implica el diseo de software en el que, tras una cada del servidor el
estado de los datos pueda reponerse o retractarse (Rollback)-

Requerimientos
Abierto (open)
Los sistemas pueden ser fcilmente extendidos y modificados.
Los componentes del sistema necesitan estar bien definidos y tener
interfaces bien documentadas.

Heterogeneidad
Integrar componentes heterogneos.
La heterogeneidad de los componentes puede surgir de los
lenguajes de programacin, sistemas operativos, plataformas de
hardware y protocolos de redes.

Sincronizacin Caracterstica compleja

Consecuencias o Efectos
Concurrencia

- Ventajas: trabajo cooperativo


Inconvenientes: programacin compleja
Inexistencia de reloj global
Fallos independientes

El sistema puede ser ms robusto


Aparecen nuevos modos de fallo

Sntomas para un Probable SD


Multiple PE (Procesing Element).
Interconexin de hardware (red).
Los PE tienen fallos independientes.
Recursos a compartir.

Factores para el desarrollo de SD


Avances Tecnolgicos.
Nuevos requerimientos.
Globalizacin.
Aspectos Externos ( Culturales, Polticos, Econmicos ).
Integracin.

Ventajas de los sistemas Distribuidos en


relacin a los sistemas centralizados
Procesadores ms poderosos y a menos costos

-Desarrollo de Estaciones con ms capacidades


-Las estaciones satisfacen las necesidades de los usuarios.

Avances en la Tecnologa de Comunicaciones.


- Disponibilidad de elementos de Comunicacin.
- Desarrollo de nuevas tcnicas.

Comparticin de Recursos.
- Dispositivos (Hardware).
- Programas (Software).

Ventajas de los sistemas Distribuidos en


relacin a los sistemas centralizados
Eficiencia y Flexibilidad.
- Respuesta Rpida.

- Ejecucin Concurrente de procesos (En varias computadoras).


- Empleo de tcnicas de procesamiento distribuido.

Disponibilidad y Confiabilidad.
- Sistema poco propenso a fallas (Si un componente falla no afecta a la

disponibilidad del sistema).


-Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo
Elctrico, Etc.).

Crecimiento Modular.
-Es inherente al crecimiento.
-Inclusin rpida de nuevos recursos.
-Los recursos actuales no afectan

Ventajas de los sistemas Distribuidos en


relacin a los sistemas centralizados
Personas y recursos son distribuidos

Desventajas
distribuidos

de

los

sistemas

Redes (Diferentes topologas).


Hardware de computadores.
Sistemas operativos.
Lenguajes de programacin.
Implementaciones de diferentes desarrolladores.
Seguridad.
Manejabilidad.

Interrogantes De Los SD
Grandes Interrogantes

Qu tipo de S. O., lenguaje de programacin y


aplicaciones son adecuados para estos
sistemas?.
Cunto deben saber los usuarios de la
distribucin?.
Qu tanto debe hacer el sistema y qu tanto
deben hacer los usuarios?.

La respuesta a estos interrogantes no es uniforme


entre los especialistas, pues existe una gran
diversidad de criterios y de interpretaciones al
respecto.

Comparacin de los sistemas distribuidos


vs Sistemas centralizados
Sistemas Centralizados vs Sistemas Distribuidos
Tienes sus componentes no autnomos

Tienes sus componentes autnomos

Son frecuentemente construidos


utilizando tecnologa homognea

Son construidos utilizando tecnologa


heterognea

Multiples usuarios comparten los


recursos de un sistema centralizado

Son ejecutados en procesos diferentes

Sistemas Centralizados tienen un nico


punto de control y de falla.

Tienen mltiples puntos de falla.

Comparacin de los sistemas


distribuidos vs las redes
Redes vs Sistemas Distribuidos
Redes: Coleccin de computadoras
independientes interconectados.
-Interconectados: Pueden intercambiar
informacin.
-Autnomo: Excluye las relaciones
maestro/detalle

Sistemas Distribuidos: La existencia de


mltiples computadores independientes
que son transparentes al usuario (El
usuario ve todo como un solo sistema).
- Un sistema de software construido sobre
una red.

Elementos Que Distribuyen en los


sistemas
distribuidos
Tradicionalmente
- Recursos (Hardware y software).
- Procesamiento
- Control
- Datos

Hoy
- Objetos
- Componentes
- Agentes

Ejemplos De Sistemas Distribuidos


Internet
Internet es una vasta coleccin de redes de
computadores
de
diferentes
tipos
interconectados entre si.

Ejemplo Internet
Servicios En Internet

E-Mail
Telnet y SSH (Secure Shell)
File Transfer (FTP)
Gopher
Chat (IRC)
Newsgroups (News)
World Wide Web (WWW)

Ejemplo Internet
Tipos de Conexiones a Internet
Dedicados (Tecnologa xDSL)
Conmutados (Modem interno)
Servicio Dedicado (Tecnologa xDSL) (Servicio dedicado
con reus)

Ejemplo Internet
Servidores En Internet
DNS (Domain Name Service)
DHCP (Dinamyc Host Control Protocol)
Web
Archivos
Proxy (Intermediario)

Dominios de Internet

Dominios de Internet

Ejemplo Internet
Conexin a Internet
Lan Switch /
Enrutador
RAS
Lnea
Telefnica
Hub

Modem
Modems

Estacin
Remota

Red Corporativa

Ejemplo Internet
Conexin a Internet

Ejemplo Internet
Conexin al BackBone
Nota: El backbone est compuesta de un
gran nmero de routers comerciales,
gubernamentales, universitarios y otros de
gran capacidad interconectados que llevan
los datos entre pases, continentes y
ocanos del mundo

Ejemplo De Una Parte De Internet


intranet

ISP

ISP

backbone

satellite link
desktop computer:
server:
network link:

ISP Internet Service Provider


Existe un Backbone que enlaza las intranets

Ejemplo Internet

Router que maneja el trafico de una ciudad y este


tiene conexin directa con el BackBone

Ejemplo de centro de datos

Tuberas de centro de datos Google

Ejemplo de centro de datos

Instalaciones de servidores

Ejemplo de centro de datos

Centro de refrigeracin

Cables Submarino

Arcos
Maya-1 / SAC-LAN
Amrica Mvil 1

CFX-1
GlobeNet
SAm-1
Pan American

Ejemplo Internet - Servidores DNS

Ejemplo Internet
Banda Ancha En Internet
La Unin Internacional de Telecomunicaciones,
encuadra dentro de banda ancha a las tcnicas capaces
de transmitir ms rpido que un acceso primario de
RDSI, sea ste a 1,5 2 Mbps. Sin embargo las
velocidades de 256 kbps o incluso 128 kbps se
comercializan como de "banda ancha", convencin
que siguen tanto los proveedores de servicios de
internet como los gobiernos en sus polticas.

Ejemplo Internet
Servidores Raz en (Root Server) Internet
Un Servidor Raz es un servidor de nombre de
dominio (DNS) y es el servidor que sabe donde estn
los servidores de nombres autoritarios para cada una
de las zonas de ms alto nivel en Internet.
Existen 13 servidores raz en toda Internet
distribuidos en diferentes partes de la red. Estos
servidores reciben miles de consultas por segundo, y
a pesar de esta carga la resolucin de nombres
trabaja con bastante eficiencia.

Ejemplo Internet
Internet

Ejemplo Internet

Estadsticas de Internet
Criterio

Valor

Sitios Web

255 Millones

Servidor Crecimiento Web

Apache creci un 39,1%, el de IIS un


15,3%, nginx un 4,1%, Google GWS un
5,8% y Lighttpd un 55,7%.

Servidor Web Cuota en el mercado

Apache domin en materia de


servidores con una cuota del 59,4%,
Microsoft alcanz un 22,2%, nginx un
6,6%, Google un 5,9%, Lighttpd con
un 0,5% y otros con un 5,4%.

Dominios

Hasta los ltimos das de 2010 haba


88,8 millones de dominios .com
13,2 millones de .net
8,6 millones de .org

Estadsticas de Internet
Criterio

Valor

Correo Electronico

Se enviaron 107 billones de correos


electrnicos.
En promedio, se enviaron cada da
294.000 millones de correos

Correo Spam

Royal Pingdom parte de la base de que


el 89,1% de los mensajes de correo
electrnico corresponde a spam, segn
un informe reciente de Symantec, para
afirmar que unos 262.000 millones de
mensajes diarios son correo basura

Navegadores

Segn StatCounter (ingls) hasta


diciembre pasado Internet Explorer
tena el 46,9% del mercado, Firefox el
30,8%, Chrome el 14,9%, Safari el
4,8% y Opera el 2,1%.

Ejemplos De Sistemas Distribuidos


Intranets
Una intranet es una porcin de internet (Es decir a nivel de
servicios que presta) que es administrada separadamente.
Una intranet no es mas que una red privada, interior a una
organizacin y protegida de las miradas indiscretas
(firewall) que impide a cualquier intruso conocer su
informacin interna

Ejemplos
De
Sistemas
Definicin desde el punto de vista tcnico: "intranet
es
un conjunto de Sitios Web que estn instalados en la red
Distribuidos
interna de una institucin o empresa y que permiten
mostrar datos o documentos
computadores conectados a ella

cualquiera

de

los

Definicin desde el punto de vista Funcional: "


intranet es un sistema para la gestin de informacin,
desarrollado principalmente sobre las potencialidades del
mundo World Wide Web, y que es de acceso limitado a la
institucin o empresa que lo crea o a quien ella autorice "

Ejemplos De Una Intranet


email server

Desktop
c omputers

print and other servers


Local area
network

Web server

email server
File server

print
other servers

the rest of
the Internet
router/firewall

Caractersticas De Una Intranet


Una porcin de la Internet administrada separadamente
Una red LAN enlazada por un Backbone
Conectadas a Internet va router
Los firewall protegen la intranet contra mensajes no
autorizados, salidas o entradas de paquetes e
implementacin de filtros de mensajes

Computacin Mvil y Ubicua


Computacin Mvil y Ubicua

Los avances tecnolgicos en la miniaturizacin de dispositivos y


en redes inalmbricas han llevado cada vez mas a la integracin de
dispositivos de computacin pequeos y porttiles en sistemas
distribuidos. Estos dispositivos incluyen:
Computadores porttiles.
Dispositivos de mano (handheld), entre los que se incluyen
asistentes digitales personales (PDA), telfonos mviles,
buscapersonas y videocmaras digitales.
Dispositivos que se pueden llevar puestos, como relojes inteligentes
con funcionalidad semejante a la de las PDAs.
Dispositivos insertados en aparatos, como lavadoras, sistemas de
alta fidelidad, coches.

Modelos De Sistemas
Los modelos de sistemas en un SD se pueden clasificar en:
Modelos de Arquitectura
Modelos de Fundamentacin
Modelos de Arquitectura
El modelo de arquitectura en un sistema distribuido
esta
relacionado a la posicin geogrfica (lugar) de los diferentes
componentes que intervienen y la relacin entre estos. Ejemplos de
estos modelos:
Modelo cliente-servidor
Modelo p2p

Modelos De Sistema
Caractersticas Del Modelo De Arquitectura
Determina la distribucin de datos y tareas
computacionales entre los nodos fsicos del sistemas
Nota: Este modelo es til para evalar desempeo
(perfomance), escalabilidad (Tamao [numero de
usuarios y/o procesos), geografica (maxima distancia
entre nodos), administrativa (numero de dominios de
admnistracion)) y otras propiedades del sistema
distribuido

Modelos De Sistema
Modelos fundamentales

Son concernientes a una descripcin mas formal de


las propiedades que son comunes en los modelos
arquitectnicos son:
Interaccin: Esta relacionado con el desempeo y la
dificultad de configurar limites de tiempo en un
sistema distribuido. Ejemplo:
Latencia (delay) Retardo de mensajes
Ancho De Banda: Cantidad maxima de informacion que se
puede enviar en un tiempo determinado
Jitter: variacion del tiempo entre grupo de mensajes enviado
Tiempos diferentes: cantidad de computadores con tiempos
diferentes.

Modelos De Sistema
Fallas: Errores que se pueden presentar por procesos o
canales de comunicacin

Arquitectura Cliente - Servidor


Una arquitectura es un conjunto de reglas,
definiciones, trminos y modelos que se emplean para
producir
un
producto.
La
arquitectura
Cliente/Servidor agrupa conjuntos de elementos que
efectan procesos distribuidos y computo cooperativo.
Servicio: Un servicio es una entidad de software que
corre en una o varias maquinas. Esta provee una
abstraccin de un conjunto de operaciones bien
definidas en respuesta a peticiones de aplicaciones.

Arquitectura Cliente - Servidor


Servidor
Conjunto de Hardware y
requerimientos de un cliente.

Software

que

responde

los

Un servidor es una instancia de un particular servicio ejecutndose


en una sola maquina.
Servidores de archivos (FTP,Novell)
Servidores de bases de datos (SQL Server, Oracle, Informix)
Servidores de objetos / componentes
Servidores de aplicaciones Web
Servidor de Impresin.
Servidor de Aplicaciones (Windows 200x, Unix).

Arquitectura Cliente - Servidor


Funciones Comunes del Servidor:

Acceso, almacenamiento y organizacin de datos.


Actualizacin de datos almacenados.
Administracin de recursos compartidos.
Ejecucin de toda la lgica para procesar una transaccin.
Procesamiento comn de elementos del servidor.

Arquitectura Cliente - Servidor


Cliente:
Conjunto de Software y Hardware que invoca los servicios de uno
o varios servidores.
Un cliente es un a entidad de software que explota servicio
provistos por servidores.
Funciones Comunes del Cliente:

Mantener y procesar todo el dialogo con el usuario.


Manejo de pantallas.
Mens e interpretacin de comandos.
Entrada de datos y validacin.
Procesamiento de ayudas.
Recuperacin de errores.

Arquitectura Cliente - Servidor


Servidor
Los servidores pueden ser a su vez, clientes de otros servidores.
Por ejemplo, un servidor web es cliente de un servidor de ficheros
local que gestiona los ficheros en que son almacenadas las paginas
web. De i gual forma los servidores web y la mayora del resto de
servicios en internet son clientes del servicio DNS (Domain Name
Service), que traduce nombres de dominio de internet a
direcciones de red (ver figura1).
Servidor DNS
Cliente Web
Servidor web
Servidor de
ficheros

Cliente Web
Figura 1

Arquitectura Cliente - Servidor


El modelo cliente- servidor permite las siguientes
caractersticas:
La particin de los datos o la replicacin en servidores.
El uso de cache para los datos en clientes y servidores
proxy.
El uso de cdigo y agentes mviles .
Requisitos para aadir o eliminar dispositivos mviles.

Arquitectura CS Clasificacin
Los sistemas cliente -servidor se clasifican de acuerdo al nivel de
abstraccin que se ofrece. En todo sistema C-S se puede clasificar
tres capas o lgicas:
Lgica o Capa de Presentacin :

- Interfaz Grafica De Usuario o Interfaz de Texto.

Lgica o Capa de aplicacin o del negocio:

- Control de Objetos
- Realizacin de procesos
- Reglas del negocio
- Requerimientos generales de la aplicacin

Lgica o Capa De Persistencia:


- Almacena Datos
- Recupera Informacin

Arquitectura Cliente - Servidor


Modelos Multicapas (Multi-Tier)
Representacin distribuida o Monocapa :
La interaccin con el usuario se realiza bsicamente en el
servidor. El cliente hace de pasarela, de sistema de acceso a los
elementos hardware pantalla y teclado.

Lgica De Persistencia
Lgica de negocio o aplicacin
Lgica De Presentacin

Terminal fsico

Arquitectura Cliente - Servidor


Modelos Multicapas (Multi-Tier)
Lgica Distribuida o 2 - capas :
En este caso la parte fuerte de la lgica de aplicacin se encuentra del
lado del cliente dejando del lado del servidor solo una parte de esta
(Parte bsica-Intermedia).

Base de datos
Lgica de aplicacin

Ordenador de sobremesa
Lgica bsica de aplicaci
Lgica De Presentacin

Arquitectura Cliente - Servidor

Arquitectura de Dos Capas

Arquitectura Cliente - Servidor


Modelos Multicapas (Multi-Tier)
Representacin Remota o 3 - capas :
Los datos se envan sin formatear, y es el cliente el responsable de formatear los datos
y realizar las acciones de interaccin con el usuario. En este caso, la lgica de
aplicacin y la base de datos se encuentran en el servidor. (El cliente tambin contiene
cierta lgica de aplicacin pero la mas bsica)

Lgica De Persistencia
Lgica de aplicacin o del negocio

Terminal inteligente
Lgica De Presentacin

Arquitectura Cliente - Servidor

Arquitectura de 3 Capas

Arquitectura Cliente - Servidor

Arquitectura Cliente - Servidor


Toda arquitectura cliente servidor en un
sistema distribuido ptimo debe considerar:
Ubicacin de los componentes en la red de
computadores buscando definir patrones
utilizables para la distribucin de datos y carga
de trabajo.
Las interrelaciones entre los componentes, es
decir, sus papeles funcionales y los patrones de
comunicacin entre ellos.

Evolucin de los Sistemas Distribuidos

Figura 1. Evolucin de los Sistemas Distribuidos.

Capas De Software
Es muy importante aclarar los conceptos de plataforma y
middleware.
Plataforma: Esta conformada por el nivel de hardware y las
capas mas bajas de software. Estas capas mas bajas permiten
proporcionar servicios a las que estn por encima de ellas
(ver figura2).
Aplicaciones
Middleware
Sistema Operativo
Hardware

Figura 2

Plataforma

Capas De Software
Middleware
Es una capa de software cuyo propsito es enmascarar la
heterogeneidad y proporcionar un modelo de programacin
conveniente por los programadores y aplicaciones facilitando
las tareas de diseo, programacin y gestin de aplicaciones
distribuidas. Los middleware se ubican entre el usuario y el
entorno distribuido escondiendo la heterogeneidad de las
diferentes arquitecturas de las maquinas, protocolos de
comunicacin, sistemas operativos y lenguajes de
programacin (ver figura2).

Caractersticas De Los Middleware


Simplifica la construccin de sistemas distribuidos
implementando las capas de sesin y presentacin.
Invocacin sobre objetos remotos.
Acceso remoto mediante SQL.
Procesamiento distribuidos de transacciones.
Transparencia de ubicacin e independencia de los
protocolos de comunicacin, los sistemas operativos y el
hardware.
Algunas formas de middleware permiten que los
componentes separados sean escritos en diferentes
lenguajes.

Caractersticas De Los Middleware


Capa De Middleware
Aplicaciones
Protocolo peticin respuesta
Representacin externa de datos
Plataforma
Figura 3

Capa
Middleware

Ejemplos De Middleware
Primeros middleware:
RPC (Remote Procedure Call) Llamadas a procedimientos remotos
(Sun)
ISIS: Comunicacin en grupo.
Middleware orientados a objetos:
CORBA (Common Object Request Broker Architecture)- (OMG)
RMI (Remote Method Invocation) - (Java)
DCOM (Distributed Common Object Managent) (Microsoft)

Conceptos De Hardware
Aunque todos los sistemas distribuidos constan de varias CPU, existen
diversas formas de organizar el Hardware, en particular, en la forma de
interconectarlas y comunicarse entre si.
Con el paso de los aos se han propuesto varios esquemas de
clasificacin para los sistemas de cmputo con varias CPU, pero
ninguno de ellos ha tenido un xito completo ni se ha adoptado de
manera amplia.
La taxonomia ms utilizada para los sistemas de computo con varias
CPU es la de Micheal Flynn (1966), este eligi dos caractersticas
consideradas por el como esenciales. Las cuales son:
Numero de flujo de datos
Numero de flujo de instrucciones.

Conceptos De Hardware
Teniendo en cuenta esto, Flynn hizo la siguiente
clasificacin:
SISD (Single Instruction Single Data): Una sola instruccin
un solo flujo de datos.
Ejemplos:
- Computadoras convencionales de von newmans
(PC MAC-SPARC)
- algunos mainframe (Uniprocesador).

Conceptos De Hardware
SIMD (Single Intruction Multiple Data): Una sola
instruccin mltiples flujos de datos. Esta conformado por
un conjunto de procesadores. Cada procesador sigue el
mismo conjunto de instrucciones, diferentes elementos de
informacin son asignados a cada procesador. Son
utilizados en redes neuronales.
Ejemplos:
Thinking Machine CM-2
Procesadores MMX ( Multi Media - eXternal)
MISD (Multiple Instruction Single Data): No existe, no se
utiliza.

Conceptos De Hardware
MIMD (Multiple Intruction Multiple Data): Mltiples Instrucciones
Mltiples datos. Grupo de computadoras independientes, cada una con
su propia CPU. (Todos los sistemas distribuidos son MIMD).
MIMD

Fuertemente Acoplados

Computadoras
paralelas y
distribuidas

Dbilmente Acoplados
Multicomputadoas
(distribuidas/Memoria
Privada)

Multiprocesadores
(Memoria compartida)

Bus

Con Commutador

Bus

Con Conmutador

Conceptos De Hardware
Multiprocesadores (Hardware Paralelo): Conjunto de CPUs (No tienen
memoria, solo procesador) que comparten una memoria comn.
Multicomputadoras (Hardware Distribuido): Conjunto de CPUs
independiente. Cada una de estas, cuenta con su memoria y procesador.

Multiprocesadores con base en buses


Los multiprocesadores con base en buses constan de cierta cantidad d
CPU, conectados a un bus comn, junto con un modulo de memoria
(figura 3).

CPU

CPU

CPU

Cach

Cach

Cach

Memoria

Bus
Figura 3

Conceptos De Hardware
Multiprocesadores con conmutadores
Para construir un multiprocesador con mas de 64 procesadores, es
necesario un mtodo distinto para conectar cada CPU con la memoria.
Una posibilidad es dividir la memoria en modulos y conectarlos a las
CPU con un conmutador de cruceta (figura 4)..
M
CPU
CPU
CPU
CPU

Memoria

Conceptos De Hardware
Arquitectura NUMA
El problema de arquitectura basada en conmutador de
cruceta es el costo, se ha intentado reducir el costo
mediante sistemas jerrquicos. Donde cada CPU tiene
asociada cierta memoria. Cada CPU puede tener un rpido
acceso a su propia memoria local, pero sera mas lento el
acceso a la memoria de los demas. Este diseo da lugar a la
llamada maquina NUMA (Non Uniform Memory Access
[ Acceso no uniforma a la memoria]). Aunque las maquinas
NUMA tienen mejor tiempo promedio de acceso que las
maquinas basadas en conmutador de cruceta, tienen una
nueva complicacion : la colocacion de los programas y datos
se convierten en un factor critico, para lograr que la
mayoria de los accesos sean hacia la memoria local.

Conceptos De Hardware
Multicomputadoras con base en buses
La construccin de multiconputadoras es fcil. Cada CPU tiene conexin
directa con su propia memoria local. El nico problema es la forma en
que las CPU se comunicaran entre si.

Memoria Local

Memoria Local

Memoria Local

CPU

CPU

CPU

Sistemas Operativos Y Arquitectura


MIMD
Sistema Operativo
Un Sistema Operativo es una parte importante de cualquier
sistema de computacin. Un sistema de computacin puede
dividirse en cuatro componentes:

El hardware: (Unidad Central de Procesamiento (CPU),


memoria y dispositivos de entrada/salida (E/S)) proporciona
los recursos de computacin bsicos.
Los programas de aplicacin: (compiladores, sistemas de bases
de datos, juegos de video y programas para negocios) definen la
forma en que estos recursos se emplean para resolver los
problemas de computacin de los usuarios.
Los usuarios: quienes utilizan las aplicaciones.

Sistemas Operativos Y Arquitectura


MIMD
Sistema Operativo: Los Sistemas
Operativos son ante todo administradores
de recursos; el principal recurso que administran es el hardware del
computador; adems de los procesadores, los medios de almacenamiento, los
dispositivos de entrada/salida, los dispositivos
de comunicacin y los datos.

Tipos De Sistemas Operativos


Sistemas Operativos De Red
Tambin conocido como software dbilmente acoplado en hardware dbilmente
acoplado. Son aquellos sistemas que mantienen a dos o ms computadoras
unidas a travs de algn medio de comunicacin (fsico o no),
con el objetivo primordial de poder compartir los diferentes recursos y la
informacin del sistema.

Sistemas Operativos Y Arquitectura


MIMD

Caractersticas

Tiene su propio S. O.
La mayora de los requerimientos se resuelven localmente.
Es posible que un usuario se conecte de manera remota con otra
estacin de trabajo:
Mediante un comando de login remoto.
Se convierte la propia estacin de trabajo del usuario en una
terminal remota enlazada con la mquina remota.
Los comandos se envan a la mquina remota.
La salida de la mquina remota se exhibe en la pantalla local.

Sistemas Operativos Y Arquitectura


MIMD
Las redes tambin disponen de un comando de copiado remoto de
archivos de una mquina a otra:
Requiere que el usuario conozca:
La posicin de todos los archivos.
El sitio donde se ejecutan todos los comandos.
Ejemplos:
Los Sistemas Operativos de red mas ampliamente usados son:
Novell Netware.
Windows NT Server
UNIX.
Etc

Sistemas Operativos Y Arquitectura


MIMD
Sistemas Operativos Distribuidos
Tambin conocido como software fuertemente acoplado en
hardware dbilmente acoplado sistemas operativos distribuidos
abarcan los servicios de los de red, logrando integrar recursos
( impresoras, unidades de respaldo, memoria, procesos,
unidades centrales de proceso ) en una sola mquina virtual que
el usuario accede en forma transparente. Es decir, ahora el
usuario ya no necesita saber la ubicacin de los recursos, sino
que los conoce por nombre y simplemente los usa como si todos
ellos fuesen locales a su lugar de trabajo habitual.

Sistemas Operativos Y Arquitectura


MIMD
Sistemas Operativos Distribuidos
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de
procesadores. Puede ser que este conjunto de procesadores
est en un equipo o en diferentes, en este caso es transparente para el usuario.
Existen dos esquemas bsicos de stos.
Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un
reloj global, cuyos tiempos de acceso son similares
para todos los procesadores.
En un sistema dbilmente acoplado los procesadores no comparten ni memoria
ni reloj, ya que cada
uno cuenta con su memoria local.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente
del sistema se compone otro componente debe
de ser capaz de reemplazarlo.

Sistemas Operativos Y Arquitectura


MIMD
Caractersticas
Coleccin de sistemas autnomos capaces de comunicacin y
cooperacin mediante interconexiones hardware y software
Gobierna operacin de un sistema compartido. y proporciona
abstraccin de mquina virtual a los usuarios.
Objetivo clave es la transparencia.
Generalmente proporcionan medios para la comparticion global
de recursos.
Aceleracin De Clculos

Sistemas Operativos Y Arquitectura


MIMD
Ejemplos

Sprite.
Solaris-MC
Mach
Chorus
Spring
Amoeba
Taos
Etc..

Requisitos De Diseo Para


Arquitecturas Distribuidas
Los factores que motivan la distribucin de objetos y procesos
en un sistema distribuido son numerosos y de considerable
significado. La disponibilidad de redes de computadores y la
continua necesidad de compartir recursos de hardware
relativamente costosos como impresoras y almacenamiento
en disco condujeron a la evolucin de los sistemas
distribuido.
Todo buen diseo debe tener en cuenta las siguientes
caractersticas:
1. Prestaciones: Esta relacionada con la distribucin de
recursos. Se deben tener en cuanta los siguientes aspectos:

Requisitos De Diseo Para Arquitecturas


Distribuidas

Capacidad De Respuesta (Responsiveness): Los usuarios


de aplicaciones interactivas necesitan rapidez y
consistencia en las interfaces pero, a menudo
los
programas clientes necesitan acceder a
recursos
compartidos. Cuando esta implicado un servicio remoto, la
velocidad de respuesta esta determinada no solo por la
carga de prestaciones del servidor en la red sino por los
retardos de software implicados, la comunicacin de los
sistemas operativos entre cliente y servidor y los servicios
de middleware
Productividad (Throughput): Es una medida tradicional
de prestaciones donde se tienen cuenta la productividad y
rapidez a la que se realiza el trabajo computacional.

Requisitos De Diseo Para Arquitecturas


Distribuidas
Balance De Cargas Computacionales: Uno de los propsitos
de lo sistemas distribuidos es permitir que las aplicaciones y
los procesos de servicios evolucionen concurrentemente sin
competir por los mismos recursos computacionales. De ah, la
importancia de balancear la carga de recursos.

Requisitos De Diseo Para Arquitecturas


Distribuidas
2. Calidad De Servicio: Es la capacidad para proporcionar las
garantas oportunas a los usuarios y clientes de un sistema
distribuido tales como:

Disponibilidad

Retardo mnimo (delay)

Reserva de recursos.

Requisitos De Diseo Para Arquitecturas


Distribuidas
3. Tolerancia Frente a Fallos: Las aplicaciones estables deben
continuar funcionando en presencia de fallos en el
hardware, software y las redes.
4. Seguridad: Permite que solo personas autorizadas puedan
utilizar los recursos del sistema.
Ejemplo: Se pueden utilizar protocolos de autenticacin
como Kerberos

Bases De Datos Distribuidas


Una base de datos distribuida se caracteriza por
no estar almacenada fsicamente en una sola
maquina, sino por estar distribuida en un
conjunto de maquinas interconectadas mediante
una red. As, las bases de datos distribuida
pueden constar de gestores de base de datos
diferentes, ejecutndose bajo sistemas operativos
y ordenadores diferentes y usando diferentes
protocolos de comunicacin pero proporcionando
en conjunto una imagen nica de la base de datos
el usuario y las aplicaciones

Base de Datos Distribuidas

Figura 1. Bases de Datos Distribuidas

Base de Datos Distribuidas

Figura 2. Arquitectura Base de datos distribuidas

Base de Datos Distribuidas


Ejemplos Sobre Oracle
Ejemplos sobre MySQL y ORACLE

Glosario De Trminos
Mainframe o Computador Central : es una computadora grande,
potente y costosa usada principalmente por una gran compaa para
el procesamiento de una gran cantidad de datos; por ejemplo, para el
procesamiento de transacciones bancarias - Wikipedia

Glosario De Trminos
Mainframe o Computador Central
Lideres en el mercado (Ordenados descendentemente):

IBM
Hitachi
Amdahl
Fujitsu

Regresar

Glosario De Trminos
Fiabilidad:
Probabilidad de buen funcionamiento de algo.
Desde el punto de los sistemas informticos se puede
definir como correccin, seguridad y tolerancia a
fallos

Regresar

You might also like