Vous êtes sur la page 1sur 27

ô  

.

Un sistema distribuido se compone de un grupo de


computadores autónomos, enlazados mediante una red y
equipados con un software de sistemas distribuidos. Este software
permite que los computadores coordinen sus actividades y
compartan recursos.

Los usuarios de un sistema distribuido bien diseñado deberían


percibir un sistema de computación único e integrado, aun cuando
las máquinas estén dispersas geográficamente.

Las aplicaciones de los sistemas distribuidos varían desde la


subsistencia de capacidad de cómputo a grupos de usuarios, hasta
sistemas bancarios, comunicaciones multimedia y abarcan
prácticamente todas las aplicaciones comerciales y técnicas de los
ordenadores

 

À Concurrencia: Esta característica de los sistemas distribuidos


permite que los recursos disponibles en la red puedan ser
utilizados simultáneamente por los usuarios o agentes que
interactúan en la red.
À Carencia de reloj global: Las coordinaciones para la
transferencia de mensajes entre los diferentes componentes
para la realización de una tarea, no tienen una temporización
general, esta más bien distribuida a los componentes.

cc c
cc
c c
À Fallos independientes de los componentes: Cada componente
del sistema puede fallar independientemente, con lo cual los
demás pueden continuar ejecutando sus acciones. Esto
permite el logro de las tareas con mayor efectividad, pues el
sistema en su conjunto continua trabajando.

À m   

    


    
  

À   es la razón número uno de la tendencia hacia los


sistemas distribuidos ya que estos sistemas tienen en
potencia una proporción precio/desempeño mucho mejor que
la de un sistema centralizado.

À    un sistema distribuido puede tener mayor poder


de cómputo que una mainframe.

À  
  otra razón para la construcción de un
sistema distribuido es que ciertas aplicaciones son distribuidas
en forma inherente; es decir, algunas aplicaciones utilizan
máquinas que están separadas a cierta distancia.

À     un sistema distribuido ofrece mayor


confiabilidad: al distribuir la carga de trabajo en muchas
máquinas, la falla de un circuito descompondrá a lo más una
máquina y el resto seguirá intacto.

À        si se necesita añadir poder


de cómputo a la compañía, con un sistema distribuido,
podrían añadirse sólo más procesadores al sistema, lo que
permite un desarrollo gradual conforme surjan las
necesidades.

    


    
  

À    Un sistema distribuido permite que


varios usuarios tengan acceso a una base de datos común.

cc c
cc
c c
À        ge igual manera, se pueden
compartir periféricos entre diversos usuarios como puede ser
una impresora.

À 
   un sistema distribuido facilita la comunicación
entre computadoras aisladas con el e-mail, por ejemplo.

À V    Un sistema distribuido difunde la carga de


trabajo entre las máquinas disponibles en la forma más eficaz
en cuanto a los costos.

    




À ô Õo hay mucha experiencia en el diseño,


implantación y uso del software distribuido, además existe
poco software para los sistemas distribuidos en la actualidad.

À Ú Una vez que el sistema llega a depender de la red, la


pérdida o saturación de ésta puede negar algunas de las
ventajas que el sistema distribuido debía conseguir.
À ô
  si las personas pueden tener acceso a los datos
en todo el sistema, entonces también pueden tener acceso a
datos con los que no tienen nada que ver.

   

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. A continuación se muestra la
taxonomía presentada por Flynn (1972) que considera dos
características esenciales: el número de flujo de instrucciones y
número de flujos de datos.

ô ô Una computadora con un flujo de instrucciones y uno de


datos. Todas las computadoras tradicionales de un procesador caen
dentro de esta categoría.

ô !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.

cc c
cc
c c
! ôUn flujo de varias instrucciones y un flujo de datos.

! !Un grupo de computadoras independientes, cada una con su


propio contador del programa y datos. Todos los sistemas
distribuidos son MIMg.

Las computadoras MIMg se clasifican en dos grupos: aquellas


que tienen memoria compartida, que por lo general se
llaman 
   y aquellas que no, que a veces reciben
el nombre de 
  
 La diferencia esencial es ésta:
en un multiprocesador, existe un espacio de direcciones virtuales,
compartido por todos los CPU. En contraste, en una
multicomputadora, cada máquina tiene su propia memoria.

Cada una de estas categorías se puede subdividir, con base


en la arquitectura de la red de interconexión: con
y
con  
 En la primera queremos indicar que existe una
red, plano de base, bus, cable u otro medio que conecta todas las
máquinas. Los sistemas con conmutador no tienen sólo una
columna vertebral como en la televisión por cable, sino que tienen
cables individuales de una máquina a otra y utilizan varios patrones
diferentes de cableado.

Otra dimensión de la taxonomía es que, en ciertos sistemas, las


máquinas están 
   y en otras
están "   En un sistema fuertemente acoplado,
el retraso que se experimenta al enviar un mensaje de una
computadora a otra es corto y la tasa de transmisión de los datos,
es decir, el número de bits por segundo que se puede transferir, es
alta. En un sistema débilmente acoplado ocurre lo contrario: el
retraso de los mensajes entre las máquinas es grande y la tasa de
transmisión de los datos es baja. Los sistemas fuertemente
acoplados tienden a utilizarse como sistemas distribuidos aunque
esto no siempre es cierto.

À !
     


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
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,

cc c
c c
c c
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 para 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. La escritura funciona
de manera similar.

À !
     
 

Para construir un multiprocesador con más de 64 procesadores,


es necesario un método distinto par conectar cada CPU con la
memoria. Una posibilidad es dividir la memoria en módulos y
conectarlos a las CPU con un 
  
#cada CPU y
cada memoria tiene una conexión que sale de él. En cada
intersección está un delgado  
   
  

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 intentan tener acceso a la
misma memoria en forma simultánea, uno de ellos deberá esperar.

À !
  
   


Por otro lado, la construcción de una multicomputadora 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.

À !
  
   
 

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. Hay dos
topologías populares, una 
 y un  
Las retículas se
basan en las tarjetas de circuitos impresos. Se adecuan mejor a los
problemas con naturaleza bidimensional inherente, como la teoría
de gráficas o la visión. Un hipercubo es un cubo Y-dimensional. Se
puede pensar como dos cubos ordinarios, cada uno de los cuales

cc c
c
c
c c
cuenta con 8 vértices y 12 aristas. Cada vértice es un CPU. Cada
arista es una conexión entre dos CPU. Se conectan los vértices
correspondientes de cada uno de los cubos.

   

Aunque el hardware es importante, el software lo es más. La


imagen que presenta y la forma de pensar de los usuarios de un
sistema, queda determinada en gran medida por el software del
sistema operativo, no por el hardware.

Se puede distinguir dos tipos de sistemas operativos para los


de varios CPU: los débilmente acoplados y los fuertemente
acoplados.

El software débilmente acoplado permite que las máquinas y


los usuarios de un sistema distribuido sean independientes entre sí
en lo fundamental, pero que interactúen en cierto grado cuando sea
necesario.

En el software fuertemente acoplado el programa de aplicación y


el sistema operativo necesario para soportarlo, están muy
acoplados.

À ô m   

Los Sistemas Operativos de red permiten a los usuarios en


estaciones de trabajo independientes la comunicación por medio de
un sistema compartido de archivos, pero dejan que cada usuario
domine su propia estación de trabajo.

À ô  


Los sistemas operativos distribuidos convierten toda la colección


de hardware y software en un sistema integrado, muy parecido a un
sistema tradicional de tiempo completo.

À ô  
       

Los multiprocesadores con memoria compartida también ofrecen


la imagen de único sistema, pero lo hacen mediante la vía de
centralizar todo, por lo que en realidad, este caso es un sistema.
Los multiprocesadores con memoria compartida no son sistemas
distribuidos.

cc c
c c
c c
 $ô 

Sistema donde el cliente es una máquina que solicita un


determinado servicio y se denomina servidor a la máquina que lo
proporciona. Los servicios pueden ser:
À Ejecución de un determinado programa.
À Acceso a un determinado banco de información.
À Acceso a un dispositivo de hardware.

Es un elemento primordial, la presencia de un medio físico de


comunicación entre las máquinas, y dependerá de la naturaleza de
este medio la viabilidad del sistema.















cc c
c c
c c
  ô 

À Servidores de archivos: Proporciona archivos para clientes. Si los


archivos no fueran tan grandes y los usuarios que comparten
esos archivos no fueran muchos, esto sería una gran opción
de almacenamiento y procesamiento de archivos. El cliente
solicita los archivos y el servidor los ubica y se los envía.

À Servidores de Base de gatos: Son los que almacenan gran


cantidad de datos estructurados, se diferencian de los de
archivos pues la información que se envía está ya resumida en
la base de datos. Ejemplo: El Cliente hace una consulta, el
servidor recibe esa consulta (SQL) y extrae solo la información
pertinente y envía esa respuesta al cliente.

À Servidores de Software de Grupo: El software de grupo es aquel,


que permite organizar el trabajo de un grupo. El servidor gestiona
los datos que dan soporte a estas tareas. Por ejemplo: almacenar
las listas de correo electrónico. El Cliente puede indicarle, que se
ha terminado una tarea y el servidor se lo envía al resto del
grupo.

À Servidores WEB: Son los que guardan y proporcionan


Páginas HTML. El cliente desde un browser o link hace un
llamado de la página y el servidor recibe el mensaje y envía la
página correspondiente.

À Servidores de correo: Gestiona el envío y recepción de correo de


un grupo de usuarios (el servidor no necesita ser muy potente). El
servidor solo debe utilizar un protocolo de correo.

cc c
c c
c c
À Servidor de objetos: Permite almacenar objetos que pueden ser
activados a distancia. Los clientes pueden ser capaces de activar
los objetos que se encuentran en el servidor.

À Servidores de impresión: Gestionan las solicitudes de impresión


de los clientes. El cliente envía la solicitud de impresión, el
servidor recibe la solicitud y la ubica en la cola de impresión,
ordena a la impresora que lleve a cabo las operaciones y luego
avisa a la computadora cliente que ya acabo su respectiva
impresión.

À Servidores de aplicación: Se dedica a una única aplicación. Es


básicamente una aplicación a la que pueden acceder los clientes.




cc c
cc
c c
Úm m mm

Es un conjunto bien conocido de reglas y formatos que se utilizan


para la comunicación entre procesos que realizan una determinada
tarea. Se requieren dos partes:
À Especificación de la secuencia de mensajes que se han de
intercambiar.
À Especificación del formato de los datos en los mensajes.

Un protocolo permite que componentes heterogéneos de


sistemas distribuidos puedan desarrollarse independientemente, y
por medio de módulos de software que componen el protocolo,
haya una comunicación transparente entre ambos componentes. Es
conveniente mencionar que estos componentes del protocolo deben
estar tanto en el receptor como en el emisor.

Ejemplos de protocolos usados en los sistemas distribuidos:


À  Protocolo de Internet.- Protocolo de la capa de Red, que
permite definir la unidad básica de transferencia de datos y se
encarga del direccionamiento de la información, para que llegue a
su destino en la red.
À  Protocolo de Control de Transmisión.- Protocolo de la capa
de Transporte, que permite dividir y ordenar la información a
transportar en paquetes de menor tamaño para su transporte y
recepción.
À   Protocolo de Transferencia de Hipertexto.- Protocolo de la
capa de aplicación, que permite el servicio de transferencia de
páginas de hipertexto entre el cliente WEB y los servidores.
À ô!  Protocolo de Transferencia de Correo Simple.- Protocolo
de la capa de aplicación, que permite el envío de correo
electrónico por la red.
À m% Protocolo de Oficina de Correo Protocolo de la capa de
aplicación, que permite la gestión de correos en Internet, es decir,
le permite a una estación de trabajo recuperar los correos que
están almacenados en el servidor.





cc c c
c c c

  ô 
Se distinguen tres componentes básicos de software:
À Presentación: Tiene que ver con la presentación al usuario de un
conjunto de objetos visuales y llevar a cabo el procesamiento de
los datos producidos por el mismo y los devueltos por el servidor.
À Lógica de aplicación: Esta capa es la responsable del
procesamiento de la información que tiene lugar en la aplicación.
À Base de datos: Esta compuesta de los archivos que contienen los
datos de la aplicación.

cc c c
c c c


!  &'
  

À Modelo Arquitectónico de un Sg: Trata sobre la colocación de


sus partes y las relaciones entre ellas. Ejemplo: modelo
cliente-servidor y el modelo de procesos de ¨igual a igual¨
(peer - to - peer).

À giferentes modelos arquitectónicos:


 Capas de software.
 Arquitectura del sistema.
 Interfaces y Objetos.

cc c c
c c c


  

El término arquitectura de software se refería inicialmente a la


estructuración del software como capas en un único computador.
Más recientemente las capas son uno o varios procesos,
localizados en los mismos o diferentes computadores, que ofrecen y
solicitan servicios. 

Ú Plataforma: estas capas más bajas proporcionan servicio a las


superiores y su implementación es dependiente de cada
computador.
&  

  
! 

}
ô 
m  

 
( Plataforma
  

cc c c
c c c
Ú 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.

El middleware se ocupa de proporcionar bloques útiles para la


construcción de componentes de software que puedan trabajar con
otros en un sistema distribuido. En particular mejora el nivel de las
actividades de comunicación de los P. de aplicación soportando
abstracciones como: llamadas a procedimientos remotos,
comunicación entre un grupo de procesos, etc.

Ejemplos: Sun RPC (llamadas a procedimientos remotos), CORBA


(middleware orientado a objeto), Java RMI (invocación de objetos
remotos en Java), gCOM (Modelo común de objetos distribuidos de
Microsoft).

El middleware también puede proporcionar otros servicios,


aparte de la comunicación, para su uso en programas de aplicación.
Por ejemplo: gestión de nombres, seguridad, almacenamiento
persistente, etc.

cc c c
c  c c


&'

 ô 

À Modelo Cliente/Servidor. 
À Servicios proporcionados por múltiples servidores.
À Servidores proxy y caches.
À Procesos peer-to-peer.

!    )ô 

 El servidor puede o no estar en la misma máquina del cliente.


 Tanto servidores como clientes pueden ser iterativos o
concurrentes.

À &'

  $ô     Consiste en
una capa de presentación y lógica de la aplicación; y la otra
de la base de datos. Õormalmente esta arquitectura se utiliza
en las siguientes situaciones:

Ú Cuando se requiera poco procesamiento de datos en la


organización.
Ú Cuando se tiene una base de datos centralizada en un
solo servidor.

cc c c
c 
c c
Ú Cuando la base de datos es relativamente estática.
Ú Cuando se requiere un mantenimiento mínimo.

À &'

  $ô     Consiste en
una capa de la Presentación, otra capa de la lógica de la
aplicación y otra capa de la base de datos. Õormalmente esta
arquitectura se utiliza en las siguientes situaciones:
Ú Cuando se requiera mucho procesamiento de datos en
la aplicación.
Ú En aplicaciones donde la funcionalidad este en
constante cambio.
Ú Cuando los procesos no están relativamente muy
relacionados con los datos.
Ú Cuando se requiera aislar la tecnología de la base de
datos para que sea fácil de cambiar.
Ú Cuando se requiera separar el código del cliente para
que se facilite el mantenimiento.
Ú Esta muy adecuada para utilizarla con la tecnología
orientada a objetos.


  )ôÚ mÚ Úô &&ô
        
A continuación mostramos la clasificación de de los sistemas
cliente/servidor de acuerdo al nivel de abstracción del servicio que
ofrecen:

cc c c
c  c c
1. Ú  
La interacción con el usuario se
realiza en el servidor, el cliente hace de pasarela entre el
usuario y el servidor.

2. Ú  Ú  La lógica de la aplicación y la base


de datos se encuentran en el servidor. El cliente recibe y
formatea los datos para interactuar con el usuario.

3.   


: El cliente se encarga de la interacción con
el usuario y de algunas funciones triviales de la aplicación. Por
ejemplo controles de rango de campos, campos obligatorios,
etc. Mientras que el resto de la aplicación, junto con la base de
datos, están en el servidor.

cc c c
c  c c
4. ‰ Ú    El cliente realiza la interacción con
el usuario y ejecuta la aplicación y el servidor es quien maneja
los datos.

5. *     


 El cliente realiza la interacción
con el usuario, ejecuta la aplicación, debe conocer
la topología de la red, así como la disposición y ubicación de los
datos. Se delega parte de la gestión de la base de datos al
cliente.

6.         El cliente se encarga de la


interacción con el usuario, el servidor de la lógica de aplicación
y la base de datos puede estar en otro servidor.

cc c c
c  c c
ô       +  

 Los servidores pueden dividir el conjunto de objetos en los


que está basado el servicio y distribuírselos entre ellos
mismos.
 Pueden mantener réplicas de los objetos en cada máquina.

ô  ((

 Un cache es un almacén de objetos de datos utilizados


recientemente.
 Los caches pueden estar ubicados en los clientes o en un
servidor Proxy que se puede compartir desde varios clientes.
 El propósito de los servidores proxy es incrementar la
disponibilidad las prestaciones del servicio, reduciendo la
carga en las redes de área amplia y en los servidores WEB.

cc c c
c c c
  

 l t j t ,
i t t ti t i l li
ti i i ti i t i i ti i t
li t i .
 ti l i t i l
i i l i i l li i .


cc c c
c c c
(m  

Una interfaz de un proceso es la especificación del conjunto de


funciones que se pueden invocar sobre él.

En lenguajes orientados a objetos, los procesos distribuidos


pueden ser construidos de una forma más orientada al objeto. Las
referencias a estos objetos se pasan a otros procesos para que se
pueda acceder a sus métodos de forma remota. Esta es la
aproximación adoptada por CORBA y Java RMI.

cc c c
c c c
m*, mô ô Ú *- mô

En los sistemas Cliente/Servidor, un objeto distribuido es


aquel que esta gestionado por un servidor y sus clientes invocan
sus métodos utilizando un "método de invocación remota". El cliente
invoca el método mediante un mensaje al servidor que gestiona el
objeto, se ejecuta el método del objeto en el servidor y el resultado
se devuelve al cliente en otro mensaje.
Tecnologías orientadas a los objetos distribuidos:
Las tres tecnologías importantes y más usadas en este ámbito son:
1. Ú!  (Remote Invocation Method) Fue el primer fremework para
crear sistemas distribuidos de Java. El sistema de Invocación
Remota de Métodos (RMI) de Java permite, a un objeto que se
está ejecutando en una Máquina Virtual Java (VM), llamar a
métodos de otro objeto que está en otra VM diferente. Esta
tecnología está asociada al lenguaje de programación Java, es
decir, que permite la comunicación entre objetos creados en
este lenguaje.
2.  m! (gistributed Component Object Model) El Modelo de
Objeto Componente gistribuido, esta incluido en los sistemas
operativos de Microsoft. Es un juego de conceptos e interfaces
de programa, en el cual los objetos de programa del cliente,
pueden solicitar servicios de objetos de programa servidores en
otros ordenadores dentro de una red. Esta tecnología esta
asociada a la plataforma de productos Microsoft.
ë mÚ*& (Common Object Request Broker Architecture)
Tecnología introducida por el Grupo de Administración de
Objetos OMG, creada para establecer una plataforma para la
gestión de objetos remotos independiente del lenguaje de
programación.c

cc c c
c c c
 

À Heterogeneidad
À Extensibilidad
À Seguridad
À Escalabilidad
À Tolerancia a Fallas
À Concurrencia
À Transparencia

À    

La heterogeneidad se aplica en los siguientes elementos:

Ú Redes
Ú Hardware de computadores
Ú Sistemas operativos
Ú Lenguajes de programación
Ú Implementaciones de diferentes desarrolladores

!  es el estrato de software que provee una abstracción


de programación, así como un enmascaramiento de la
heterogeneidad subyacente de las redes, hardware, sistemas
operativos y lenguajes de programación. Ejem: Corba, Java RMI.

   (   

 Código Móvil: código que puede enviarse desde un


computador a otro y ejecutarse en este último.
 El concepto de máquina virtual ofrece un modo de crear
código ejecutable sobre cualquier hardware

cc c c
c c c
À    

Es la característica que determina si el sistema puede


extenderse de varias maneras. Un sistema puede ser abierto o
cerrado con respecto a extensiones de hardware o de software.

Para lograr la extensibilidad es imprescindible que las interfaces


clave sean publicadas.

Los Sistemas gistribuidos Abiertos pueden extenderse a nivel


de hardware mediante la inclusión de computadoras a la red y a
nivel de software por la introducción de nuevos servicios y la re
implementación de los antiguos.

Otro beneficio de los sistemas abiertos es su independencia de


proveedores concretos.

À ô
  

La seguridad tiene tres componentes:

 Confidencialidad: protección contra individuos no autorizados .


 Integridad: protección contra la alteración o corrupción.
 gisponibilidad: protección contra la interferencia que impide el
acceso a los recursos.

Existen dos desafíos que no han sido resueltos en su totalidad:

 Ataques de denegación de servicio.


 Seguridad del código móvil.

À    

Se dice que un sistema es escalable si conserva su efectividad


cuando ocurre un incremento significativo en el número de recursos
y en el número de usuarios.

El diseño de Sg escalables presenta los siguientes retos:

cc c c
c  c c
 Control de costo de los recursos físicos: para que un sistema
con ³n´ usuarios sea escalable, la cantidad de recursos físicos
necesarios para soportarlo debería ser O(n).
 Controlar la degradación del rendimiento: Ejemplo: Los
algoritmos que emplean estructuras jerárquicas se comportan
mejor frente al crecimiento de la escala, que los algoritmos
que emplean estructuras lineales.
 Evitar cuellos de botella: los algoritmos deberían ser
descentralizados.

À    V 

getección de fallos: Ejemplo. Se pueden utilizar sumas de


comprobación (checksums) para detectar datos corruptos en un
mensaje.

Enmarascamiento de fallos: Ejemplo.

 Los mensajes pueden retransmitirse.


 Replicar los datos.

Tolerancia de fallos: los programas clientes de los servicios pueden


diseñarse para tolerar ciertos fallos. Esto implica que los usuarios
tendrán también que tolerarlos.

Recuperación de fallos: implica el diseño de software en el que, tras


una caída del servidor, el estado de los datos puede reponerse o
retractarse (rollback) a una situación anterior.

Redundancia: emplear componentes redundantes.

À 
 

Existe la posibilidad de acceso concurrente a un mismo recurso.


La concurrencia en los servidores se puede lograr a través de
threads.

Cada objeto que represente un recurso compartido debe


responsabilizarse de garantizar que opera correctamente en un
entorno concurrente. Para que un objeto sea seguro en un entorno

cc c c
c 
c c
concurrente, sus operaciones deben sincronizarse de forma que sus
datos permanezcan consistentes.

Para que un objeto sea seguro en un entorno concurrente, sus


operaciones deben sincronizarse de forma que sus datos
permanezcan consistentes.

À  

Transparencia de acceso: permite acceder a los recursos locales y


remotos empleando operaciones idénticas.

Transparencia de ubicación: permite acceder a los recursos sin


conocer su localización.

Transparencia de concurrencia: permite que varios procesos operen


concurrentemente sobre recursos compartidos sin interferencia
mutua.

Transparencia de replicación: permite replicar los recursos sin que


los usuarios y los programadores necesiten su conocimiento.

Transparencia frente a fallos: permite ocultar fallos.

Transparencia de movilidad: permite la reubicación de recursos y


clientes en un sistema sin afectar la operación de los usuarios y los
programas.

Transparencia de rendimiento: permite reconfigurar el sistema para


mejorar el desempeño según varíe su carga.

Transparencia al escalado: permite al sistema y a las aplicaciones


expandirse en tamaño sin cambiar la estructura del sistema o los
algoritmos de aplicación.

cc c c
c  c c
cc c c
c  c c

Vous aimerez peut-être aussi