Vous êtes sur la page 1sur 4

Dejando un poco de lado la especificacin que nos lleva al Concepto de S.O.

distribuidos
segn el subtema anterior, lo definimos como un software que administra una coleccin de
Nodos Computacionales, que trabajan en Red, que se comunican entre ellos y estn
fsicamente separados. La nocin principal para idear una tecnologa superior proviene de la
necesidad de mayor Potencia de Cmputo. Puede entenderse sta como la necesidad de
ejecutar una gran cantidad de instrucciones complejas en el menor tiempo posible, pero su
aplicacin puede diferir. No es lo mismo procesar una gran cantidad de operaciones de
punto flotante en una aplicacin de super cmputo, que administrar los grandes volmenes
multimedia en las redes como Facebook o Twitter, ya que la naturaleza de su aplicacin es
distinta. Sin embargo el hecho de tener que distribuir la carga de procesamiento a travs de
un interfaz implica necesariemente ejecutar tareas de control subyacente para organizar la
distribucin de la carga y hacer acopio de resultados. Del curso anterior aprendimos que el
monitoreo del estado de varias CPU's en un entorno de administracin del procesador
requera necesariamente establecer una mtrica de sobrecarga, adems de establecer una
aproximacin No-Migratoria (sin redistribucin de sobrecarga) o Migratoria (con
redistribucin de sobrecarga) y que los algoritmos respectivos, no obstante su naturaleza
centralizada o distribuida entre las CPU's consumen gran cantidad de recursos informticos,
en complejidad o en penalizacin.
Al visualizar el problema anterior, surge de manera intuitiva la nocin de que un S.O
Distribuido no requiera tanta complejidad, y que utilice la comunicacin con otros mdulos
de forma limitada. Por supuesto que las Leyes de la Informatica establecen muy claro que
los cuellos de botella solo se pueden desplazar a otras reas menos congestionadas, y que
el "trabajo sucio" de procesar datos no se puede reducir u optimizar mas all de un gasto
mnimo. Entonces el diseo de estos sistemas implica una correcta dispersin de la carga y
una fuerte asociacin del procesamiento de alto nivel simblico con la capa de transporte,
que es la encargada de administrar la comunicacin en red. A diferencia de los Sistemas
que operan en una misma frontera, los Sistemas Distribuidos trabajan de forma
independiente, asncrona y soberana. De esta froma de trabajo surgen los conceptos clave
que hacen la diferencia con los S.O. centralizados: concurrencia, sincronizacin,
independencia y coordinacin. El detalle que distingue a un sistema tal es que a la
experiencia del usuario, el S.O. da la impresin de ser uno slo, monolitico.
Un S.O. Distribuido es, en conclusin, algo ms que un S.O. en red, ya que en realidad
se trata de varios Sistemas Autnomos que trabajan de manera conjunta. Esto se ha
probado y usado de diversas formas:
CLUSTERS: Es un grupo de computadoras interconectadas que se comportan como una
sola sper-computadora, generalmente usadas para clculos de ingeniera de alto
desempeo o para simuladores de alta complejidad (clima, movimientos poblacionales
fsica de alto nivel, matemticas tericas).
GRIDS (matrices de cmputo) Es un tipo de sistema distribuido que permite compartir y
agregar de manera coordinada recursos heterogneos distribuidos y autnomos con base
en los requerimientos de Calidad en el Servicio (QoS) de los usuarios. Los Grids se usan
comnmente para soportar aplicaciones emergentes en las reas de e-Science y eBusiness; que son operadas por comunidades de personas distribuidas geogrficamente,
que se disponen para participar en actividades colaborativas, para resolver problemas a
gran escala y que requieren de compartir recursos como CPU, datos, aplicaciones o
instrumentos cientficos.

P2P: Estas redes peer to peer son Sistemas descentralizados y distribuidos, que permiten
aplicaciones como compartir archivos, mensajera instantnea, juegos multijugador en lnea,
y distribucin de contenido sobre redes pblicas, por ejemplo TV por Internet o Bit Torrent.
Sistemas de Almacenamiento Distribuido: Por ejemplo el NFS (Network File System)
permiten al usuario tener una visin nica de datos que estn almacenados en diferentes
Sistemas de Archivos y computadoras dispersas en la misma o en otras redes.
Las caractersticas principales de un Sistema Distribuido son:
Separacin Funcional. esto significa que las fronteras del software y del hardware para la
funcionalidad y servicios proporcionados, dependen de la capacidad y el propsito de cada
entidad del sistema.
Distribucin Inherente: Las entidades como la informacin, personas y sistemas estn
distribuidos de forma natural o implcita. Por ejemplo si diferente informacin es creada y
mantenida por personas diferentes. Esta informacin podra ser generada, almacenada,
analizada y usada por distintos sub-sistemas o aplicaciones que bien pudieran no estar al
tanto de la existencia de otras entidades en el sistema.
Confiabilidad. Es la preservacin a largo plazo y respaldo (espejeo) en diferentes lugares
estratgicamente localizados.
Escalabilidad. La posibilidad de agregar ms recursos para incrementar el desempeo
(performance) y la disponibilidad.
Economa. El compartir recursos entre muchas entidades ayuda a reducir el costo de
propiedad.
Como consecuencia de estas caractersticas, un sistema distribuido puede operar de
manera concurrente y posiblemente autnoma. Las tareas pueden ser ejecutadas
demanera independiente y las acciones son coordinadas en etapas bien definidas mediante
el intercambio de mensajes. Adicionalmente las entidades sern heterogneas y los fallos
son particulares. Generalmente no hay una entidad o proceso que tenga conocimiento del
estado general del sistema.

CONCEPTOS CLAVE EN SISTEMAS OPERATIVOS DISTRIBUIDOS


Hoy en da tenemos operando diversos tipos de Sistemas Distribuidos cada uno
encaminado a resolver distintos tipos de problemas. Los retos que enfrentamos al construir
un sistema distribuido varan segn sus especificaciones, sin embargo podemos rescatar en
comn la necesidad de manejar los siguientes escenarios:
Heterogeneidad: Las diferentes entidades en el Sistema deben ser capaces de interoperar
entre s, sin importar las diferencias en sus arquitecturas, Sistemas Operativos, Protocolos
de Comunicacin, Lenguajes de Programacin, interfaces de software, modelos de
seguridad y formatos de medios.
Tolerancia a Fallos y Manejo de errores: De tal suerte que un fallo en un componente no
debe provocar la "cada" del sistema, sino que deber ser aislado y evitarse medainte un reenrutamiento.
Escalabilidad: El sistema debera trabajar eficientemente al incrementarse el nmero de

usuarios simultneos y la agregacin de un nuevo recurso deber incrementar el


desempeo en general del sistema.
Concurrencia: Los recursos deben ser accesibles a varias entidades simultneamente en
ambiente compartido.
Apertura y Extensibilidad: Las interfaces deben estar limpiamente separadas y pblicamente
disponibles para permitir una fcil conectividad y extensin de los componentes actuales y
de otros nuevos.
Estrategia Migratoria y Balance de la carga de trabajo: stas permitirn el movimiento de
tareas dentro de un sistema sin afectar la operacin de usuarios y aplicaciones, y la
distribucin de la carga en todos los recursos disponibles para mejorar el desempeo.
Seguridad: el acceso a los recursos deber tener un mecanismo de seguridad para
asegurar que todos los usuarios tengan acceso a todas las formas de las operaciones.
Transparencia: El concepto de transparencia de un sistema distribuido va ligado a la idea de
que todo el sistema funcione de forma similar en todos los puntos de la red,
independientemente de la posicin del usuario. Queda como responsabilidad del sistema
operativo el establecer los mecanismos que oculten la naturaleza distribuida del sistema y
que permitan trabajar a los usuarios como si de un nico equipo se tratara.
Eficiencia: La idea base de los sistemas distribuidos es la de obtener sistemas mucho ms
rpidos que los super-computadores actuales. La propuesta es sencilla, 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 ejecutarlo en la granja de procesadores,
aquellos libres ms rpidos. Este es el mismo problema de la administracin del
Procesador, donde restamos complejidad por economa. La tarea de optimizar el reparto de
la carga en un conjunto de procesadores es bastante compleja, y depende de muchos
aspectos, como son los parmetros de sobrecarga, la homogeneidad de recursos, la
velocidad de los programas, las perturbaciones en redes pblicas, la localidad de los datos,
los detalles de ciertos dispositivos, la interaccin con usuarios etc.
Flexibilidad: Un proyecto en desarrollo como el diseo de un sistema operativo distribuido
debe estar abierto a cambios y actualizaciones para mejorarlo. Esta especificacin ha sido
abordada con arquitecturas de ncleo: el ncleo monoltico y el microncleo. Las diferencias
entre ambos son los servicios que ofrece. Mientras el ncleo monoltico ofrece todas las
funciones bsicas del sistema integradas, el microncleo incorpora solamente las
fundamentales, el control de los procesos y su comunicacin con la memoria. El resto de
servicios son compilables y se cargan dinmicamente a partir de servidores en el nivel de
usuario.
Ncleo monoltico: Como ejemplo de sistema operativo de ncleo monoltico est UNIX.
Estos sistemas tienen un ncleo grande y complejo, que engloba todos los servicios del
sistema. Est programado de forma no modular, y tiene un rendimiento mayor que un
microncleo. Sin embargo, cualquier cambio a realizar requiere detener todo el sistema y la
recompilacin del ncleo.

Microncleo: La arquitectura de microncleo ofrece la alternativa al ncleo monoltico. Se


basa en una programacin altamente modular, y tiene un tamao mucho menor que el
ncleo monoltico. Como consecuencia, el refinamiento y el control de errores son ms
rpidos y sencillos. Adems, la actualizacin de los servicios es ms sencilla y gil, ya que
slo es necesaria la recompilacin del servicio y no de todo el ncleo. Como
contraprestacin, el rendimiento se ve afectado negativamente. En la actualidad la mayora
de sistemas operativos distribuidos en desarrollo tienden a un diseo de microncleo.
Aunque es su defensa podemos decir que los ncleos tienden a contener menos errores y a
ser ms fciles de implementar y de corregir. As pues, con el microncleo el sistema pierde
ligeramente en rendimiento, pero a cambio consigue un gran aumento de la flexibilidad.
Robustez: Una de las ventajas claras que nos ofrece la idea de sistema distribuido es que el
funcionamiento de todo el sistema no recae en la responsabilidad de una sola unidad, sino
que cualquier equipo puede sustituir a otro en caso de que falle. La forma ms evidente de
lograr la Robustez y por lo tanto la Confiabilidad de todo el sistema est en la redundancia.
La informacin no debe estar almacenada en un solo servidor de archivos, sino en por lo
menos dos mquinas. 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 disponibles
mltiples respaldos parciales o totales en los otros equipos.
Comunicacin: La comunicacin entre procesos en sistemas centralizados se lleva a cabo
mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al
no haber conexin fsica entre las distintas memorias de los equipos, la comunicacin se
realiza mediante la transferencia de mensajes, lo cual implica gasto de ancho de banda por
el overhead y nos remite a los problemas de comunicacin en red.
Numerosas compaas de software e Instituciones de Investigacin han desarrollado
tecnologas de cmputo distribuido que implementan algunas o todas las caractersticas
descritas anteriormente, pero tal vez el reto ms grande del estudiante es vislumbrar y
abordar problemas que requieran de super-cmputo; ya que los mbitos comunes requieren
relativamente poca potencia de cmputo, y en todo caso son abordados bajo un enfoque
industrial; es en la investigacin en Ciencias, Astronoma, Biologa, Matemticas y
Simuladores donde podremos aplicar de manera ms relevante el concepto de
procesamiento distribuido porla necesidad de grandes volmenes de clculos, pero
tambin puede se requiere en ambientes donmde interactan numerosos usuarios como en
los negocios, la educacin, la estadstica pblica, los medios masivos, las redes sociales, la
medicina, la seguridad pblica etc.

Vous aimerez peut-être aussi