Upload
yonathan-caceres-gomez
View
224
Download
0
Embed Size (px)
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 1/27
UNIVERSIDAD TECNOLÓGICA DE LOS ANDES
FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA DESISTEMAS E INFORMÁTICA
SISTEMAS DISTRIBUIDOS
ALUMNO:
YONATHAN CACERES GOMEZ
DOCENTE:
Ing. YULIANA TOMAYLLA GUTIERREZ
ABANCAY – PERÚ
2015
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 2/27
Página 2
Índice
1. INTRODUCCION A LOS SISTEMAS DISTRIBUIDOS ........................................................................ 3
2. ¿QUE ES UN SISTEMA DISTRIBUIDO? .......................................................................................... 5
3. EVOLUCIÓN HISTORICA ............................................................................................................... 6
4. ESTRUCTURA DE LOS SISTEMAS DISTRIBUIDOS .......................................................................... 7
4.1. ESTRUCTURA GENERAL DE LOS SISTEMAS OPERATIVOS DISTRIBUIDOS ............................ 8
4.2. ESTRUCTURA GENERAL DE UN SISTEMA DISTRIBUIDO BASADO EN MIDLEWARE ............. 9
5. EJEMPLOS DE SISTEMAS DISTRIBUIDOS .................................................................................... 10
5.1. INTERNET ........................................................................................................................... 10
5.2. INTRANETS ........................................................................................................................ 11
5.3. COMPUTACION MOVIL Y UBICUA ..................................................................................... 12
6. CONCEPTOS DE HARDWARE ..................................................................................................... 13
6.1. MULTIPROCESADORES CON BASE EN BUSES .................................................................... 14
6.2. MULTIPROCESADORES CON CONMUTADOR .................................................................... 14
6.3. MULTI COMPUTADORAS CON BASE EN BUSES ................................................................. 16
6.4. MULTICOMPUTADORAS CON CONMUTADOR .................................................................. 16
7. CONCEPTOS DE SOFTWARE ...................................................................................................... 17
7.1. SISTEMA OPERATIVO DE REDES ........................................................................................ 18
7.2. SISTEMAS REALMENTE DISTRIBUIDOS .............................................................................. 19
7.3. SISTEMAS DE MULTIPROCESADOR CON TIEMPO COMPARTIDO ...................................... 19
8. CARACTERISTICAS DE LOS SISTEMAS DISTRIBUIDOS ................................................................ 20
9. MODELO CLIENTE - SERVIDOR .................................................................................................. 23
10. ARQUITECTURA DE CAPAS .................................................................................................... 25
11. EL MODELO PEER TO PEER (De Igual a Igual) ........................................................................ 26
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 3/27
Página 3
1. INTRODUCCION A LOS SISTEMAS DISTRIBUIDOS
Los sistemas de cómputo están sufriendo una revolución Desde 1945 cuando comenzó la era de la
computadora moderna hasta cerca de 1985 las computadoras eran grandes y caras Incluso las
minicomputadoras costaban por lo general cientos de miles de dólares cada una Como resultadola mayor parte de las organizaciones tenía tan sólo un puñado de computadoras y por carecer de
una forma para conectarlas éstas operaban por lo general en forma independiente entre sí.
Sin embargo a partir de la mitad de la década de 1980 dos avances tecnológicos comenzaron a
cambiar esta situación El primero fue el desarrollo de poderosos microprocesadores En principio
se disponía de máquinas de 8 bits pero pronto se volvieron comunes las CPU de 16, 32 e incluso 64
bits Muchos de ellos tenían el poder de cómputo de una computadora mainframe de tamaño
respetable (es decir grande) pero por una fracción de su precio.
La cantidad de mejoras ocurridas en la tecnología de cómputo en el último medio siglo es de
verdad impresionante y sin precedentes en otras industrias Desde la máquina que costaba 10
millones de dólares y ejecutaba una instrucción por segundo hemos llegado a máquinas que
cuestan 1 000 dólares y ejecutan 10 millones de instrucciones por segundo una ganancia
precio/rendimiento de 10" Si los automóviles hubieran mejorado con esta razón en el mismo
periodo un Rolls Royce costaría 10 dólares y daría mil millones de millas por galón (Por desgraciaes probable que tuviera un manual de 200 páginas indicando cómo abrir la puerta ).
El segundo desarrollo fue la invención de redes de área local de alta velocidad (LAN) permiten
conectar docenas e incluso cientos de máquinas dentro de un edificio de tal forma que se pueden
transferir pequeñas cantidades de información entre ellas en un milisegundo o un tiempo
parecido.
Las cantidades mayores de datos se pueden desplazar entre las máquinas a razón de 10 a 100
Millones de bits/segundo o más Las redes de área amplia (WANs) permiten que millones de
máquinas en toda la Tierra se conecten con velocidades que varían de 64 Kbps a gigabits por
segundo para ciertas redes experimentales avanzadas.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 4/27
Página 4
El resultado neto de estas tecnologías es que hoy en día no sólo es posible sino fácil reunir
sistemas de cómputo compuestos por un gran número de CPU conectados mediante una red de
alta velocidad Estos reciben el nombre genérico de sistemas distribuidos en contraste con los
sistemas centralizados anteriores (o sistemas con sólo un procesador) que constan de un CPU su
memoria sus periféricos y algunas terminales.
Sólo existe una mosca en la sopa el software Los sistemas distribuidos necesitan un software
radicalmente distinto al de los sistemas centralizados En particular los sistemas operativos
necesarios para estos sistemas distribuidos están apenas en una etapa de surgimiento se han dado
algunos primeros pasos pero todavía existe un largo camino por recorrer Sin embargo ya se sabe
bastante de estos sistemas por lo que podemos presentar las ideas básicas.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 5/27
Página 5
2. ¿QUE ES UN SISTEMA DISTRIBUIDO?
Los sistemas distribuidos son aquellos en el que dos o más máquinas colaboran para la obtención
de un resultado y están basados en las características de transparencia, eficiencia, flexibilidad,
escalabilidad y fiabilidad. El objetivo principal de los Sistemas Distribuidos es el mejor desempeño,mayor fiabilidad y disponibilidad, compartición de recursos e información, además del
mejoramiento de la comunicación, mayor adaptabilidad (más natural, distribución de carga, etc.)
La importancia del desarrollo de los Sistemas Distribuidos es debido a las necesidades de los
usuarios que requieren de aplicaciones más sofisticadas así como también de las funciones
administrativas y económicas.
A continuación tenemos algunas definiciones de Sistemas Distribuidos:
“Un Sistemas Distribuido consiste en una colección de computadoras
autónomas enlazadas por una red y equipadas con un sistema de Software
distribuido”. [Tanenbaum 1995].
“Definimos un sistema distribuido como aquel en el que los componentes
hardware o software, localizados en computadoras unidos mediante red,
comunican y coordinan sus acciones solo mediante paso de mensajes”.
[Coulouris 2001].
“Sistema en el cual múltiples procesadores autónomos, posiblemente de
diferente tipo, están interconectados por una subred de comunicación para
interactuar de una manera cooperativa en el logro de un objetivo global.”
[Lelann, 1981].
“Sistema en el cual componentes de hardware y software, localizadas en
computadores en red, se comunican y coordinan sus acciones sólo por paso
de mensajes.” [Coulouris, 2002].
“Conjunto de computadores independientes que se muestran al usuario como
un sistema único coherente.” [Tanenbaum, 2001].
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 6/27
Página 6
3. EVOLUCIÓN HISTORICA
Años 70
Una de las principales características de los sistemas distribuidos son los mainframes, (Súper
computadoras de súper capacidad y súper eficiencia). Pero en esta época, se usaban redes
WANDS, de transmisión muy lenta, por tanto, el proceso muchas veces se veía limitado por su
capacidad de transmisión. Las mini computadoras eran emuladas como terminales tal que los
datos en la mainframe pudieran ser accedidos a través de la emulación de terminal.
Velocidad de transmisión: De 2400 a 9600 bits por segundo.
Años 80
Al sistema de mainframes y mini computadoras se añaden los pc de escritorio y se cambian las
redes por LANS Y WANS.
Velocidades de transmisión: LAN: de 4 a 16 millones de bits por segundo. (Casi 2 megas), WANS:de 56 kilobyte a 1.54 megabyte
Años 90
Los sistemas de proceso de información son mucho menos cerrados, lo que permite hacer
sistemas distribuidos con diferentes máquinas de diferentes fabricantes conectados por red desde
diferentes áreas geográficas. Además se implementa un gran avance llamado Procesamiento
Cooperativo Distribuido que permite el intercambio de la información interactivamente entre los
procesadores de diferentes computadores. Por ejemplo, la computación cliente-servidor. Las
redes de trasferencia de datos son iguales o mayores 100 megas para redes LAN, WAN, MAN.
Actualidad
Los sistemas de computación distribuida hacen que toda una red computacional aparezca como
una sola gran computadora donde diferentes actividades se llevaran a cabo en diferentes
computadoras. Estos sistemas incluyen súper computadoras conectadas a través de redes con
capacidad de transmisión de gigabytes por segundo, y supervisadas por software de
administración, estos sistemas reciben el nombre de súper computación en red.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 7/27
Página 7
4. ESTRUCTURA DE LOS SISTEMAS DISTRIBUIDOS
Como ya se definió anteriormente un sistema operativo distribuido consiste en una colección de
computadores conectados por una red de comunicaciones, que el usuario percibe como un solo
sistema (no necesita saber qué cosas están en qué máquinas). El usuario accesa los recursosRemotos de la misma manera en que accesa a recursos locales, o un grupo de computadores que
usan un software para conseguir un objetivo en común.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se
Descompone otro componente debe de ser capaz de reemplazarlo.
El objetivo de un sistema distribuido es integrar los recursos y servicios conectados por una red de
comunicación. Desde el punto de vista del usuario y de las aplicaciones, un sistema distribuido
proporciona una visión de máquina única y no difiere de uno centralizado. En cambio, el punto de
vista del diseñador (el sistema como gestor de los recursos) la estructura interna está
condicionada por la distribución física de los recursos.
Un sistema distribuido desde el punto de vista del usuario.
Lo habitual es que el sistema operativo integre los servicios de red, que ofrecen protocolos
abiertos de comunicación, como es el caso de TCP y UDP. Sobre estos se disponen los soportes
adicionales para la comunicación distribuida, como es el caso de RPC, RMI o DSM, y los serviciosespecíficos que proporcionan las propiedades del sistema distribuido (servicios middleware), como
es el caso de la gestión de tiempos, eventos y estado global, sobre los que se asientan las
aplicaciones.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 8/27
Página 8
Estructura de un sistema distribuido.
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (Local Area
Network), centenas de hosts (Metropolitan Area Network), y miles o millones de hosts (Internet).
4.1.
ESTRUCTURA GENERAL DE LOS SISTEMAS OPERATIVOS DISTRIBUIDOS
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 9/27
Página 9
Menos autonomía entre computadores
Da la impresión de que solo hay un sistema operativo controlando la red
4.2.
ESTRUCTURA GENERAL DE UN SISTEMA DISTRIBUIDO BASADO EN MIDLEWARE
Middelware es una capa adicional por encima de un sistema operativo de red, que implementa
servicios de propósito general. Middlware es una capa de software intermedia. En los Sistemas
distribuidos basados en Middlware, los protocolos usados por cada capa middlware deben ser los
mismos así como las interfaces que ofrecen a las aplicaciones.
Middleware es un software que enmascara el hardware y los sistemas operativos, se aplican en los
sistemas distribuidos como sistema de comunicación que proporciona alto grado de transparencia,
administración de recursos por nodos, no tienen el mismo sistema operativo en todos los nodos y
ofrece ‘n’ número de copias del sistema operativo.
En sistemas distribuidos:
El Middleware es un software de conectividad que permite ofrecer un conjunto de servicios que
hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas.
Funciona como una capa de abstracción de software distribuida que se sitúa entre las capas de
aplicaciones y las capas inferiores (sistema operativo y red).
El Middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones
subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando
una API para la fácil programación y manejo de aplicaciones distribuidas.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 10/27
Página
10
5. EJEMPLOS DE SISTEMAS DISTRIBUIDOS
5.1.
INTERNET
Internet es una vasta colección de redes de computadoras de diferentes tipos
interconectados. La figura muestra una porción típica de Internet. Programas
ejecutándose en los computadores conectados a ella 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 Internet es una realización técnica fundamental, que
permite que un programa que se está ejecutando en cualquier parte dirija mensajes a
programas en cualquier otra parte.
Internet es también un sistema distribuido muy grande. En Internet hay disponibles
servicios multimedia, que permiten a los usuarios el acceso a datos de audio y
video. La capacidad de Internet para mantener los requisitos especiales de
comunicación de los datos multimedia es actualmente bastante limitada porque no
proporciona la infraestructura necesaria para reservar capacidad de la red para
flujos individuales de datos.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 11/27
Página
11
5.2. INTRANETS
Una intranet es una porción de internet que es administrada separadamente y que tiene
un límite que puede ser configurado para hacer cumplir políticas de seguridad local.
La figura muestra una intranet típica, está compuesta de varias redes de área local
enlazadas por conexiones backbone. La configuración de red de una intranet particular es
responsabilidad de la organización que la administra y puede variar ampliamente, desde
una LAN en un único sitio a un conjunto de LANs conectadas perteneciendo a ramas de la
empresa u otra organización en diferentes país.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 12/27
Página
12
5.3. COMPUTACION MOVIL Y UBICUA
Los avances tecnológicos en la miniaturización de dispositivos y en redes inalámbricas han
llevado cada vez más a la integración de dispositivos de computación pequeños y
portátiles en sistemas distribuidos, estos dispositivos incluyen:
Computadoras portátiles.
Dispositivos de mano (handheld), entre los que se incluyen asistentes digitales
personales (PDA), teléfonos móviles, buscapersonas y video cámaras o cámaras
digitales.
Dispositivos que se pueden llevar puestos, como relojes inteligentes con
funcionalidad semejante a los PDAs.
Dispositivos insertados en aparatos, como lavadoras, sistemas de alta fidelidad,
coches y frigoríficos.
La facilidad de transporte de muchos de estos dispositivos: junto con su capacidad para
conectarse adecuadamente a redes en diferentes lugares, hace posible la computación
móvil. Se llama computación móvil a la realización de tareas de cómputo mientras el
usuario está en movimiento o visitando otros lugares distintos de su entorno habitual.
Computación ubicua es la utilización concertada de muchos dispositivos de computación
pequeños y baratos que están presentes en los entornos físicos de los usuarios,
incluyendo la casa, la oficina y otros. El término ubicuo está pensado para sugerir que los
pequeños dispositivos llegarán a estar tan extendidos en los objetos de cada día que
apenas nos daremos cuenta de ellos.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 13/27
Página
13
Dispositivos portátiles y de mano en un sistema distribuido.
6. CONCEPTOS DE HARDWARE
Con el paso de los años se han propuesto diversos esquemas de clasificación para los
sistemas de cómputo con varios CPU pero ninguno de ellos ha tenido un éxito completo ni
se ha adoptado de manera amplia Es probable que la taxonomía más citada sea la de Flynn
(1972) aunque es algo rudimentaria Flynn eligió dos características consideradas por él
como esenciales el número de flujos de instrucciones y el número de flujos de datos Una
computadora con un flujo de instrucciones y uno de datos se llama SISD (Single Instruction
Single Data) Todas las computadoras tradicionales de un procesador (es decir aquellas que
tienen un CPU) caen dentro de esta categoría desde las computadoras personales hasta
las grandes mainframes.
La siguiente categoría es SIMD (Single Instruction Múltiple Data) con un flujo de
instrucciones y varios flujos de datos Este tipo se refiere a ordenar procesadores con
unidad de instrucción que busca una instrucción y después instruye a varias unidades de
datos para que la lleven a cabo en paralelo cada una con sus propios datos Estas máquinas
son útiles para los cómputos que repiten los mismos cálculos en varios conjuntos de datos
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 14/27
Página
14
por ejemplo sumando todos los elementos de 64 vectores independientes Ciertas
supercomputadoras son SIMD.
La siguiente categoría es MISD (Múltiple Instruction Single Data) con un flujo de varías
instrucciones y un flujo de datos Ninguna de las computadoras conocidas se ajusta a este
modelo Por último está MIMD (Múltiple Instruction Múltiple Data) que significa un grupo
de computadoras independientes cada una con su propio contador del programa y datos
Todos los sistemas distribuidos son MIMD por lo que este sistema de clasificación no es
muy útil para nuestros fines.
6.1.
MULTIPROCESADORES CON BASE EN BUSES
Los multiprocesadores con base en buses constan de cierta cantidad de CPU conectados a
un bus común junto con un módulo de memoria Una configuración sencilla consta de un
plano de base (backplane) de alta velocidad o tarjeta madre en el cual se pueden insertar
las tarjetas de memoria y el CPU Un bus típico tiene 32 o 64 líneas de direcciones 32 o 64
líneas de datos y 32 o más líneas de control todo lo cual opera en paralelo Para leer una
palabra de memoria un CPU coloca la dirección de la palabra deseada en las líneas de
direcciones del bus y coloca una señal en las líneas de control adecuadas par a indicar que
desea leer La memoria responde y coloca el valor de la palabra en las líneas de datos para
permitir la lectura de ésta por parte del CPU solicitante.
6.2.
MULTIPROCESADORES CON CONMUTADOR
Para construir un multiprocesador con más de 64 procesadores, es necesario un método
distinto para conectar cada CPU con la memoria. Una posibilidad es dividir la memoria en
módulos y conectarlos a las CPU con un conmutador de cruceta, como se muestra en la
figura. Cada CPU y cada memoria tienen una conexión que sale de él, como se muestra en
la figura. En cada intersección está un delgado conmutador de punto de cruce electrónico
que el hardware puede abrir y cerrar. Cuando un CPU desea tener acceso a una memoria
particular, el conmutador del punto de cruce que los conecta se cierra de manera
momentánea, para permitir dicho acceso. La virtud del conmutador de cruceta es que
muchos CPU pueden tener acceso a la memoria al mismo tiempo, aunque si dos CPU
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 15/27
Página
15
intentan tener acceso a la misma memoria en forma simultánea, uno de ellos deberá
esperar.
En resumen, los multiprocesadores basados en buses, incluso con cachés monitores,
quedan limitados a lo más a 64 CPUs por la capacidad del bus. Para rebasar estos límites,
es necesaria una red con conmutador, como uno de cruceta, una red omega o algo similar.
Los grandes conmutadores de cruceta y las grandes redes omega son muy caros y lentos.
Las máquinas NUMA necesitan complejos algoritmos para la buena colocación del
software.
La conclusión es clara: la construcción de un multiprocesador grande, fuertemente
acoplado y con memoria compartida es difícil y cara.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 16/27
Página
16
6.3. MULTI COMPUTADORAS CON BASE EN BUSES
Por otro lado, la construcción de una multicomputadora (es decir, sin memoria
compartida) es fácil. Cada CPU tiene conexión directa con su propia memoria local. El
único problema restante es la forma en que los CPU se comunicarán entre sí. Es claro que
aquí también se necesita cierto esquema de interconexión, pero como sólo es para la
comunicación entre un CPU y otro, el volumen del tráfico será de varios órdenes menor en
relación con el uso de una red de interconexión para el tráfico CPU-memoria.
En la figura vemos una multicomputadora con base en un bus. Es similar, desde el punto
de vista topo lógico, al multiprocesador basado en un bus, pero como tendrá menor
tráfico, no necesita ser un bus con un plano de base de alta velocidad. De hecho, puede
ser una LAN de menor velocidad (por lo general de 10-100 Mb/seg, en comparación con
300 Mb/seg o más para un bus con un plano de base). A sí, la figura es más a menudo una
colección de estaciones de trabajo en una LAN que una colección de tarjetas de CPU que
se insertan en un bus rápido (aunque esto último definitivamente es un diseño posible).
Una multicomputadora que consta de estaciones de trabajo en una LAN.
6.4. MULTICOMPUTADORAS CON CONMUTADOR
Nuestra última categoría es la de las multicomputadoras con conmutador. Se han
propuesto y construido varias redes de interconexión, pero todas tienen la propiedad de
que cada CPU tiene acceso directo y exclusivo a su propia memoria particular. La figura
muestra dos topologías populares, una retícula y un hipercubo. Las retículas son fáciles de
comprender y se basan en las tarjetas de circuitos impresos. Se adecúan mejor a
problemas con naturaleza bidimensional inherente, como la teoría de gráficas o la visión
(por ejemplo, los ojos de un robot o el análisis de fotografías).
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 17/27
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 18/27
Página
18
7.1. SISTEMA OPERATIVO DE REDES
Esta forma de comunicación es primitiva en extremo y ha provocado que los diseñadores
de sistemas busquen formas más convenientes de comunicación y distribución de la
información. Un método consiste en proporcionar un sistema de archivos global,
compartido, accesible desde todas las estaciones de trabajo. Una o varias máquinas,
llamadas servidores de archivos, soportan al sistema de archivos. Los servidores de archivo
aceptan solicitudes para la lectura y escritura de archivos por parte de los programas
usuarios que se ejecutan en las otras máquinas (no servidoras), llamadas clientes.
Cada una de las solicitudes que llegue se examina, se ejecuta y la respuesta se envía de
regreso, como se ilustra en la figura.
Dos clientes y un servidor en un sistema operativo de red.
Los servidores de archivos tienen por lo general un sistema jerárquico de archivos, cada
uno de los cuales tiene un directorio raíz, con subdirectorios y archivos. Las estaciones de
trabajo pueden importar o montar estos sistemas de archivos, lo que aumenta sus
sistemas locales de archivos con aquellos localizados en los servidores.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 19/27
Página
19
7.2. SISTEMAS REALMENTE DISTRIBUIDOS
El objetivo de un sistema de este tipo es crear la ilusión en las mentes de los usuarios que
toda la red de computadoras es un sistema de tiempo compartido, en vez de una colección
de máquinas diversas. Algunos autores se refieren a esta propiedad como la imagen de
único sistema. Otros tienen un punto de vista diferente y dicen que un sistema distribuido
es aquel que se ejecuta en una colección de máquinas enlazadas mediante una red pero
que actúan como un uniprocesador virtual. No importa la forma en que se exprese, la idea
esencial es que los usuarios no deben ser conscientes de la existencia de varios CPU en el
sistema.
7.3.
SISTEMAS DE MULTIPROCESADOR CON TIEMPO COMPARTIDO
La última combinación que queremos analizar es el software y hardware fuertemente
acoplados. Aunque existen varias máquinas de propósito especial en esta categoría (como
las máquinas dedicadas a las bases de datos), los ejemplos más comunes de propósito
general son los multiprocesadores que operan como un sistema de tiempo compartido de
UNIX, sólo que con varios CPU en vez de uno. Para el mundo exterior, un multiprocesador
con 32 CPU de 30 MIPS actúa de manera muy parecida a un solo CPU de 960 MIPS (ésta es
la imagen de único sistema analizada anteriormente), excepto por el hecho de que la
implantación de ésta en un multiprocesador hace más sencilla la vida, puesto que todo el
diseño se puede centralizar.
La característica clave de este tipo de sistema es la existencia de una cola de ejecución:
una lista de todos los procesos en el sistema que no están bloqueados en forma lógica y
listos para su ejecución. La cola de ejecución es una estructura de datos contenida en la
memoria compartida.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 20/27
Página
20
Un multiprocesador con una cola de ejecución.
8.
CARACTERISTICAS DE LOS SISTEMAS DISTRIBUIDOSTRANSPARENCIA
El concepto de transparencia de un sistema distribuido va ligado de que todo el sistema
funcione de forma similar en todos los puntos de la red, independientemente de la
posición del usuario. La labor que el sistema operativo tiene es la de establecer los
mecanismos que oculten la naturaleza distribuida del sistema y que permitan trabajar a los
usuarios como si se tratara de un único equipo.
En un sistema transparente, las diferentes copias de un archivo deben aparecer al usuariocomo un archivo. Y la tarea del sistema operativo es la de controlar las copias, actualizarlas
en caso de modificación y en general, la unicidad de los recursos y el control de la
concurrencia. El que el sistema disponga de varios procesadores debe lograr un mayor
rendimiento del sistema, pero el sistema operativo debe controlar que tanto los usuarios
como los programadores vean el núcleo del sistema distribuido como un único
procesador. Otro punto clave que debe controlar el sistema operativo es el paralelismo,
debe distribuir las tareas entre los distintos procesadores como en un sistema
multiprocesador, pero con la dificultad añadida de que ésta tarea hay que realizarla a
través de varios ordenadores.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 21/27
Página
21
Existen diferentes tipos de transparencia como son:
Transparencia de acceso: acceso a objetos locales o remotos de la misma
manera.
Transparencia de lugar: acceso a objetos sin conocer dónde están.
Transparencia de concurrencia: varios procesos pueden operar
concurrentemente usando objetos de información compartidos sin estorbarse.
Transparencia de replicación: diferentes réplicas de un mismo objeto de
información sin enterarse a cuál se accede, ni diferencias entre ellos.
Transparencia de fallo: aislamiento de fallos, de forma que las aplicaciones
puedan completar sus tareas.
Transparencia de migración: permite mover los objetos de información sin
afectar a las aplicaciones.
Transparencia de rendimiento: redistribución de cargas en el sistema sin
modificación en las aplicaciones.
Transparencia de escalabilidad: permite asumir cambios de tamaño del sistema
y aplicaciones sin modificar la estructura del sistema ni los algoritmos de los
programas.
EFICIENCIA
La idea base de los sistemas distribuidos es la de obtener sistemas mucho más rápidos que
los ordenadores actuales. Con esto de nuevo nos encontramos con el paralelismo. Para
lograr un sistema eficiente hay que descartar la idea de ejecutar un programa en un único
procesador de todo el sistema, y pensar en distribuir las tareas a los procesadores libres
más rápidos en cada momento. La idea de que un procesador vaya a realizar una tarea de
forma rápida es bastante compleja, y depende de muchos aspectos concretos, como la
propia velocidad del procesador, la localidad, los datos, los dispositivos, etc.
FLEXIBILIDAD
Un proyecto en desarrollo como el diseño de un sistema operativo distribuido debe estar
abierto a cambios y actualizaciones que mejoren el funcionamiento del sistema. Esta
necesidad ha provocado una diferenciación entre las dos diferentes arquitecturas del
núcleo del sistema operativo: el núcleo monolítico y el micronúcleo. Las diferencias entre
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 22/27
Página
22
ambos son los servicios que ofrece el núcleo del sistema operativo. El núcleo monolítico
ofrece todas las funciones básicas del sistema integradas en el núcleo, como ejemplo de
este núcleo esta UNÍX. Estos sistemas tienen un núcleo grande y complejo, que engloba
todos los servicios del sistema. Mientras tanto, el micronúcleo incorpora solamente las
funciones fundamentales, que incluyen únicamente el control de los procesos y la
comunicación entre ellos y la memoria. El resto de los servicios se cargan dinámicamente a
partir de servidores en el nivel de usuario. En la actualidad la mayoría de sistemas
operativos distribuidos en desarrollo tienden a un diseño de micronúcleo. Los núcleos
tienden a contener menores errores y a ser más fáciles de implementar y de corregir.
ESCALABILIDAD
Un sistema operativo distribuido debería funcionar tanto para una docena de ordenadorescomo para varios millares. Al igual que no debería de ser determinante el tipo de red
utilizada (LAN o WAN) ni las distancias entre los equipos, etc. La escalabilidad propone que
cualquier ordenador individual debe ser capaz de trabajar independientemente como un
sistema distribuido, pero también debe poder hacerlo conectado a muchas otras
máquinas.
FIABILIDAD
Una de las ventajas claras que nos ofrece la idea de sistema distribuido es que el
funcionamiento de todo el sistema no debe estar ligado a ciertas máquinas de la red, sino
que cualquier equipo pueda suplir a otro en caso de que uno se estropee o falle. La forma
más evidente de lograr la fiabilidad de todo el sistema se encuentra en la redundancia. La
información no debe estar almacenada en un solo servidor de archivos, sino por lo menos
en dos máquinas. Mediante la redundancia de los principales archivos o de todos evitamos
el caso de que el fallo de un servidor bloquee todo el sistema, al tener una copia idéntica
de los archivos en otro equipo.
Otro tipo de redundancia más compleja se refiere a los procesos. Las tareas críticas
podrían enviarse a varios procesadores independientes, de forma que el primer
procesador realizaría la tarea normalmente, pero ésta pasaría a ejecutarse en otro
procesador si el primero hubiera fallado.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 23/27
Página
23
9. MODELO CLIENTE - SERVIDOR
En un esquema Cliente-Servidor se denomina Cliente a la máquina que solicita un
determinado servicio y Servidor a la máquina que lo proporciona. El servicio puede ser la
ejecución de un determinado algoritmo, el acceso a determinado banco de información oel acceso a un dispositivo hardware. [Monge, Raúl, 2004].
Arquitectura cliente – servidor de software distribuido.
Por extensión, se puede aplicar el esquema Cliente-Servidor dentro de una máquina,
donde el proceso servidor y el proceso cliente son dos procesos independientes que
corren dentro de la misma instancia del sistema operativo. Es por tanto un elemento
primordial para que haya un sistema distribuido, la presencia de un medio físico de
comunicación entre ambas máquinas. A continuación se muestra en forma gráfica estaexplicación para entender mejor.
Arquitectura cliente – servidor con base de datos
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 24/27
Página
24
Una arquitectura es un conjunto de reglas, definiciones, términos y modelos que se
emplean para producir un producto. La arquitectura Cliente-Servidor agrupa conjuntos de
elementos que efectúan procesos distribuidos y computo cooperativo.
Los beneficios que ofrece esta arquitectura es un mejor aprovechamiento de la potencia
de computo (reparte el trabajo), reduce el tráfico en la red (viajan requerimientos), opera
bajo sistemas abiertos y permite el uso de interfaces gráficas variadas y versátiles.
El cliente es un conjunto de software y hardware que invoca los servicios de uno o varios
servidores y algunas de sus características son:
El cliente oculta al Servidor y la Red.
Detecta e intercepta peticiones de otras aplicaciones y puede re
direccionarlas.
Dedicado a la cesión del usuario (Inicia - Termina).
El método más común por el que se solicitan los servicios es a través de RPC
(Remote Procedure Calls).
Y las funciones más comunes del cliente son la de mantener y procesar todo el diálogo con
el usuario, el manejo de pantallas, menús e interpretación de comandos, entrada de datos
y validación, procesamiento de ayudas y la recuperación de los errores.
En cuanto al Servidor, éste es un conjunto de hardware y software que responde a los
requerimientos de un cliente, dentro de los tipos más comunes de Servidores se
encuentran: Servidor de Archivos (FTP, Novell), Servidor de Bases de Datos (SQL, CBASE,
ORACLE, INFORMIX), Servidor de Comunicaciones, Servidor de Impresión, Servidor de
Terminal, Servidor de Aplicaciones (Windows NT, Novell).
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 25/27
Página
25
Algunas de las funciones del servidor son:
Acceso, almacenamiento y organización de datos.
Actualización de datos almacenados.
Administración de recursos compartidos.
Ejecución de toda la lógica para procesar una transacción.
Procesamiento común de elementos del servidor (Datos, capacidad de CPU,
almacenamiento en disco, capacidad de impresión, manejo de memoria y
comunicación).
10. ARQUITECTURA DE CAPAS
Plataforma: El nivel de hardware y las capas más bajas de software se denominan, a menudo,
plataforma para sistemas distribuidos y aplicaciones. Estas capas más bajas proporcionan
servicios a las que están por encima de ellas, y que son implementadas
independientemente en cada computador, proporcionando una interfaz de
programación del sistema a un nivel que facilita la comunicación y coordinación entre
procesos.
Middleware:
Es una capa de software cuyo propósito es enmascarar la heterogeneidad y proporcionar
un modelo de programación conveniente para los programadores de aplicaciones. Se
representa mediante procesos u objetos en un conjunto de computadoras que
interactúan entre sí para implementar mecanismos de comunicación y de recursos
compartidos para aplicaciones distribuidas.
El middleware se ocupa de proporcionar bloques útiles para la construcción decomponentes software que puedan trabajar con otros en un sistema distribuido.
En particular, mejora el nivel de las actividades de comunicación de los programas de
aplicación soportando abstracciones como: procedimiento de invocación remota,
comunicación entre un grupo de procesos, notificación de eventos, replicación de
datos compartidos y transmisión de datos multimedia en tiempo real.
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 26/27
Página
26
Capas de software y hardware
11.
EL MODELO PEER TO PEER (De Igual a Igual)
En esta arquitectura todos los procesos desempeñan tareas semejantes, interactuando
cooperativamente como iguales para realizar una actividad distribuida o cómputo sin
distinción entre dientes y servidores.
Aplicación basada en procesos Peer
La figura muestra un ejemplo con tres instancias de esta situación; en general, n
procesos parejos podrán interactuar entre ellos, dependiendo del patrón de
comunicación de los requisitos de la aplicación.
La eliminación del proceso servidor reduce los retardos de comunicación entre
procesos al acceder a objetos locales. Considérese una aplicación de pizarra distribuida
7/23/2019 Trabajo Distribuidos
http://slidepdf.com/reader/full/trabajo-distribuidos 27/27
que Permite que usuarios en varias computadoras vean y modifiquen interactivamente un
dibujo que se comparte entre ellos.