Anda di halaman 1dari 9

Qu es un Sistema Distribuido?

Un sistema distribuido es una coleccin de computadoras independientes; es decir autnomas, que aparecen ante los usuarios del sistema como una nica computadora. En esta definicin cabe destacar dos aspectos: Uno, el Hardware. La definicin de habla de mquinas autnomas, es decir, que pueden operar sin la supervisin de ninguna otra. Dos, el Software, que debe conseguir que los usuarios del sistema lo vean como una mquina central convencional nica. Un sistema operativo es un conjunto de sistemas y procedimientos que acta como intermediario entre el usuario y el hardware de un computador y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Existen muchos tipos de sistemas operativos, desde los bsicos como el POST (PowerOnSelf Test), Sistemas operativos de tiempo real, Sistemas Operativos de Redes, Mono-Usuarios, Multi-Usuarios entre otros. En el desarrollo de este trabajo estaremos desarrollando el concepto de Sistema Operativo Distribuido, su historia, sus funciones y aplicaciones y modo de trabajo.

Algunos ejemplos de Sistemas Distribuidos son:

Una red de estaciones de trabajo en un departamento de una universidad o compaa, donde adems de cada estacin personal, podra existir una pila de procesadores en el cuarto de mquinas, que no estn asignados a usuarios especficos sino que se utilicen de manera dinmica cuando sea necesario. Una fbrica de robots, donde los robots actan como dispositivos perifricos unidos a la misma computadora central.

Un banco con muchas sucursales por el mundo, cada oficina tiene una computadora maestra para guardar las cuentas locales y el manejo de las transacciones locales, la cual se puede comunicar con cualquier computadora de la red. Las transacciones hechas se realizan sin importar dnde se encuentre la cuenta o el cliente.

Objetivos Ventajas de los sistemas distribuidos con respecto de los centralizados.



Economa: es la razn nmero uno de la tendencia hacia los sistemas distribuidos ya que estos sistemas tienen en potencia una proporcin precio/desempeo mucho mejor que la de un sistema centralizado. Velocidad: un sistema distribuido puede tener mayor poder de cmputo que una mainframe. Distribucin inherente: otra razn para la construccin de un sistema distribuido es que ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas aplicaciones utilizan mquinas que estn separadas a cierta distancia. Confiabilidad: un sistema distribuido ofrece mayor confiabilidad: al distribuir la carga de trabajo en muchas mquinas, la falla de un circuito descompondr a lo ms una mquina y el resto seguir intacto. Crecimiento por incrementos: si se necesita aadir poder de cmputo a la compaa, con un sistema distribuido, podran aadirse slo ms procesadores al sistema, lo que permite un desarrollo gradual conforme surjan las necesidades.

Ventajas de los sistemas distribuidos con respecto de las PC independientes



Datos compartidos: Un sistema distribuido permite que varios usuarios tengan acceso a una base de datos comn. Dispositivos compartidos: De igual manera, se pueden compartir perifricos entre diversos usuarios como puede ser una impresora. Comunicacin: un sistema distribuido facilita la comunicacin entre computadoras aisladas con el e-mail, por ejemplo. Flexibilidad: Un sistema distribuido difunde la carga de trabajo entre las mquinas disponibles en la forma ms eficaz en cuanto a los costos.

Desventajas de los sistemas distribuidos



Software: No hay mucha experiencia en el diseo, implantacin y uso del software distribuido, adems existe poco software para los sistemas distribuidos en la actualidad. Redes: Una vez que el sistema llega a depender de la red, la prdida o saturacin de sta puede negar algunas de las ventajas que el sistema distribuido deba conseguir. Cuando la distribucin crece, el trfico en la red crece y puede llegar a saturarse, otro problema podra ser un corte en la red que deja al sistema completamente inutilizado debido a su total dependencia de ella. Seguridad: Si las personas pueden tener acceso a los datos en todo el sistema, entonces tambin pueden tener acceso a datos con los que no tienen nada que ver.

El Hardware de los Sistemas Distribuidos


Un Sistema Distribuido est formado por mquinas independientes conectadas entre s. No obstante, hay varias formas de conectar y organizar todas ellas. Con el paso de los aos, se han propuesto diversos esquemas de clasificacin para los sistemas de cmputo con varias CPU, pero ninguno de ellos ha tenido un xito completo ni se ha adoptado de manera amplia. La taxonoma ms citada es la presentada por Flynn (1972) que considera dos caractersticas esenciales: el NMERO DE FLUJO DE INSTRUCCIONES y el NMERO DE FLUJOS DE DATOS.(Fig 1.1) N Flujo de datos

>1

SIMD

MIMD

SISD

MISD

N Flujo de instrucciones 1 >1 Fig 1.1 Clasificacin de los Sistemas Distribuidos atendiendo a su hardware SISD (Single Instruction, Single Data): tiene un nico flujo de instrucciones y un nico flujo de datos. Es la arquitectura convencional Von Neumann que todos conocemos .

SIMD (Single Instruction, Multiple Data): Consta de una nica unidad de control con un nico flujo de instrucciones que gobierna un determinado nmero de unidades de proceso , todas ellas idnticas. Cada instruccin se enva simultneamente a todas las unidades de proceso, cada una con sus propios datos, que la ejecutan o no dependiendo de alguna condicin interna almacenada en la propia unidad de proceso (Fig 1.2). MISD (Multiple Instruction, Single Data): puede considerarse como una estructura pipe-line formada por varios procesadores en la que cada uno hace parte del trabajo sobre un flujo continuo de datos que circula entre ellos. No es una solucin muy utilizada.

MIMD (Multiple Instruction, Multiple Data): lo constituyen los multiprocesadores propiamente dichos. Su estructura viene reflejada en la Fig.1.3. Se basa en ms de un procesadores convencionales serie, cada uno de ellos con una nica unidad de proceso que soporta su flujo de datos y una nica unidad de control que soporta su flujo de instrucciones. Cada procesador en un sistema MIMD puede ejecutar su propia secuencia de instrucciones y tener sus propios datos: esta caracterstica es la ms general y poderosa de esta clasificacin. Se tienen procesadores, secuencias de instrucciones y secuencias de datos. Cada procesador opera bajo el control de una secuencia de instrucciones, ejecutada por su propia unidad de control, es decir cada procesador es capaz de ejecutar su propio programa con diferentes datos. Esto significa que los procesadores operan asincrnicamente, o en trminos simples, pueden estar haciendo diferentes cosas en diferentes datos al mismo tiempo. Las computadoras MIMD se clasifican en dos grupos: aquellas que tienen memoria compartida, que por lo general reciben el nombre de MULTIPROCESADORES y aquellas que no comparten la memoria, que a veces reciben el nombre de MULTICOMPUTADORAS. La diferencia esencial es que en un multiprocesador, existe un espacio de direcciones virtuales, compartido por todas las CPU. En contraste, en una multicomputadora, cada mquina tiene su propia memoria. En los Multiprocesadores se suele decir que las UCP estn Fuertemente Acopladas (FA) y en los Multicomputadores que estn Dbilmente Acoplados (DA).

En un sistema fuertemente acoplado (FA), el retraso que se experimenta al enviar un mensaje de una computadora a otra es corto y la tasa de transmisin de los datos, es decir, el nmero de bits por segundo que se puede transferir, es alta. En un sistema dbilmente acopladas (DA) ocurre lo contrario: el retraso de los mensajes entre las mquinas es grande y la tasa de transmisin de los datos es baja. Los sistemas fuertemente acoplados tienden a utilizarse como sistemas distribuidos aunque esto no siempre es cierto. Los computadores MIMD se pueden subdividir, con base en la arquitectura de la red de interconexin: con bus y con conmutador. En la primera queremos indicar que existe una red, plano de base, bus, cable u otro medio que conecta todas las mquinas. Los sistemas con conmutador no tienen slo una columna vertebral como en la televisin por cable, sino que tienen cables individuales de una mquina a otra y utilizan varios patrones diferentes de cableado.

1.3.1. Multiprocesadores con base en buses

Los multiprocesadores con base en buses constan de cierta cantidad de CPU, conectados a un bus comn, junto con un mdulo de memoria. Una configuracin 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 tpico tiene 32 o 64 lneas de direcciones, 32 o 64 lneas de datos y 32 o ms lneas de control, todo lo cual opera en paralelo. Para leer una palabra de memoria, un CPU coloca la direccin de la palabra deseada en las lneas de direcciones del bus y coloca una seal en las lneas de control adecuadas para indicar que desea leer. La memoria responde y coloca el valor de la palabra en las lneas de datos para permitir la lectura de sta por parte del CPU solicitante. La escritura funciona de manera similar. 1.3.2 Multiprocesadores con conmutador

Para construir un multiprocesador con ms de 64 procesadores, es necesario un mtodo distinto para conectar cada CPU con la memoria. Una posibilidad es dividir la memoria en mdulos y conectarlos a las CPU con un conmutador de cruceta, cada CPU y cada memoria tiene una conexin que sale de l. En cada interseccin est un delgado conmutador de punto de cruce electrnico 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 momentnea, 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 simultnea, uno de ellos deber esperar. Lo negativo de este esquema es el alto nmero de conmutadores: o Para n cpu y n memorias se necesitan n x n conmutadores (ver Figura 7.2 [25, Tanenbaum]).

Otros esquemas precisan menos conmutadores, por ej., la red omega (ver Figura 7.3 [25, Tanenbaum]):

1.3.3 Multicomputadoras con base en buses Por otro lado, la construccin de una multicomputadora es fcil. Es un esquema sin memoria compartida [25, Tanenbaum]. Cada CPU tiene conexin directa con su propia memoria local. El nico problema restante es la forma en que los CPU se comunicarn entre s. Es claro que aqu tambin se necesita cierto esquema de interconexin, pero como slo es para la comunicacin entre un CPU y otro, el volumen del trfico ser de varios rdenes menor en relacin con el uso de una red de interconexin para el trfico CPU-memoria. Consiste generalmente en una coleccin de estaciones de trabajo en una LAN (red de rea local) (ver Figura 7.5 [25, Tanenbaum]).

1.3.4 Multicomputadoras con conmutador Se han propuesto y construido varias redes de interconexin, pero todas tienen la propiedad de que cada CPU tiene acceso directo y exclusivo a su propia memoria particular. Hay dos topologas populares, una retcula y un hipercubo. Las retculas se basan en las tarjetas de circuitos impresos. Se adecuan mejor a los problemas con naturaleza bidimensional inherente, como la teora de grficas o la visin. Un hipercubo es un cubo n-dimensional. Se puede pensar como dos cubos ordinarios, cada uno de los cuales cuenta con 8 vrtices y 12 aristas. Cada vrtice es un CPU. Cada arista es una conexin entre dos CPU. Se conectan los vrtices correspondientes de cada uno de los cubos.

El Software de los Sistemas Distribuidos


Aunque el hardware es importante, el software lo es ms an. 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 dbilmente acoplados (DA) y los fuertemente acopla dos (FA).

El software dbilmente acoplado permite que las mquinas y los usuarios de un sistema distribuido sean independientes entre s en lo fundamental, pero que interacten en cierto grado cuando sea necesario. Ej.: Una red local de PCs (LAN). En el software fuertemente acoplado el programa de aplicacin y el sistema operativo necesario para soportarlo, estn muy acoplados. Ej.: Un sistema multiprocesador dedicado al juego de ajedrez. 1.4.1 Sistemas Operativos de red La configuracin ms comn de combinacin de hardware-software existente es la formada por un hardware dbilmente acoplado con un software dbilmente acoplado, ya que la mayora de empresas y organizaciones utilizan maquinas con sistemas operativos autnomos comunicados por red local, son los sistemas operativos de red. Los Sistemas Operativos de red permiten a los usuarios en estaciones de trabajo independientes la comunicacin por medio de un sistema compartido de archivos, pero dejan que cada usuario domine su propia estacin de trabajo. 1.4.2 Sistemas realmente Distribuidos Consisten en Software Fuertemente Acoplado sobre Hardware Dbilmente Acoplado. Los sistemas operativos distribuidos convierten toda la coleccin de hardware y software en un sistema integrado, muy parecido a un sistema tradicional de tiempo completo. El objetivo es ocultar al usuario el Hardware subyacente y percibir este como una nica mquina. Las multicomputadoras son un ejemplo de software fuertemente acoplado en hardware dbilmente acoplado:

Crean la ilusin de que toda la red de computadoras es un solo sistema de tiempo compartido, en vez de una coleccin de mquinas diversas.

1.4.3 Sistemas Multiprocesador de Tiempo Compartido Los multiprocesadores con memoria compartida tambin ofrecen la imagen de nico sistema, pero lo hacen mediante la va de centralizar todo. El objetivo es ocultar a las aplicaciones que ejecutan sobre ms de un procesador. Ej.: Sistemas Unix multiprocesador. Los multiprocesadores con memoria compartida no son sistemas distribuidos. Corresponden a software fuertemente acoplado en hardware fuertemente acoplado [25, Tanenbaum].

Aspectos clave en el diseo de Sistemas Distribuidos


Existen algunos aspectos que hay que considerar en la construccin de un sistema para que pueda ser entendido como realmente distribuido. Estos aspectos son la Transparencia, Flexibilidad, Fiabilidad, las Prestaciones y la Escalabilidad. A continuacin se analiza en forma breve algunos de los aspectos claves del diseo con los que deben trabajar las personas que piensan construir un sistema operativo distribuido:

Transparencia
Se dice que un Sistema Distribuido es transparente cuando se Disea el sistema de forma que todas las personas piensen que la coleccin de mquinas es tan slo un sistema de tiempo compartido, de un procesador, a la manera antigua. La transparencia total es difcil de lograr. Se puede lograr en dos niveles distintos. Lo ms fcil es ocultar la distribucin a los usuarios, aunque tambin es posible hacer que el sistema sea transparente para los programas. Los distintos tipos de transparencia en un sistema distribuido son:

Transparencia de localizacin: los nombres de los recursos no estn ligados a mquinas concretas. Transparencia de migracin: los recursos se pueden mover a voluntad sin cambiar sus nombres. Transparencia de rplica: los nombres de los ficheros son independientes de si estn o no estn replicados y en qu mquinas. Transparencia de concurrencia: un usuario no debe notar otros usuarios en el sistema, el acceso a un fichero debe ser independiente de que otros ficheros accedan al fichero simultneamente. Transparencia de paralelismo: la ms difcil de lograr, El compilador y el S.O. detectan el paralelismo intrnseco de la aplicacin. Asignan los procesadores a las actividades del programa sin el concurso del programador.

Flexibilidad
El diseo de un sistema distribuido debe hacerse con la idea de facilitar los cambios futuros. A este respecto, los microncleos son superiores a los ncleos monolticos.

Confiabilidad
Uno de los objetivos originales de la construccin de sistemas distribuidos fue el hacerlos ms confiables que los sistemas con un procesador. La idea es que si una mquina falla, alguna otra mquina se encargue del trabajo. En otras palabras, en teora, la confiabilidad global del sistema podra ser el Or Booleano de la confiabilidad de los componentes. Ejemplo: o o
o

Se dispone de 5 servidores de archivos, cada uno con una probabilidad de 0,95 de funcionar en un instante dado. 5 La probabilidad de falla simultnea de los 5 es (0,05) = 0,000006. La probabilidad de que al menos uno est disponible es 0,999994

Un aspecto importante dentro de la confiabilidad es la disponibilidad que se refiere a la fraccin de tiempo en que se puede utilizar el sistema.

Otro aspecto de la confiabilidad general es la seguridad. Los archivos y otros recursos deben ser protegidos contra el acceso no autorizado. Tambin otro aspecto de la confiabilidad es la tolerancia de fallas. Los sistemas distribuidos se deben disear de forma que escondan las fallas; es decir, ocultarlo a los usuarios.

Desempeo
Cuando se ejecuta una aplicacin en un sistema distribuido, no debe parecer peor que su ejecucin en un procesador. Se pueden utilizar diversas mtricas de desempeo. El tiempo de respuesta es una, pero tambin lo son el rendimiento, uso del sistema y cantidad consumida de la capacidad de la red. Adems es frecuente que el resultado de cualquier parmetro dependa de la naturaleza de ste. Algunas mtricas del desempeo son:

Tiempo de respuesta. Rendimiento (nmero de trabajos por hora).

Uso del sistema y cantidad consumida de la capacidad de la red.

Escalabilidad
La tendencia indica que el tamao de los sistemas distribuidos es hacia cientos de miles y aun decenas de millones de usuarios conectados [25, Tanenbaum]. Disear un sistema distribuido que pueda escalar hacia sistemas ms grandes en un futuro. Existen cuellos de botella potenciales que se debe intentar evitar en los sistemas distribuidos de gran escala:

Componentes centralizados: o Ej.: un solo servidor de correo para todos los usuarios. Tablas centralizadas: o Ej.: un nico directorio telefnico en lnea. Algoritmos centralizados: o Ej.: realizacin de un ruteo con base en la informacin completa.

Conclusin El futuro de los sistemas operativos Distribuidos est en la formacin de un nuevo kernel universal que soporte distribucin para que este pueda ser aplicado a todos los sistemas operativos sin importar su plataforma. O por lo menos que los sistemas puedan ser distribuidos entre las computadoras que corran este mismo sistema dentro de la misma red y unificado por un servidor de sistemas operativos distribuidos. El sistema operativo distribuido es usado a menudo como sub sistemas operativos utilizando sus ventajas, como por ejemplo el sistema de clster para almacenamiento. Creemos que si podemos encontrar sub soluciones a la distribucin que sean ventajosas, deberamos de incursionar el futuro de la informtica a la distribucin total.

Anda mungkin juga menyukai