Post on 05-Jul-2018
8/16/2019 Taller 1 Sistemas Di
1/17
CAPITULO 1: COMPONENTES DE UN SISTEMA DISTRIBUIDO
Introducción
En ésta primera unidad se abordan los aspectos conceptuales necesarios para iniciar
el estudio de los SD. Se presentan los componentes de un sistema distribuido, las
principales características así como los tipos de sistemas distribuidos.
Un Sistema Distribuido consiste en una colección de computadores autónomos
enlazados por una red y equipadas con un sistema desoftware distribuido que luce a
los usuarios como si fuera en sistema único y centralizado.
Figura 1. Sistema Distribuido
Este tipo de sistemas se poseen las siguientes características intrínsecas:
Cada uno de los componentes trabajan en forma concurrente (interactúan
simultáneamente).
Lección 1: Introducción y Conceptos1
8/16/2019 Taller 1 Sistemas Di
2/17
Los componentes pueden fallar de manera independiente sin ocasionar un fallo
general.
No existe un reloj global que sincronice los procesos que se ejecutan en el sistema.
Los componentes no comparten memoria.
Los sistemas distribuidos están por todas partes. Internet (considerado un gran
sistema distribuido) permite que los usuarios de todo el mundo accedan a sus
servicios donde quiera que estén situados. La mayoría de empresas administran una
intranet, que provee servicios locales y servicios de Internet a los usuarios locales y
habitualmente proporciona servicios a otros usuarios de Internet. Es posible construir
pequeños sistemas distribuidos con computadores portátiles y otros dispositivos
computacionales pequeños conectados a una red inalámbrica.
Figura 2. Sistema Distribuido Multimedia
En la figura 2 se presenta un sistema distribuido multimedia típico capaz de soportar
una variedad de aplicaciones como conferencias, accesos a secuencias almacenadas
de vídeo y difusión de radio y televisión digitales. En este sistema, distribuido y
abierto, las aplicaciones multimedia2 pueden ser iniciadas y utilizadas sin anuncio
previo. Pueden coexistir varias aplicaciones en la misma red e incluso en la misma
estación de trabajo, para lo cual se debe garantizar que todas las aplicaciones serán
capaces de obtener la cantidad de recursos necesaria en los momentos requeridos,
incluso cuando otras aplicaciones estén compitiendo por esos recursos.
Lección 2: Objetivos de un Sistema Distribuido
La compartición de recursos es el principal factor que motiva la construcción de
8/16/2019 Taller 1 Sistemas Di
3/17
sistemas distribuidos. Recursos como impresoras, archivos, páginasweb o registros
de bases de datos se administran mediante servidores del tipo apropiado. Por
ejemplo, los servidoresweb administran páginas y otros recursosweb. Los recursos
son accedidos por clientes, por ejemplo, los clientes de los servidoresweb se llaman
normalmentebrowsers o navegadoresweb.
Además de compartir recursos, un sistema distribuid o tiene como finalidad atender
los siguientes aspectos que regularmente se presentan en una red:
1. Concurrencia
En una red de computadores, la ejecución de programas concurrentes es la norma.
Yo puedo realizar mi trabajo en mi computador, mientras tú realizas tu trabajo en el
tuyo, compartiendo recursos como páginasweb o archivos, cuando es necesario. La
capacidad del sistema para manejar recursos compartidos se puede incrementar
añadiendo más recursos (por ejemplo, computadores) a la red. La coordinación de
programas que comparten recursos y se ejecutan de forma concurrente es también
un aspecto importante de cualquier sistema distribuido.
2. Inexistencia de reloj global
Cuando los programas necesitan cooperar coordinan sus acciones mediante el
intercambio de mensajes. La coordinación estrecha depende a menudo de una idea
compartida del instante en el que ocurren las acciones de los programas. Pero resulta
que hay límites a la precisión con lo que los computadores en una red pueden
sincronizar sus relojes (Figura 3), ya que no hay una única noción global del tiempo
correcto. Esto es una consecuencia directa del hecho que la única comunicación se
realiza enviando mensajes a través de la red.
Figura 3. Sincronización en Red
8/16/2019 Taller 1 Sistemas Di
4/17
Fuente: Autor
3. Fallos independientes
Todos los sistemas informáticos pueden fallar y los diseñadores de sistemas tienen la
responsabilidad de planificar las consecuencias de posibles fallos. Los sistemas
distribuidos pueden fallar de muy diversas formas. Los fallos en la red producen el
aislamiento de los computadores conectados al Sistema Distribuido, pero eso no
significa que detengan su ejecución. De hecho, los programas que se ejecutan en
ellos pueden no ser capaces de detectar cuando la red ha fallado o está
excesivamente lenta (Figura 4).
Fallos Independientes
De forma similar, la caída de un servidor o la terminación inesperada de un programaen alguna parte del sistema (crash) no se da a conocer inmediatamente a los demás
componentes con los que se comunica. En un sistema distribuido cada componente
del sistema puede fallar independientemente, permitiendo que los demás continúen su
ejecución
8/16/2019 Taller 1 Sistemas Di
5/17
Lección 3: Comunicación en los Sistemas Distribuidos
Por ser de gran importancia para el esquema de comunicación entre los elementos de
un sistema distribuido, se hará una profundización en el concepto de Agente y sus
diversas connotaciones.
1. Agentes
Uno de los elementos claves para la comunicación en un Sistema Distribuido es el
Agente. La palabra “ Agente” se refiere a todo ente que posee la habilidad, capacidad
y autorización para actuar en nombre de otro (Figura 5). A diario, los “agentes
humanos” asisten a las personas en tareas que requieren recursos especializados o
conocimiento específico en un dominio. Por ejemplo, una secretaria atiende y
resuelve situaciones en nombre de su jefe: administra la agenda, coordina las
reuniones, recibe a los visitantes. El usuario “delega” en el agente una o varias tareas
que debe llevar a cabo quedando a la espera de los resultados. Dichas tareas son a
menudo fáciles de e specificar, pero - en algunos casos – complejas de realizar.
Los investigadores en el campo de los agentes computacionales han dado varias
definiciones al término, cada uno desde su óptica particular, fundamentada
básicamente en la línea de investigación en la cual trabajan (Inteligencia Artificial,Ingeniería deSoftware, Sistemas Autónomos, Sistemas Distribuidos). A continuación
se presentan algunas definiciones:
8/16/2019 Taller 1 Sistemas Di
6/17
SegúnNwana, “el término agente se refiere a un componente de software y/o
hardware que es capaz de actuar para poder ejecutar tareas en nombre de un
usuario”.
Pattie Maesdel laboratorio de Inteligencia Artificial del MIT (Massachusetts Institute of
Technology / Instituto Tecnológico de Massachusetts) definió a los agentes autónomos
como “sistemas computacionales que habitan en algún ambiente dinámico y complejo,
censando su estado actuando autónomamente, llevando a cabo una serie de objetivos
o tareas para los cuales fueron diseñados”.
Nicholas Negro ponte, director del Media Labdel MIT, hizo la observación que el
futuro de la computación será de “delegar a” y no de “manipular” computadores.
Dentro de este marco el término agente se redefine para cada aplicación que persiga
dicho objetivo.
2. Propiedades de los agentes
Con base en todas las definiciones anteriores es posible extraer algunas
características que requieren los agentes: deben ser parte de un ambiente, deben
poder monitorear (sensar) su entorno y actuar sobre el, y deben responder según los
objetivos para los cuales fueron diseñados. Deben –entonces – poseer una serie de
atributos o propiedades que lo definen como agente.
Autonomía:Capacidad de actuar sin la intervención directa de una persona o de otro
agente. Un agente debe poder controlar sus propias acciones y estado interno. Una
vez que el usuario activa el agente indicando algún objetivo de alto nivel, éste actúa
independientemente, seleccionando estrategias y monitoreando el progreso en busca
de la meta. Si falla con una estrategia, usa otra, pero sin intervención humana o con
la mínima indispensable.
Habilidad Social:Un agente debe ser comunicativo. Debe tener habilidad para
8/16/2019 Taller 1 Sistemas Di
7/17
interactuar con otros agentes o incluso con alguna persona, para solicitar información
o bien para exponer los resultados obtenidos de la ejecución de las tareas planeadas.
La naturaleza de la comunicación depende del tipo de agente con quien se comunique
(humanos o no), en ambos casos debe establecer un protocolo común de intercambio
de información entre ambas partes. Los agentes deben poseer algún tipo de interfaz
para comunicars e con sus usuarios. Dicha interfaz puede establecerse simplemente
mediante el envío de mensajes por correo electrónico o puede ser todo lo sofisticada
que se desee (lo ideal es proveer una interfaz más antropomórfica para los agentes).
Reactividad:Se refiere al hecho de que un agente debe poder sensar el estado del
ambiente dentro del cual se encuentra inmerso y -en función de esto- actuar,
respondiendo de manera adecuada a cambios producidos en el mismo. Los efectos
producidos pueden modificar el estado de su entorno. Por ejemplo, un agente de
filtrado de correo electrónico está sensando su ambiente, alerta a la llegada de nuevos
mensajes. La llegada de un nuevo mensaje (cambio en el medio) produce que el
agente responda de acuerdo a las tareas asignadas.
Orientación por objetivos:Un agente no sólo debe actuar por cambios detectados
en el medioambiente, sino que debe “trabajar” en función de los objetivos para los
cuales fue diseñado y las tareas que le fueron delegadas en cada momento. Un
agente busca permanentemente satisfacer su agenda interna. En las aplicacionesconvencionales, cuando un usuario ejecuta un comando, se activa un proceso que se
ejecuta por determinado tiempo, algunos solicitan datos al usuario, retornan
resultados y así sucesivamente. Esta es una visión pasiva de computación, ya que la
motivación viene de parte del usuario. En un modelo basado en agentes, el proceso
es auto-motivado, es decir, el agente busca satisfacer cierto estado interno con
mínima intervención humana. Por ejemplo, un agente recuperador de archivos tiene
especificada una tarea. El agente debe intentar permanentemente satisfacer la tarea
que le fue delegada con base en las estrategias de búsqueda y recuperación con lascuales fue construido, hasta cumplir con el objetivo.
Continuidad temporal:Un agente es un proceso temporalmente continuo. A
diferencia de un programa convencional del cual se conoce su inicio y fin, un agente
debe ejecutarse hasta que se haya alcanzado con el conjunto de objetivos solicitados,
8/16/2019 Taller 1 Sistemas Di
8/17
o bien, mientras su ciclo perdure y su usuario no desee detenerlo. La continuidad
temporal es la propiedad que da “vida” al agente, posibilitando que se mantenga
alerta a una solicitud o a algún cambio en el medio. El ciclo de vida de un agente
depende de sus características, de las tareas que realice y de los deseos de su
usuario en cuanto al tiempo durante el cual el agente debe ejecutarse.
Movilidad:Es la capacidad de un agente de “viajar” por las redes de computadores,
de nodo a nodo, en busca de los recursos que le permitan cumplir con su agenda. El
término “viajar” se refiere a que en un determinado instante de tiempo el agente
detiene su ejecución, almacena su estado interno y se dirige a otro sitio dentro de una
red de computadores (tanto el código del agente como su estado) para luego
continuar con su ejecución en la nueva ubicación. Los recursos a los que puede
acceder pueden ser desoftware ohardware. Por ejemplo, un agente puede ir en
busca de una base de datos que se encuentra en cierta máquina o bien ejecutarse
remotamente haciendo uso del procesador y memoria del equipo destino.
3. Clasificación de los Agentes
Los agentes pueden clasificarse de varias maneras, teniendo en cuenta algunas de
las propiedades que poseen o bien haciendo hincapié en alguna en particular. De esta
manera puede armarse un árbol taxonómico que abarque todas las combinaciones de
propiedades y tareas que se quieran.
Partiendo de lo anterior, se presenta la siguiente clasificación de los agentes de
acuerdo con la función u objetivo principal del mismo
• Agentes de interfaz
• Agentes colaborativos
• Agentes móviles
• Agentes de recuperación de información
Agentes de interfaz
Un agente de interfaz es unsoftware cuasi-inteligente que asiste a un usuario cuando
interactúa con una o más aplicaciones. La motivación es que se les pueda delegar
tareas aburridas y laboriosas. Son asistentes personales que reducen el trabajo por la
8/16/2019 Taller 1 Sistemas Di
9/17
sobrecarga de información, como por ejemplo el filtrado de los mensajes de correo
electrónico o la recuperación de archivos de Internet. Esta categoría de agentes
apoyan y proveen asistencia a su usuario. El agente observa y monitorea las acciones
que toma el usuario en la interfaz, aprende nuevos atajos, y sugiere mejores formas
de hacer las tareas. La idea es que el agente pueda adaptarse a las preferencias y
hábitos de sus usuarios. Enfatizan la autonomía y el aprendizaje para llevar a cabo
tareas para sus dueños y trabajan en el mismo ambiente que éstos.
A su vez, los agentes de interfaz pueden encontrarse subdivididos debido a diferentes
tareas para las cuales son construidos. Las más comunes son:
Asistentes: Trabajan realizando tareas típicas como el manejo de la agenda.
Estos agentes ayudan al usuario a planificar las reuniones. Sus acciones incluyennegociar, aceptar o rechazar reuniones.
Filtros: Su tarea principal es la de analizar información según un conjunto de
reglas dadas por el usuario. La aplicación típica es el filtrado de mensajes de
correo electrónico.
Guías: Asisten a los usuarios en el uso de una aplicación. Estos agentes
monitorean las acciones de los usuarios e intentan sugerir qué pasos realizar para
alcanzar el objetivo. Algunos ayudan a navegar por la Web.
Agentes colaborativos
Los agentes colaborativos constituyen un sistema multiagentes, es decir existe más de
un agente dedicado a satisfacer los requerimientos de sus usuarios. Para ello es
necesario contar con esquemas de comunicación entre agentes que posibiliten la
cooperación y el intercambio de conocimiento. Además, deben poseer un alto grado
de autonomía para actuar interactuando con sus pares.
La motivación detrás de la construcción de agentes colaborativos es que los sistemas
construidos con unidadesrelativamente simples proveen mayor funcionalidad que un
ente mayor, pudiendo extender la funcionalidad del sistema más allá de las
capacidades de uno de sus miembros.
8/16/2019 Taller 1 Sistemas Di
10/17
Además, estas arquitecturas posibilitan contar con mayor confiabilidad (debido a la
redundancia) y mayor velocidad (debido al paralelismo) en el sistema conjunto. Las
áreas de aplicación de este tipo de agentes incluyen:
Resolución de problemas demasiado grandes.Interconexión de múltiples sistemas.
Manejo de información proveniente de fuentes distribuidas.
Agentes Móviles
Los agentes móviles son procesos capaces de “viajar” por una red de computadores,
interactuando conhosts9 externos, recolectando información en nombre de su dueño y
retornando a “casa” luego de completar las tareas establecidas (Figura 6). Los
agentes forman un nivel de abstracción más para el usuario, detrás del cual se
encuentran soluciones a cuestiones técnicas en algunos casos complicadas. Una de
estas cuestiones es la distribución, es decir, como manejar recursos computacionales
distribuidos. Con la idea de agentes móviles los recursos distribuidos no son
completamente ocultados al usuario pero tampoco completamente expuestos10. La
noción de movilidad viene del objetivo de reducir el tráfico innecesario dentro de una
red , con lo que se pueden reducir los costos de comunicación. Además, al aportar
una nueva forma de computación distribuida posibilita el mejor aprovechamiento de
los recursos de la red y permite que los usuarios tengan acceso a una cantidad mayor
de recursos. Por ejemplo, debido a que las sesiones en busca de un recurso
determinado ciertas veces son largas, la idea de agentes móviles provee una solución.
Un usuario delega la tarea de búsqueda de información a un agente, establece una
comunicación con la red y “envía” al agente a cumplir con su misión. La próxima vez
que el usuario se conecte, el agente “retorna” con los resultados obtenidos.
Figura 6. Agentes Móviles
8/16/2019 Taller 1 Sistemas Di
11/17
Para soportar la movilidad, debe existir una infraestructura de transporte que mueva
el código del agente de una ubicación a otra.Además, se debe contar con un entorno
de ejecución de agentes, donde los agentes “viven”, compuesto por todas los
computadores que los proveen. Finalmente, para construir sistemas con agentes
móviles es necesario resolver algunas cuestiones fundamentales tales como:
• Transporte: Cómo se mueven de lugar en lugar?
• Ejecución: Cómo ejecutar el agente de forma remota?
• Autenticación: Cómo saber si el agente es quien dice ser y a quién
representa?
• Privacidad: Cómo asegurar que el agente mantenga resguardado su estado
interno?
•Seguridad: Cómo protegerlo de virus? Cómo prevenirque el agente entre enbucles infinitos o falle?
Agentes de recuperación de información
El objetivo principal de los agentes dedicados específicamente a la recuperación de
información es obtener información por el usuario (Figura 7). La motivación para su
construcción es que con el crecimiento vertiginoso de Internet, la cantidad de
información accesible supera la cantidad de tiempo disponible para analizarla. Un
adagio popular en Internet dice: “Nos estamos sumergiendo en información pero
hambrientos de conocimiento”.
Las tecnologías de la información han expandido los horizontes de los usuarios en
cuanto a las formas de generar y acceder a la misma. Pero esta amplia variedad de
información distribuida plantea desafíos en cuanto a las formas de manejar su
8/16/2019 Taller 1 Sistemas Di
12/17
complejidad y heterogeneidad
Agentes de Recuperación de Informacion
Hoy en día, la información se produce en múltiples contextos, se difunde por medios
muy variados y se utiliza en todas partes. El rápido crecimiento de la cantidad de
documentos en Internet (especialmente en la web) presenta la dificultad de poder
acceder a la información relevante.
Se produce así el fenómeno conocido como “sobrecarga de información ”, entonces
se trata de mejorar, pero no eliminar, el problema específico de la sobrecarga y
administración de la información. Además, existe el problema que debido al gran
volumen de información disponible, se mezclan el ruido o desperdicio con lainformación útil o necesaria, lo que determina la gran dificultad de hallar lo que
realmente resulta de interés para las personas.
Las soluciones actuales a este problema se basan en la construcción de motores de
búsqueda, con mecanismos de indexación de documentos, combinados con
8/16/2019 Taller 1 Sistemas Di
13/17
interfaces de consulta apropiadas a esta tarea, o bien, índices manuales multi-nivel (o
directorios), los cuales presentan clasificaciones de los documentos según el criterio
de sus autores. Ambas técnicas poseen debilidades visibles. Los primeros, son muy
propensos a “recuperar” demasiada cantidad de documentos “no deseables” ya que
trabajan (básicamente) mediante técnica de búsqueda de la ocurrencia de los
términos buscados en los documentos. Por otra parte, los índices manuales,
solamente tienen “ parte” de los posibles documentos, debido al alto costo que posee
la recuperación, manipulación y clasificación manual de los mismos. La motivación es
poder diseñar una técnicaque permita describir los cientos de millones de documentos
disponibles de manera precisa, creando un índice de alta calidad, con una forma
eficaz y eficiente de acceder a éste (ya sea de manera manual o automática). Una de
las solucion es posible se basa en los agentes de recuperación de información. Estos
agentes pueden asistir a un usuario novato en la formulación de consultas avanzadas,
en base a sus necesidades de información. Además, permiten acceder e integrar
fuentes heterogéneas y manejar diferentes tipos formatos de información.
Los agentes de recuperación de información poseen métodos para permitir el rápido
acceso y recuperación de información relevante. Tienen la tarea de administrar,
manipular y juntar información de fuentes distribuidas. Pueden tener mecanismos de
búsqueda y navegación flexibles y algoritmos de clasificación poderosos. El objetivo
es construir agentes capaces de “armar” un diario personalizado, sabiendo dónde
buscar, cómo encontra lo buscado y cómo armarlo luego. Los agentes se presentan
como una herramienta muy útil en la tarea de resolver el problema de la sobrecarga
de información, debido a que éstos pueden realizar sus tareas mucho más rápido que
las personas y, además, se encuentran disponibles las veinticuatro horas
4. Ejemplos de Agentes
Para dar claridad acerca concepto de agentesoftware, se describen dos ejemplos de
amplia utilización en las plataformas computacionales distribuidas:
8/16/2019 Taller 1 Sistemas Di
14/17
Los agentes de biblioteca.
Un interesante ámbito de aplicación de los agentes de recuperación de información
son las bibliotecas. Las colecciones de información pública almacenadas en formato
electrónico han aumentado considerablemente, por lo cual las bibliotecas debenincorporar este formato como una alternativa a las publicaciones tradicionales. Dentro
de este ámbito, los agentes de recuperación de información pueden resultar de gran
utilidad como asistentes de los bibliotecarios, manejando los grandes volúmenes de
material electrónico almacenado. Dado un contexto de búsqueda (según la petición de
material por parte de un usuario), el bibliotecario puede recurrir a un agente para que
lo asista en las tareas de buscar, clasificar y filtrar la información solicitada. Con base
en una solicitud, el agente puede recurrir a estrategias para seleccionar las bases de
datos donde buscar y cómo categorizar los documentos encontrados. Además,pueden colaborar con el bibliotecario en el desarrollo de las siguientes actividades:
• Recuperar información de fuentes distribuidas
(Internet) Realizar consultas con distintas estrategias
• Generar reportes detallados y/o resumidos
• Mantener estadísticas de solicitudes/búsqueda/utilidad
• Crear perfiles de usuarios, con base en sus áreas temáticas o preferencias de
material
En los próximos años, es impensable una biblioteca que no incorpore asistentes
digitales. La diversidad de soportes, formatos, idiomas, motores de consulta, etc,
están a disposición de los usuarios con la finalidad de brindar una mayor calidad de
servicio informativo, pero él usuario debe abstraerse de cuestiones tecnológicas que
lo dispersen de sus objetivos principales. Esta última cuestión es la que tienden a
realizar los asistentes o agentes de bibliotecas, operando como interfaces inteligentes
entre el usuario y las tecnologías de información.
Googlebot
UnGooglebot es un agente distribuido (robot de búsqueda) usado porGoogle.
Colecciona documentos desde laweb, para construir una base de datos para el motor
de búsquedaGoogle.
Si unwebmaster no quiere que su página sea descargada por unGooglebot, el
8/16/2019 Taller 1 Sistemas Di
15/17
puede insertar un texto llamadorobots.txt, el cual puede hacer queGooglebot (y
otros robots de información) no investiguen esa página.
Googlebottiene dos versiones, deepboty freshbot. Deepbotinvestiga profundamente,
tratando de seguir cualquier enlace en esa página, además de poner está página en
el caché, y dejarla disponible para Google.Freshbot investiga laweb buscando por
contenido nuevo, visitando sitios que cambia frecuentemente. Idealmente, elfreshbot
visita la página de un periódico todos los días, mientras que la de una revista cada
semana, o cada 15 días.
Googleboot
Googlebotdescubre enlaces a otras páginas, y se dirige hacia ellos también, así
puede abarcar toda laweb fácilmente.
Lección 4: Ventajas y desventajas de los Sistemas Distribuidos
En general, los sistemas distribuidos exhiben algunas ventajas sobre los sistemas
centralizados. Las principales se describen enseguida:
•
Economía: El cociente precio/desempeño de la suma del poder de losprocesadores separados contra el poder de uno solo centralizado es mejor
cuando están distribuidos.
• Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy
superior.
8/16/2019 Taller 1 Sistemas Di
16/17
• Confiabilidad:Si una sola máquina falla, el sistema total sigue funcionando.
• Crecimiento:El poder total del sistema puede irse incrementando al añadir
pequeños sistemas, lo cual es mucho más difícil en un sistema centralizado y caro.
• Distribución: Algunas aplicaciones requieren de por sí una distribución física.
Por otro lado, los sistemas distribuidos también exhiben algunas ventajas sobre
sistemas aislados. Estas ventajas son:
• Compartir datos:Un sistema distribuido permite compartir datos más
fácilmente que los sistemas aislados, que tendrían que duplicarlos en cada
nodo para lograrlo.
• Compartir dispositivos:Un sistema distribuido permite acceder dispositivos
desde cualquier nodo en forma transparente, lo cual es imposible con los
sistemas aislados. El sistema distribuido logra un efecto sinergético.
• Comunicaciones:La comunicación persona a persona es factible en los
sistemas distribuidos, en los sistemas aislados no.
• Flexibilidad:La distribución de las cargas de trabajo es factible en el sistema
distribuido, se puede incrementar el poder de cómputo.
Así como los sistemas distribuidos exhiben grandes ventajas, también se pueden
identificar algunas desventajas, algunas de ellas tan serias que han frenado la
producción comercial de sistemas operativos en la actualidad. El problema más
importante en la creación de sistemas distribuidos es elsoftware; los problemas de
compartición de datos y recursos son tan complejos que los mecanismos de solución
generan mucha sobrecarga al sistema haciéndolo ineficiente. El revisar y validar, por
ejemplo, quiénes tienen acceso a algunos recursos y quiénes no, el aplicar los
mecanismos de protección y registro de permisos consume demasiados recursos. Engeneral, las soluciones presentes para estos problemas están aún en sus comienzos.
Otros problemas de los sistemas distribuidos surgen debido a la concurrencia y al
paralelismo. Tradicionalmente las aplicaciones son creadas para computadores que
ejecutan secuencialmente, de manera que el identificar secciones de código
8/16/2019 Taller 1 Sistemas Di
17/17
“ paralelizable” es un trabajo “arduo”, pero necesario para dividir un proceso grande
en sub-procesos y enviarlos a diferentes unidades de procesamiento para lograr la
distribución. Con la concurrencia se deben implantar mecanismos para evitar las
condiciones de competencia, las postergaciones indefinidas, el ocupar un recurso y
estar esperando otro, las condiciones de espera circulares y, finalmente, los "abrazos
mortales" (deadlocks). Estos problemas de por sí se presentan en los sistemas
multiusuarios o multitareas, y su tratamiento en los sistemas distribuidos es aún más
complejo, y por lo tanto, necesita de algoritmos más complejos con la inherente
sobrecarga esperada.