Professional Documents
Culture Documents
Introduccin
Era de la computadora moderna (19451950). (Ver Historia de la Computacin)
Evolucin hacia los sistemas distribuidos.
http://venturebeat.com/2013/04/10/pc-shipments-post-biggest-quarterly-sales-dropever-the-idc-blames-windows-8/
http://www.tuaw.com/2013/05/02/ipad-commands-lions-share-of-tablet-market-despitesamsungs-ga/
http://news.netcraft.com/
http://news.netcraft.com/
Tomado de http://netmarketshare.com/
Tomado de http://netmarketshare.com/
Tomado de http://netmarketshare.com/
Antecedentes
Sistemas Centralizados - Sistemas Operativos Centralizados
Antecedentes
Redes De Computadores Sistemas Operativos
De Redes
Local Area Networks (LANs)
Wide Area Networks (WANs)
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
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
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.
Consecuencias o Efectos
Concurrencia
Comparticin de Recursos.
- Dispositivos (Hardware).
- Programas (Software).
Disponibilidad y Confiabilidad.
- Sistema poco propenso a fallas (Si un componente falla no afecta a la
Crecimiento Modular.
-Es inherente al crecimiento.
-Inclusin rpida de nuevos recursos.
-Los recursos actuales no afectan
Desventajas
distribuidos
de
los
sistemas
Interrogantes De Los SD
Grandes Interrogantes
Hoy
- Objetos
- Componentes
- Agentes
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
ISP
ISP
backbone
satellite link
desktop computer:
server:
network link:
Ejemplo Internet
Instalaciones de servidores
Centro de refrigeracin
Cables Submarino
Arcos
Maya-1 / SAC-LAN
Amrica Mvil 1
CFX-1
GlobeNet
SAm-1
Pan American
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
Dominios
Estadsticas de Internet
Criterio
Valor
Correo Electronico
Correo Spam
Navegadores
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
Desktop
c omputers
Web server
email server
File server
print
other servers
the rest of
the Internet
router/firewall
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
Modelos De Sistema
Fallas: Errores que se pueden presentar por procesos o
canales de comunicacin
Software
que
responde
los
Cliente Web
Figura 1
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 :
- Control de Objetos
- Realizacin de procesos
- Reglas del negocio
- Requerimientos generales de la aplicacin
Lgica De Persistencia
Lgica de negocio o aplicacin
Lgica De Presentacin
Terminal fsico
Base de datos
Lgica de aplicacin
Ordenador de sobremesa
Lgica bsica de aplicaci
Lgica De Presentacin
Lgica De Persistencia
Lgica de aplicacin o del negocio
Terminal inteligente
Lgica De Presentacin
Arquitectura de 3 Capas
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).
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.
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
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.
Sprite.
Solaris-MC
Mach
Chorus
Spring
Amoeba
Taos
Etc..
Disponibilidad
Reserva de recursos.
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