Vous êtes sur la page 1sur 46

UNIDAD 1 Los sistemas operativos en ambientes distribuidos. UNIDAD 1 LOS SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS. 1.

1 Sistemas Distribuidos Definicin: Un sistema distribuido es una coleccin de computadoras independientes; es decir autnomas, que aparecen ante los usuarios del sistema como una nica computadora. Esta definicin tiene dos aspectos: Hardware: las maquinas son autnomas Software: los usuarios piensan que el sistema es como una nica computadora. Algunos ejemplos que se pueden mencionar acerca de los sistemas operativos 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 est asignado 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 cul se puede comunicar con cualquier computadora de la red. Las transacciones hechas se realizan sin importar dnde se encuentre la cuenta o el cliente.

1.1.1 Ventajas Desventajas contra Sistemas 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. 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.

1.1.2 Modelo Cliente Servidor El modelo cliente-servidor de un sistema distribuido es el modelo ms conocido y ms ampliamente adoptado en la actualidad. Hay un conjunto de procesos servidores, cada uno actuando como un gestor de recursos para una coleccin de recursos de un tipo, y una coleccin de procesos clientes, cada uno llevando a cabo. Una tarea que requiere acceso a algunos recursos hardware y software compartidos. Los gestores de recursos a su vez podran necesitar acceder a recursos compartidos manejados por otros procesos, as que algunos procesos son ambos clientes y servidores. En el modelo, cliente-servidor, todos los recursos compartidos son mantenidos y manejados por los procesos servidores. Los procesos clientes realizan peticiones a los servidores cuando necesitan acceder a algn recurso. Si

la peticin es valida, entonces el servidor lleva a cabo la accin requerida y enva una respuesta al proceso cliente. El termino proceso se usa aqu en el sentido clsico de los sistemas operativos. Un proceso es un programa en ejecucin. Consiste en un entorno de ejecucin con al menos un thread de control. El modelo cliente-servidor nos da un enfoque efectivo y de propsito general para la comparticin de informacin y de recursos en los sistemas distribuidos. El modelo puede ser implementado en una gran variedad de entornos software y hardware. Las computadoras que ejecuten los programas clientes y servidores pueden ser de muchos tipos y no existe la necesidad de distinguir entre ellas; los procesos cliente y servidor pueden incluso residir en la misma maquina. En esta visin simple del modelo cliente-servidor, cada proceso servidor podra ser visto como un proveedor centralizado de los recursos que maneja. La provisin de recursos centralizada no es deseable en los sistemas distribuidos. Es por esta razn Por lo que se hace una distincin entre los servicios proporcionados a los clientes y los servidores encargados de proveer dichos servicios. Se considera un servicio como una entidad abstracta que puede ser provista por varios procesos servidores ejecutndose en computadoras separadas y cooperando va red. El modelo cliente-servidor se ha extendido y utilizado en los sistemas actuales con servicios manejando muchos diferentes tipos de recursos compartidos - correo electrnico y mensajes de noticias, ficheros, sincronizacin de relojes, almacenamiento en disco, impresoras, comunicaciones de rea extensa, e incluso las interfaces grficas de usuario. Pero no es posible que todos los recursos que existen en un sistema distribuido sean manejados y compartidos de esta manera; algunos tipos de recursos deben permanecer locales a cada computadora de cara a una mayor eficiencia - RAM, procesador, interfaz de red local. Estos recursos clave son manejados separadamente por un sistema operativo en cada maquina; solo podran ser compartidos entre procesos localizados en el mismo ordenador. Aunque el modelo cliente-servidor no satisface todos los requisitos necesarios para todas las aplicaciones distribuidos, es adecuado para muchas de las aplicaciones actuales y provee una base efectiva para los sistemas operativos distribuidos de propsito general.

1.1.3 Caractersticas Hardware Sistemas Distribuidos Con el paso de los aos, se han propuesto diversos esquemas de clasificacin para los sistemas de cmputo con varios CPU, pero ninguno de ellos ha tenido un xito

completo ni se ha adoptado de manera amplia. A continuacin se muestra la taxonoma presentada por Flynn (1972) que considera dos caractersticas esenciales: El nmero de flujo de instrucciones Nmero de flujos de datos. SISD (Single Instruction, Single Data): Una computadora con un flujo de instrucciones y uno de datos. Todas las computadoras tradicionales de un procesador caen dentro de esta categora. SIMD (Single Instruction, Multiple Data): Un flujo de Instrucciones y varios flujos de datos. Este tipo se refiere a ordenar procesadores con unidad de instruccin que busca una instruccin y despus instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos. MISD (Multiple Instruction, Single Data): Un flujo de varias instrucciones y un flujo de datos. Ninguna computadora conocida se ajusta a este modelo. MIMD (Multiple Instruction, Multiple Data): Un grupo de computadoras independientes, cada una con su propio contador del programa y datos. Todos los sistemas distribuidos son MIMD. Las computadoras MIMD se clasifican en dos grupos aquellas que tienen memoria compartida, que por lo general se llaman multiprocesadores y aquellas que no, que a veces reciben el nombre de multicomputadoras. 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 mquina tiene su propia memoria. Cada una de estas categoras se puede 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, plana 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. Otra dimensin de la taxonoma es que, en ciertos sistemas, las mquinas estn fuertemente acopladas y en otras estn dbilmente acopladas. 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 transmisin de los datos, es decir, el nmero de bits por segundo que se puede transferir, es alta. En un sistema dbilmente acoplado 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. 1.1.4 Caractersticas Software Sistemas Distribuidos Aunque el hardware es importante, el software lo es ms. 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: 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.

Los fuertemente acoplados: En el software fuertemente acoplado el programa de aplicacin y el sistema operativo necesario para soportarlo, estn muy acoplados. 1.1.5 Direccionamiento Lgico- Fsico Sistemas Distribuidos Una direccin generada por la CPU se denomina direccin lgica en cambio a la que es percibida por unidad de memoria se denomina direccin fsica. Los esquemas de vinculacin de direcciones durante la compilacin y durante la carga dan pie a un entorno en el que las direcciones lgicas y fsicas son las mismas. En cambio, la ejecucin del esquema de vinculacin de direcciones durante la ejecucin produce un entorno en el que las direcciones lgicas y fsicas difieren. En este caso la direccin lgica suele llamarse direccin virtual. Direccionamiento lgico y fsico El proceso desde que los datos son incorporados al ordenados hasta que se transmiten al medio se llama encapsulacin. Estos datos son formateados, segmentados, identificados con el direccionamiento lgico y fsico para finalmente ser enviados al medio. A cada capa del modelo OSI le corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden de encapsulamiento: DATOS SEGMENTOS PAQUETES TRAMAS-BITS CAPA TRANSMITE APLICACIN DATOS PRESENTACIN SESIN TRANSPORTE SEGMENTOS RED PAQUETES ENLACE DE DATOS TRAMAS FSICA BITS Debido a que posiblemente la cantidad de los datos sean demasiados, la capa de transporte desde de origen, se encarga de segmentarlos para as ser empaquetados debidamente, esta misma capa en el destino se encargara de reensamblar los datos y colocarlos en forma secuencial, ya que no siempre llegan a su destino en el orden en que han sido segmentados, as mismo acorde al protocolo que se este utilizando habr correccin de errores. Estos segmentos son empaquetados (paquetes o datagramas) e identificados en la capa de red con la direccin lgica o IP correspondiente al origen y destino. Ocurre lo mismo con la direccin MAC en la capa de enlace de datos formndose las tramas o frames para ser transmitidos a travs de alguna interfaz. 1.2 Concepto Caractersticas Sor Son aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como

Novell Netware. Los Sistemas Operativos de red mas ampliamente usados son: Linux,Novell Netware, Personal Netware, LAN Manager, Windows NT Server UNIX. Una posibilidad es el software dbilmente acoplado en hardware dbilmente acoplado: Es una solucin muy utilizada. Ej.: una red de estaciones de trabajo conectadas mediante una LAN. Cada usuario tiene una estacin de trabajo para su uso exclusivo: Tiene su propio S. O. La mayora de los requerimientos se resuelven localmente. Es posible que un usuario se conecte de manera remota con otra estacin de trabajo: Mediante un comando de login remoto. Se convierte la propia estacin de trabajo del usuario en una terminal remota enlazada con la mquina remota. Los comandos se envan a la mquina remota. La salida de la mquina remota se exhibe en la pantalla local. Para alternar con otra mquina remota, primero hay que desconectarse de la primera: En cualquier instante solo se puede utilizar una mquina. Las redes tambin disponen de un comando de copiado remoto de archivos de una mquina a otra: Requiere que el usuario conozca: La posicin de todos los archivos. El sitio donde se ejecutan todos los comandos. Una mejor solucin consiste en un sistema de archivos global compartido, accesible desde todas las estaciones de trabajo: Una o varias mquinas soportan al sistema de archivos: Son los servidores de archivos. Los servidores de archivos: Aceptan solicitudes de los programas de usuarios: Los programas se ejecutan en las mquinas no servidoras, llamadas clientes. Las solicitudes se examinan, se ejecutan y la respuesta se enva de regreso. Generalmente tienen un sistema jerrquico de archivos. Las estaciones de trabajo pueden importar o montar estos sistemas de archivos: Se incrementan sus sistemas de archivos locales. Se pueden montar los servidores en lugares diferentes de sus respectivos sistemas de archivos: Las rutas de acceso a un determinado archivo pueden ser diferentes para las distintas estaciones. Los distintos clientes tienen un punto de vista distinto del sistema de archivos. El nombre de un archivo depende: Del lugar desde el cual se tiene acceso a l. De la configuracin del sistema de archivos. El S. O. de este tipo de ambiente debe: Controlar las estaciones de trabajo en lo individual. Controlar a los servidores de archivo. Encargarse de la comunicacin entre los servidores. Todas las mquinas pueden ejecutar el mismo S. O., pero esto no es necesario. Si los clientes y los servidores ejecutan diversos S. O., como mnimo deben coincidir en el formato y significado de todos los mensajes que podran intercambiar. Esquemas como este se denominan sistema operativo de red: Cada mquina tiene un alto grado de autonoma. Existen pocos requisitos a lo largo de todo el sistema. 1.3 Concepto Caractersticas del Sod 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 Disear 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 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 usuarios no pueden indicar la localizacin de los recursos. Transparencia de migracin: los recursos se pueden mover a voluntad sin cambiar sus nombres. Transparencia de rplica: los usuarios no pueden indicar el nmero de copias existentes. Transparencia de concurrencia: varios usuarios pueden compartir recursos de manera automtica. Transparencia de paralelismo: las actividades pueden ocurrir en paralelo sin el conocimiento de los usuarios. Flexibilidad El diseo de un sistema distribuido debe hacerse con la idea de facilitar los cambios futuros. A este respecto, los micros ncleos 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 OrBooleano de la confiabilidad de los componentes. 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 uso 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. Escalabilidad Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala ms pequea consiste en dos estaciones de trabajo y un servidor de ficheros, mientras que un sistema distribuido construido alrededor de una red de rea local simple podra contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresin y otros servidores de propsito especfico. A menudo se conectan varias redes de rea local para formar internetworks, y stas podran contener muchos miles de ordenadores que

forman un nico sistema distribuido, permitiendo que los recursos sean compartidos entre todos ellos. Tanto el software de sistema como el de aplicacin no deberan cambiar cuando la escala del sistema se incrementa. La necesidad de escalabilidad no es solo un problema de prestaciones de red o de hardware, sino que esta ntimamente ligada con todos los aspectos del diseo de los sistemas distribuidos. El diseo del sistema debe reconocer explcitamente la necesidad de escalabilidad o de lo contrario aparecern serias limitaciones. La demanda de escalabilidad en los sistemas distribuidos ha conducido a una filosofa de diseo en que cualquier recurso simple -hardware o software- puede extenderse para proporcionar servicio a tantos usuarios como se quiera. Esto es, si la demanda de un recurso crece, debera ser posible extender el sistema para darla servicio. Por ejemplo, la frecuencia con la que se accede a los ficheros crece cuando Se incrementa el nmero de usuarios y estaciones de trabajo en un sistema distribuido. Entonces, debe ser posible aadir ordenadores servidores para evitar el cuello de botella que se producira si un solo servidor de ficheros tuviera que manejar todas las peticiones de acceso a los ficheros. En este caso el sistema deber estar diseado de manera que permita trabajar con ficheros replicados en distintos servidores, con las consideraciones de consistencias que ello conlleva. Cuando el tamao y complejidad de las redes de ordenadores crece, es un objetivo primordial disear software de sistema distribuido que seguir siendo eficiente y til con esas nuevas configuraciones de la red. Resumiendo, el trabajo necesario para procesar una peticin simple para acceder a un recurso compartido debera ser prcticamente independiente del tamao de la red. Las tcnicas necesarias para conseguir estos objetivos incluyen el uso de datos replicados, la tcnica asociada de caching, y el uso de mltiples servidores para manejar ciertas tareas, aprovechando la concurrencia para permitir una mayor productividad. Estructuracin La estructuracin de un sistema Operativo define como estn organizadas sus partes y que comnmente especifican el funcionamiento del mismo. En Sistemas Distribuidos Utilizan normalmente los siguientes mtodos tradicionales de estructuracin de un Sistema Operativo. Ncleo Monoltico: Es el mtodo tradicional de estructurar Sistemas Operativos, esto se lleva a cabo a travs de un gran ncleo monoltico que contiene todas las funciones y servicios provistos por el Sistema Operativo. Existen casos entre los Sistemas Distribuidos donde el uso de un bloque monoltico grande no es de mucha utilidad para los servicios ofrecidos por el Sistema Operativo (Estaciones sin disco, estaciones con medios locales de almacenamiento, estaciones con procesadores matemticos especficos, etc.). Ncleo Colectivo: En esta estructura se tiene una coleccin de procesos que son ampliamente independientes unos de otros. Los servicios del Sistema Operativo (Administracin de memoria distribuida, sistemas de archivos distribuidos, sincronizacin distribuida, procesos RPC, administracin de tiempos, etc.) son implementados como procesos independientes. El ncleo del Sistema Operativo (Comnmente llamado Microkernel) soporta la interaccin entre los procesos que

proveen los servicios al Sistema Operativo, tambin provee los servicios tpicamente esenciales para cada computadora tal como la administracin de tareas. El microkernel se ejecuta en todas las computadoras del sistema, mientras que los otros procesos pueden o no correr segn se requiera. Sistema Orientado a Objetos: Estos sistemas son estructurados utilizando el concepto de objetos, donde cada uno de los servicios es implementado como un objeto del sistema y que en trminos de un ambiente de objeto, se le conoce como coleccin. Cada objeto encapsula una estructura de datos y define un conjunto de operaciones para ese objeto, de manera que cada uno de estos objetos corresponden a un tipo definido, por ejemplo: Objetos de procesos, directorios o archivos. Este modelo se puede cambiar con la estructura colectiva y las tcnicas de separacin de funciones y mecanismos.

Sistemas Distribuidos Definicin: "Sistemas cuyos componentes hardware y software, que estn en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor". Caractersticas:

Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red. Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realizacin de una tarea, no tienen una temporizacin general, esta ms bien distribuida a los componentes. Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los dems pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.

Evolucin: Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organizacin se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales. Los problemas de este modelo son:

Cuando la carga de procesamiento aumentaba se tena que cambiar el hardware del Mainframe, lo cual es ms costoso que aadir ms computadores personales clientes o servidores que aumenten las capacidades. El otro problema que surgi son las modernas interfases grficas de usuario, las cuales podan conllevar a un gran aumento de trfico en los medios de comunicacin y por consiguiente podan colapsar.

Grupo de Servidores.- Otro modelo que entr a competir con el anterior, tambin un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresin, poco inteligentes para un nmero de Minicomputadores que hacen el procesamiento conectados a una red de rea local. Los problemas de este modelo son:

Podra generarse una saturacin de los medios de comunicacin entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grades por varios clientes a la vez, podan disminuir en gran medida la velocidad de transmisin de informacin.

La Computacin Cliente Servidor.- Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualizacin de la Interfaz Grfica de Usuario. Esto hace que ciertos servidores estn dedicados solo a una aplicacin determinada y por lo tanto ejecutarla en forma eficiente. Cliente-Servidor Definicin: Sistema donde el cliente es una mquina que solicita un determinado servicio y se denomina servidor a la mquina que lo proporciona. Los servicios pueden ser:

Ejecucin de un determinado programa. Acceso a un determinado banco de informacin. Acceso a un dispositivo de hardware.

Es un elemento primordial, la presencia de un medio fsico de comunicacin entre las mquinas, y depender de la naturaleza de este medio la viabilidad del sistema. Categoras de Servidores: A continuacin se presenta una lista de los servidores ms comunes:

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 sera una gran opcin de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el servidor los ubica y se los enva. Servidores de Base de Datos.- Son los que almacenan gran cantidad de datos estructurados, se diferencian de los de archivos pues la informacin que se enva est ya resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y extrae solo la informacin pertinente y enva 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 electrnico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo enva al resto del grupo. Servidores WEB.- Son los que guardan y proporcionan Pginas HTML. El cliente desde un browser o link hace un llamado de la pgina y el servidor recibe el mensaje y enva la pgina correspondiente. Servidores de correo.- Gestiona el envo y recepcin de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo. 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 impresin.- Gestionan las solicitudes de impresin de los clientes. El cliente enva la solicitud de impresin, el servidor recibe la solicitud y la ubica en la cola de impresin, ordena a la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente que ya acabo su respectiva impresin. Servidores de aplicacin.- Se dedica a una nica aplicacin. Es bsicamente una aplicacin a la que pueden acceder los clientes.

Componentes de Software: Se distinguen tres componentes bsicos de software:

Presentacin.- Tiene que ver con la presentacin 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.

Lgica de aplicacin.- Esta capa es la responsable del procesamiento de la informacin que tiene lugar en la aplicacin. Base de datos.- Esta compuesta de los archivos que contienen los datos de la aplicacin.

Arquitecturas Cliente / Servidor A continuacin mostramos las arquitecturas cliente-servidor ms populares:

Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de presentacin y lgica de la aplicacin; y la otra de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones: Cuando se requiera poco procesamiento de datos en la organizacin. Cuando se tiene una base de datos centralizada en un solo servidor. Cuando la base de datos es relativamente esttica. Cuando se requiere un mantenimiento mnimo.

o o o o

CLIENTE/SERVIDOR DE DOS CAPAS

Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de la Presentacin, otra capa de la lgica de la aplicacin y otra capa de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones: Cuando se requiera mucho procesamiento de datos en la aplicacin. En aplicaciones donde la funcionalidad este en constante cambio. Cuando los procesos no estn relativamente muy relacionados con los datos. Cuando se requiera aislar la tecnologa de la base de datos para que sea fcil de cambiar. Cuando se requiera separar el cdigo del cliente para que se facilite el mantenimiento. Esta muy adecuada para utilizarla con la tecnologa orientada a objetos.

o o o o o o

CLIENTE/SERVIDOR DE TRES CAPAS Clasificacin de los sistemas cliente servidor: A continuacin mostramos la clasificacin de los sistemas cliente/servidor de acuerdo al nivel de abstraccin del servicio que ofrecen:

1.

2. Representacin distribuida.- La interaccin con el usuario se realiza en el servidor, el cliente hace de pasarela entre el usuario y el servidor.

3. Representacin Remota.-La lgica de la aplicacin y la base de datos se encuentran en el servidor. El cliente recibe y formatea los datos para interactuar con el usuario.

4. Lgica Distribuida.- El cliente se encarga de la interaccin con el usuario y de algunas funciones triviales de la aplicacin. Por ejemplo controles de rango de campos, campos obligatorios, etc. Mientras que el resto de la aplicacin, junto con la base de datos, estn en el servidor.

5. Gestin Remota de Datos.- El cliente realiza la interaccin con el usuario y ejecuta la aplicacin y el servidor es quien maneja los datos.

6. Base de Datos Distribuidas.- El cliente realiza la interaccin con el usuario, ejecuta la aplicacin, debe conocer la topologa de la red, as como la disposicin y ubicacin de los datos. Se delega parte de la gestin de la base de datos al cliente. 7. Cliente servidor a tres niveles.- El cliente se encarga de la interaccin con el usuario, el servidor de la lgica de aplicacin y la base de datos puede estar en otro servidor.

PROTOCOLO Definicin: Es un conjunto bien conocido de reglas y formatos que se utilizan para la comunicacin entre procesos que realizan una determinada tarea. Se requieren dos partes:

Especificacin de la secuencia de mensajes que se han de intercambiar. Especificacin del formato de los datos en los mensajes.

Un protocolo permite que componentes heterogneos de sistemas distribuidos puedan desarrollarse independientemente, y por medio de mdulos de software que componen el protocolo, haya una comunicacin 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:

IP: Protocolo de Internet.- Protocolo de la capa de Red, que permite definir la unidad bsica de transferencia de datos y se encarga del direccionamiento de la informacin, para que llegue a su destino en la red. TCP: Protocolo de Control de Transmisin.- Protocolo de la capa de Transporte, que permite dividir y ordenar la informacin a transportar en paquetes de menor tamao para su transporte y recepcin. HTTP: Protocolo de Transferencia de Hipertexto.- Protocolo de la capa de aplicacin, que permite el servicio de transferencia de pginas de hipertexto entre el cliente WEB y los servidores. SMTP: Protocolo de Transferencia de Correo Simple.- Protocolo de la capa de aplicacin, que permite el envo de correo electrnico por la red. POP3: Protocolo de Oficina de Correo.- Protocolo de la capa de aplicacin, que permite la gestin de correos en Internet, es decir, le permite a una estacin de trabajo recuperar los correos que estn almacenados en el servidor.

MIDDLEWARE Definicin: Capa de software intermedio entre el cliente y el servidor. Es la capa de software que nos permiten gestionar los mecanismos de comunicaciones. Ejemplo si se hace la peticin de una pgina web desde un browser en el cliente, el middleware determina la ubicacin y enva una peticin para dicha pgina. El servidor Web, interpreta la peticin y enva la pgina al software intermedio, quien la dirige al navegador de la mquina cliente que la solicit. Existen dos tipos:

Software intermedio general. Servicios generales que requieren todos los clientes y servidores, por ejemplo: software para las comunicaciones usando el TCP/IP, software parte del sistema operativo que, por ejemplo, almacena los archivos distribuidos, software de autenticacin, el software intermedio de mensajes de clientes a servidores y viceversa. Software intermedio de servicios. Software asociado a un servicio en particular, por ejemplo: software que permite a dos BD conectarse a una red cliente/servidor (ODBC: Conectividad abierta de BD), software de objetos distribuidos, por ejemplo la tecnologa CORBA permite que objetos distribuidos creados en distintos lenguajes coexistan en una misma red (intercambien mensajes), software intermedio para software de grupo, software intermedio asociado a productos de seguridad especficas (Conexiones Seguras: Sockets), etc.

Caractersticas:

Independiza el servicio de su implantacin, del sistema operativo y de los protocolos de comunicaciones. Permite la convivencia de distintos servicios en un mismo sistema. Permite la transparencia en el sistema. Modelo tradicional: Monitor de teleproceso o CICS, Tuxedo, Encina. Modelo OO: CORBA.

OBJETOS DISTRIBUIDOS Definicin: En los sistemas Cliente/Servidor, un objeto distribuido es aquel que esta gestionado por un servidor y sus clientes invocan sus mtodos utilizando un "mtodo de invocacin remota". El cliente invoca el mtodo mediante un mensaje al servidor que gestiona el objeto, se ejecuta el mtodo del objeto en el servidor y el resultado se devuelve al cliente en otro mensaje. Tecnologas orientadas a los objetos distribuidos: Las tres tecnologas importantes y ms usadas en este mbito son: 1. RMI.- Remote Invocation Method.- Fue el primer fremework para crear sistemas distribuidos de Java. El sistema de Invocacin Remota de Mtodos (RMI) de Java permite, a un objeto que se est ejecutando en una Mquina

Virtual Java (VM), llamar a mtodos de otro objeto que est en otra VM diferente. Esta tecnologa est asociada al lenguaje de programacinJava, es decir, que permite la comunicacin entre objetos creados en este lenguaje. 2. DCOM.- Distributed Component Object Model.- El Modelo de Objeto Componente Distribuido, 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 tecnologa esta asociada a la plataforma de productos Microsoft. 3. CORBA.- Common Object Request Broker Architecture.- Tecnologa introducida por el Grupo de Administracin de Objetos OMG, creada para establecer una plataforma para la gestin de objetos remotos independiente del lenguaje de programacin. BASE DE DATOS DISTRIBUIDA Definicin: Es una coleccin de datos (base de datos) construida sobre una red y que pertenecen, lgicamente, a un solo sistema distribuido, la cual cumple las siguientes condiciones:

La informacin de la base de datos esta almacenada fsicamente en diferentes sitios de la red. En cada sitio de la red, la parte de la informacin, se constituye como una base de datos en s misma. Las bases de datos locales tienen sus propios usuarios locales, sus propios DBMS y programas para la administracin de transacciones, y su propio administrador local de comunicacin de datos. Estas base de datos locales deben de tener una extensin, que gestione las funciones de sociedad necesarias; la combinacin de estos componentes con los sistemas de administracin de base de datos locales, es lo que se conoce como Sistema Administrador de Base de Datos Distribuidas. Este gestor global permite que usuarios puedan acceder a los datos desde cualquier punto de la red, como si lo hicieran con los datos de su base de datos local, es decir, para el usuario, no debe existir diferencia en trabajar con datos locales o datos de otros sitios de la red.

En consecuencia, la base de datos distribuida, es como una unidad virtual, cuyas partes se almacenan fsicamente en varias bases de datos "reales" distintas, ubicadas en diferentes sitios. Ejemplo de base de datos distribuida: Considere un banco que tiene tres sucursales, en cada sucursal, un ordenador controla las terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local en cada sucursal constituye un "sitio" de la BDD; las computadoras estn conectadas por la red. Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan

slo acceder la base de datos de la misma. Como slo acceden a la misma red local, se les llaman aplicaciones locales. Desde el punto de vista tecnolgico, aparentemente lo importante es la existencia de algunas transacciones que acceden a informacin en ms de una sucursal. Estas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales ser considerada como una caracterstica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales. Una tpica transaccin global sera una transferencia de fondos de una sucursal a otra. Esta aplicacin requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualizacin en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones globales es una tarea difcil. Ventajas de las Base de Datos Distribuidas

Descentralizacin.- En un sistema centralizado/distribuido, existe un administrador que controla toda la base de datos, por el contrario en un sistema distribuido existe un administrador global que lleva una poltica general y delega algunas funciones a administradores de cada localidad para que establezcan polticas locales y as un trabajo eficiente. Economa: Existen dos aspectos a tener en cuenta.

El primero son los costes de comunicacin; si las bases de datos estn muy dispersas y las aplicaciones hacen amplio uso de los datos puede resultar ms econmico dividir la aplicacin y realizarla localmente. o El segundo aspecto es que cuesta menos crear un sistema de pequeos ordenadores con la misma potencia que un nico ordenador. Mejora de rendimiento: Pues los datos sern almacenados y usados donde son generados, lo cual permitir distribuir la complejidad del sistema en los diferentes sitios de la red, optimizando la labor. Mejora de fiabilidad y disponibilidad: La falla de uno o varios lugares o el de un enlace de comunicacin no implica la inoperatividad total del sistema, incluso si tenemos datos duplicados puede que exista una disponibilidad total de los servicios. Crecimiento: Es ms fcil acomodar el incremento del tamao en un sistema distribuido, por que la expansin se lleva a cabo aadiendo poder de procesamiento y almacenamiento en la red, al aadir un nuevo nodo. Flexibilidad: Permite acceso local y remoto de forma transparente. Disponibilidad: Pueden estar los datos duplicados con lo que varias personas pueden acceder simultneamente de forma eficiente. El inconveniente, el sistema administrador de base de datos debe preocuparse de la consistencia de los mismos. Control de Concurrencia: El sistema administrador de base de datos local se encarga de manejar la concurrencia de manera eficiente.
o

Inconvenientes de las base de datos distribuidas.

El rendimiento que es una ventaja podra verse contradicho, por la naturaleza de la carga de trabajo, pues un nodo puede verse abrumado, por las estrategias utilizadas de concurrencia y de fallos, y el acceso local a los datos. Se puede dar esta situacin cuando la carga de trabajo requiere un gran nmero de actualizaciones concurrentes sobre datos duplicados y que deben estar distribuidos. La confiabilidad de los sistemas distribuidos, esta entre dicha, puesto que, en este tipo de base de datos existen muchos factores a tomar en cuanta como: La confiabilidad de los ordenadores, de la red, del sistema de gestin de base de datos distribuida, de las transacciones y de las tazas de error de la carga de trabajo. La mayor complejidad, juega en contra de este tipo de sistemas, pues muchas veces se traduce en altos gastos de construccin y mantenimiento. Esto se da por la gran cantidad de componentes Hardware, muchas cosas que aprender, y muchas aplicaciones susceptibles de fallar. Por ejemplo, el control de concurrencia y recuperacin de fallos, requiere de personal muy especializado y por tal costoso. El procesamiento de base de datos distribuida es difcil de controlar, pues estos procesos muchas veces se llevan a cabo en las reas de trabajo de los usuarios, e incluso el acceso fsico no es controlado, lo que genera una falta de seguridad de los datos.

Desarrollo WEB Caso particular de los sistemas Cliente-Servidor con representacin remota. En donde se dispone de un protocolo estndar: HTTP y un Middleware denominado WebServer. En la actualidad la aplicacin de sistemas informticos basados en Internet, es una herramienta fundamental para las organizaciones que desean tener cierta presencia competitiva. Tecnologas de la lgica de la aplicacin en el servidor web: a. CGI: Common Gateware Interface..- Son programas que se ejecutan en el servidor, pueden servir como pasarela con una aplicacin o base de datos o para generar documentos html de forma automtica. Cada peticin http ejecuta un proceso, el cual analiza la solicitud y genera un resultado. Son independientes del SO, y presentan la ventaja de que, dado un programa escrito en un lenguaje cualquiera, es fcil adaptarlo a un CGI. Entre los lenguajes que se usan para CGIs, el ms popular es el Perl. b. Servlets: Pequeos programas en Java que se ejecutan de forma persistente en el servidor, y que, por lo tanto, tienen una activacin muy rpida, y una forma ms simple de hacerlo. Estos programas procesan una peticin y generan la pgina de respuesta. Al ser llamado por el navegador, el motor ASP del IIS (Internet Information Server) se encarga automticamente de ejecutarlo como se suele hacer con un programa cualquiera, pero cuya salida siempre ser a travs del navegador que le invoca. Es un entorno propietario de Microsoft y el

lenguaje de secuencia de comandos predeterminado del IIS es el VBScript, aunque puede cambiarse. c. ASP (Active Server Pages): Una pgina ASP es un fichero de slo texto que contiene las secuencias de comandos, junto con el HTML necesario, y que se guarda con la extensin ".asp". d. JSP (Java Server Pages), que consisten en pequeos trozos de cdigo en Java que se insertan dentro de pginas web, de forma anloga a los ASPs. Ambas opciones, hoy en da, son muy populares en sitios de comercio electrnico. Frente a los ASPs, la ventaja que presentan es que son independientes del sistema operativo y del procesador de la mquina. Consideraciones a tomar en el desarrollo de un sistema WEB e. PHP es un lenguaje cuyos programas se insertan tambin dentro de las pginas web, al igual que los ASPs y JSPs; es mucho ms simple de usar, y el acceso a bases de datos desde l es muy simple. Es tremendamente popular en sitios de comercio electrnico con poco trfico, por su facilidad de desarrollo y rapidez de implantacin. a. Separar la lgica de la aplicacin de la interfase de usuario. b. Utilizar mtodos estndar de comunicacin entre la lgica de aplicacin y la interfase de usuario. c. Herramientas que permitan una fcil adaptacin de las aplicaciones a los nuevos dispositivos que irn apareciendo. d. Definir el coste en comunicaciones que debe asumir la organizacin. e. Tener en cuenta los procesos de rplica, periodicidad y el ancho de banda que consuman. f. Replantear la idoneidad de la ubicacin de cada proceso. g. Extremar las pruebas al disear e implementar los protocolos de comunicacin. Tendencias Actuales de las arquitecturas de sistemas WEB:

Variante de los fabricantes de Base de Datos

Variante de los fabricantes de pasarelas:

TECNOLOGAS INALMBRICAS Las tecnologas inalmbricas, en los ltimos aos, estn alcanzando la madurez necesaria para permitir el acceso a una red, sin la necesidad de la utilizacin de los cables tradicionales de conexin. A continuacin mostramos un conjunto de tecnologas que contribuyen al desarrollo de las conexiones inalmbricas: GSM (Global System for Mobile communications): El sistema global para comunicaciones mviles, es un estndar para comunicacin utilizando telfonos mviles que incorpora tecnologa digital. Permite utilizar el sistema SMS (servicio de mensajes cortos), para enviar y recibir mensajes de texto. Es la evolucin tecnolgica de los telfonos mviles anlogos. GPRS (General Packet Radio Service): Es un sistema de transmisin que funciona en el entorno de la telefona mvil. En este sistema cada llamada de voz o cada conexin de datos, ocupa de manera exclusiva un canal mientras dure esa llamada o conexin, por tanto, un usuario

puede hacer uso de varios canales y un mismo canal puede ser compartido por varios usuarios. Esta basado en la conmutacin de paquetes y permite la transmisin de datos a alta velocidad para el acceso a Internet. UMTS (Universal Mobile Telecommunications System): El Sistema Universal de Telecomunicaciones Mviles, permitir disponer de banda ancha en telefona mvil y transmitir un volumen de datos importante por la red. Con esta tecnologa de tercera generacin sern posible las videoconferencias, descargar videos, el intercambio de postales electrnicas, paseos 'virtuales' por casas en venta, etc... todo desde el mvil. WAP (Wireless Application Protocol) El Protocolo de Aplicaciones Inalmbricas (WAP) es un servicio de mensajes digital inteligente para telfonos celulares y otras terminales mviles que te permitirn visualizar contenidos de Internet en un formato de texto especial en un telfono celular con tecnologa GSM. WAP se ha convertido en el estndar global para proveer informacin a las terminales inalmbricas. WAP utiliza un microbrowser con un nuevo estndar llamado WML (similar al HTML) optimizado para terminales mviles inalmbricas. WAP esconde la complejidad del GSM en las aplicaciones, as como la Web lo ha hecho para Internet. Expande una variedad de opciones de transporte y dispositivos, incluyendo SMS, 9.6 kbit/s GSM data y GPRS. Bluetooth Es la norma que define un estndar global de comunicacin inalmbrica a cortas distancias, que posibilita la transmisin de voz y datos entre diferentes equipos mediante un enlace por radiofrecuencia. Los principales objetivos que se pretende conseguir con esta norma son:

Facilitar las comunicaciones entre equipos mviles y fijos. Eliminar cables y conectores entre stos. Ofrecer la posibilidad de crear pequeas redes inalmbricas y facilitar la sincronizacin de datos entre nuestros equipos personales.

La tecnologa Bluetooth comprende hardware, software y requerimientos de interoperatividad. WIFI (Wireless Fidelity): Es la tecnologa utilizada en una red o conexin inalmbrica, para la comunicacin de datos entre equipos situados dentro de una misma rea (interior o exterior) de cobertura. Conceptualmente, no existe ninguna diferencia entre una red con cables (cable coaxial, fibra ptica, etc.) y una inalmbrica. La diferencia est en que las redes inalmbricas transmiten y reciben datos a travs de ondas electromagnticas, lo

que supone la eliminacin del uso de cables y, por tanto, una total flexibilidad en las comunicaciones. WIMAX (Worldwide Interoperability for Microwave Access): Es el nombre con el que se conoce la norma 802.16a, un estndar inalmbrico aprobado en enero del 2003 en el WiMax Forum, formado por un grupo de 67 compaas, que ofrece un mayor ancho de banda y alcance que la familia de estndares WiFi, compuesta por el 802.11a, 802.11b y 802.11g. Como decimos, la diferencia entre estas dos tecnologas inalmbricas son su alcance y ancho de banda. Mientras que WiFi est pensado para oficinas o dar cobertura a zonas relativamente pequeas, WiMax ofrece tasas de transferencia de 70mbps a distancias de hasta 50 kilmetros de una estacin base. Por comparacin, la tasa de transferencia de WiFi es de 11mbps y la distancia de hasta 350 metros en zonas abiertas. VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS Con respecto a Sistemas Centralizados:

Una de las ventajas de los sistemas distribuidos es la economa, pues es mucho ms barato, aadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento. El trabajo en conjunto. Por ejemplo: en una fbrica de ensamblado, los robots tienen sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido. Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas mquinas la falla de una de ellas no afecta a las dems, el sistema sobrevive como un todo. Capacidad de crecimiento incremental. Se puede aadir procesadores al sistema incrementando su potencia en forma gradual segn sus necesidades.

Con respecto a PCs Independientes:

Se pueden compartir recursos, como programas y perifricos, muy costosos. Ejemplo: Impresora Lser, dispositivos de almacenamiento masivo, etc. 1. Al compartir recursos, satisfacen las necesidades de muchos usuarios a la vez. Ejemplo: Sistemas de reservas de aerolneas.

Se logra una mejor comunicacin entre las personas. Ejemplo: el correo electrnico. Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores.

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


El principal problema es el software, es el diseo, implantacin y uso del software distribuido, pues presenta numerosos inconvenientes. Los principales interrogantes son los siguientes:

o o o

Qu tipo de S. O., lenguaje de programacin y aplicaciones son adecuados para estos sistemas?. Cunto deben saber los usuarios de la distribucin?. Qu tanto debe hacer el sistema y qu tanto deben hacer los usuarios?.

La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.

Otro problema tiene que ver con las redes de comunicacin. Por ejemplo: Perdida de mensajes, saturacin en el trfico, etc. Un problema que puede surgir al compartir datos es la seguridad de los mismos.

En general se considera que las ventajas superan a las desventajas, si estas ltimas se administran seriamente. DESAFOS

Heterogeneidad de los componentes.- La interconexin, sobre todo cuando se usa Internet, se da sobre una gran variedad de elementos hardware y software, por lo cual necesitan de ciertos estndares que permitan esta comunicacin. Los Middleware, son elementos software que permiten una abstraccin de la programacin y el enmascaramiento de la heterogeneidad subyacente sobre las redes. Tambin el middleware proporciona un modelo computacional uniforme. Extensibilidad.- Determina si el sistema puede extenderse y reimplementado en diversos aspectos (aadir y quitar componentes). La integracin de componentes escritos por diferentes programadores es un autentico reto. Seguridad.- Reviste gran importancia por el valor intrnseco para los usuarios. Tiene tres componentes: Confidencialidad.- Proteccin contra individuos no autorizados. Integridad.- Proteccin contra la alteracin o corrupcin. Disponibilidad.- Proteccin contra la interferencia con los procedimientos de acceso a los recursos. Escalabilidad.- El sistema es escalable si conserva su efectividad al ocurrir un incremento considerable en el nmero de recursos y en el nmero de usuarios. Tratamiento de Fallos.- La posibilidad que tiene el sistema para seguir funcionando ante fallos de algn componente en forma independiente, pero para esto se tiene que tener alguna alternativa de solucin. Tcnicas para tratar fallos: Deteccin de fallos. Algunos fallos son detectables, con comprobaciones por ejemplo.

o o o

Enmascaramiento de fallos. Algunos fallos detectados pueden ocultarse o atenuarse. o Tolerancia de fallos. Sobre todo en Internet se dan muchos fallos y no es muy conveniente ocultarlos, es mejor tolerarlos y continuar. Ej: Tiempo de vida de una bsqueda. o Recuperacin frente a fallos. Tras un fallo se deber tener la capacidad de volver a un estado anterior. o Redundancia. Se puede usar para tolerar ciertos fallos (DNS, BD, etc.) Concurrencia. Compartir recursos por parte de los clientes a la vez. Transparencia. Es la ocultacin al usuario y al programador de aplicaciones de la separacin de los componentes en un sistema distribuido. Se identifican 8 formas de transparencia:
o o o o o o o o o

De Acceso. Se accede a recursos locales y remotos de forma idntica. De ubicacin. Permite acceder a los recursos sin conocer su ubicacin. De concurrencia. Usar un recurso compartido sin interferencia. De replicacin. Permite utilizar varios ejemplares de cada recurso. Frente a fallos. Permite ocultar los fallos. De movilidad. Permite la reubicacin de recursos y clientes sin afectar al sistema. De prestaciones. Permite reconfigurar el sistema para mejorar las prestaciones segn su carga. Al escalado. Permite al sistema y a las aplicaciones expandirse en tamao sin cambiar la estructura del sistema o los algoritmos de aplicacin.

APLICACIONES

Sistemas Comerciales.- Inicialmente fueron construidos con hardware dedicado y entornos centralizados, son, por sus caractersticas de distribucin geogrfica y necesidad de acceso a sistemas distintos, ideales para implementarse en sistemas distribuidos. Requieren ciertas caractersticas de fiabilidad, seguridad y proteccin. Algunos ejemplos son: Sistemas de reservas de lneas areas. Aplicaciones bancarias. Cajas y gestin de grandes almacenes. Redes WAN.- Debido al gran crecimiento de este tipo de redes (Internet), ha tomado gran importancia el intercambio de informacin a travs de la red. Y para esto tenemos los siguientes ejemplos: Los servicios comunes que brinda Internet: Correo electrnico, servicio de noticias, transferencia de archivos, la Wrld Wide Web, etc. Aplicaciones Multimedia.- Son las ltimas incorporaciones a los sistemas distribuidos. Estas aplicaciones imponen ciertas necesidades de hardware para

o o o

poder tener una velocidad y regularidad de transferencia de una gran cantidad de datos. Los ejemplos de estos sistemas son:
o o o o

Videoconferencia. Televigilancia. Juegos multiusuarios. Enseanza asistida por ordenador. reas de la informtica aplicada a los Sistemas Distribuidos.- En este punto se tienen en cuenta toda la variedad de aplicaciones de los sistemas distribuidos, pues su diseo involucra a muchas reas, por ejemplo: Comunicaciones. Sistemas operativos distribuidos. Base de datos distribuidas. Servidores distribuidos de ficheros. Lenguajes de programacin distribuidos. Sistemas de tolerancia de fallos.

o o o o o o

CONCLUSIONES

Los sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo cual su desarrollo implica mucha complejidad. Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e implantarse como el manejo de fallos, el control de la concurrencia, etc. Existen muchos temas de investigacin relacionados con los sistemas distribuidos, por ejemplo los planteados en el apartado de Desafos. Se nota tambin que muchas tecnologas estn en constante desarrollo y maduracin, lo cual implica un minucioso estudio previo de muchos factores antes de apostar por alguna tecnologa en especial.

REFERENCIAS Roger S. Presuman. Ingeniera de Interamericana. Madrid. 2002. Software. Quinta Edicin. McGraw-Hill

George Coulouris. Sistemas Distribuidos. Tercera Edicin. Addison Wesley. Madrid. 2001. Gua Rpida de Internet, David Zurdo Saiz, Alejandro Sicilia Burgoa, Fernando Acevedo Quero, Paraninfo. Madrid. 1997. http://fmc.axarnet.es/redes/tema_04.htm (Sistemas Operativos). http://www.fortunecity.es/sopa/chinchulines/812/informacion/noscs.htm (Sistemas Operativos). http://dmi.uib.es/~bbuades/sistdistr/sld007.htm (Sistemas Distribuidos). http://members.fortunecity.es/lrmdl/SO7.htm#VSDRC (Sistemas Distribuidos).

http://sacbeob.8m.com/tutoriales/bddistribuidas/ (Base de Datos Distribuidas). http://pdf.rincondelvago.com/bases-de-datos-distribuidas.html (Base Distribuidas) de Datos

http://www-lt.ls.fi.upm.es/sistemas_dist/Introduccion.pdf (Sistemas Distribuidos). http://www.dia.eui.upm.es/cgi-bin/asigfram.pl?cual=sis_dis&nombre=SistemasDistribu%EDdos (Sistemas Distribuidos: Aplicaciones). http://www.fisica.uson.mx/carlos/WebServices/WSOverview.htm (Objetos Distribuidos). http://di002.edv.uniovi.es/~lourdes/publicaciones/bt99.pdf (Objetos Distribuidos). http://www.iespana.es/darkstar/secciones/informatica/redes/tcpip/capas.html (P rotocolos).

Sistema operativo distribuido

Un sistema operativo distribuido es la unin lgica de un grupo de sistemas operativos sobre una coleccin de nodos computacionales independientes, conectados en red, comunicndose y fsicamente separados. [1] Cada nodo contiene de forma individual un subconjunto especfico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinacin de dos proveedores de servicios distintos. [2] El primero es un ncleo ubicuo mnimo o micro ncleo, que controla el hardware del nodo. El segundo es una coleccin de componente de administracin del sistema de alto nivel que coordinan las actividades individuales y colaborativas del nodo. Estos componentes son una abstraccin de las funciones del micro ncleo y dan soporte a las aplicaciones de usuario. [3] El micro ncleo y las componentes de administracin trabajan en conjunto. Ambos dan soporte al objetivo del sistema el cual es integrar mltiples recursos y capacidad de procesamiento en un sistema eficiente y estable. [4] Esta integracin sin fisuras de nodos individuales en un sistema global es conocido como transparencia, o sistema de imagen nica; haciendo referencias a la ilusin que se le brinda a los usuarios de que el sistema global luce como una entidad Descripcin[editar] Un sistema operativo distribuido provee las funcionalidades esenciales requeridas por un sistema distribuido, agregando atributos y configuraciones para dar

soporte a los requerimientos adicionales, tales como aumento de escala y disponibilidad. Desde el punto de vista del usuario el SO funciona de forma similar a un Sistema Operativo monoltico de un solo nodo. O sea que, aunque est compuesto por mltiples nodos, para los usuarios y aplicaciones luce como un solo nodo. Separando las funcionalidades mnimas a nivel de sistema de los servicios modulares adicionales a nivel de usuario provee una separacin de mecanismos y polticas. Mecanismos y polticas pueden ser interpretados de la siguiente manera cmo algo se hace contra por qu algo se hace respectivamente. Esta separacin incrementa la escalabilidad y la flexibilidad. Descripcin General[editar] El ncleo[editar] En cada unidad (tpicamente un nodo), el ncleo provee un conjunto mnimo pero completo de utilidades necesarias para operar con los recurso y hardware subyacentes del nodo. Estos mecanismos incluyen la asignacin, manejo y disposicin de los recursos de un nodo, los procesos, la comunicacin y las funciones de administracin la entrada/salida.[5] Dentro del ncleo el subsistema de comunicacin es de suma importancia para el sistema distribuido.[3] En un sistema distribuido el ncleo comnmente soporta un conjunto mnimo de funciones que incluyen administracin de direcciones de bajo nivel, administracin de hilos y comunicacin entre procesos. Un ncleo con este diseo se conoce como micro-ncleo. [6][7] Su naturaleza modular mejora la seguridad y la fiabilidad, caractersticas fundamentales para un sistema distribuido. [8] Es comn que todos los nodos en un sistema tengan rplicas de un mismo ncleo y por tanto que todos los nodos usen hardware similar. [9] La combinacin de diseo minimalista y cobertura ubicua de los nodos mejora la extensibilidad del sistema global as como su habilidad de agregar nuevos nodos o servicios de manera dinmica. [10] Componentes de administracin del sistema[editar] Las componentes de administracin del sistema son procesos de software que definen las polticas del nodo. Estas componentes son la parte del SO fuera del ncleo. Proveen comunicacin de alto nivel, administracin de procesos y recursos, confiabilidad, rendimiento y seguridad. Estas componentes tienen las

mismas funcionalidades de un sistema formado por una sola entidad, adicionando la transparencia requerida en un sistema operativo distribuido. [3] La naturaleza distribuida del sistema distribuido requiere servicios adicionales para soportar las responsabilidades del nodo en el sistema global. Adems las componentes de administracin del sistema aceptan las responsabilidades defensivas de confiabilidad, disponibilidad y persistencia. Estas responsabilidades pueden entrar en conflicto una con otra. La separacin de polticas y mecanismos pueden mitigar dichos conflictos. [10] Trabajando juntos como un sistema operativo[editar] La arquitectura y diseo de un sistema operativo distribuido deben comprender tanto las metas del nodo individual, como las del sistema. El diseo y la arquitectura deben ser concebidos de forma que se mantengan separados las polticas y los mecanismos. De este modo, un sistema operativo distribuido intenta proporcionar un marco de computacin distribuida eficiente y fiable que permita a los usuarios tener en cuenta lo menos posible los esfuerzos necesarios subyacentes para logarlo. [8] La colaboracin multi-nivel entre el ncleo y las componentes del sistema de gestin, y a su vez entre los distintos nodos en un sistema operativo distribuido es el desafo funcional del mismo. Este es el punto en el sistema que debe mantener una perfecta armona de propsito, y al mismo tiempo mantener una desconexin completa de la intencin de la implementacin. Este desafo es la oportunidad del sistema operativo distribuido para producir la base y el marco para un sistema fiable, eficiente, disponible, robusto, extensible y escalable. Sin embargo, esta posibilidad tiene un coste muy alto en complejidad. El precio de la complejidad[editar] En un sistema operativo distribuido, el excepcional grado de complejidad inherente fcilmente podra hacer de todo el sistema una maldicin para cualquier usuario. Como tal, el precio lgico de realizacin de un sistema de operacin distribuida se debe calcular en trminos de superar grandes cantidades de complejidad en muchas reas, y en muchos niveles. Este clculo incluye la profundidad, la amplitud y el alcance de la inversin en diseo arquitectnico y la planificacin necesaria para lograr incluso la aplicacin ms modesta. [11] Estas consideraciones de diseo y desarrollo son fundamentales e implacables. Por ejemplo, una comprensin profunda del diseo y detalles de la

arquitectura de un sistema operativo distribuido es fundamental desde el inicio. [1] Una cantidad agotadora de consideraciones de diseo son inherentes al desarrollo de un sistema operativo distribuido. Cada una de estas consideraciones de diseo puede afectar potencialmente a muchas de las otras en un grado significativo. Esto conduce a un esfuerzo masivo en lograr un enfoque equilibrado, en trminos de las consideraciones de diseo individuales, y muchos de sus permutaciones. Como apoyo para esta tarea, la mayora se basan en la experiencia documentada y la investigacin en computacin distribuida.

Historia[editar] Los esfuerzos de investigacin y experimentacin comenzaron en la dcada de 1970 y continu hasta 1990, con un pico en el inters mostrado en el tema a finales de 1980. Un nmero de sistemas operativos distribuidos fueron introducidos durante este perodo, sin embargo, muy pocas de estas implementaciones logr un xito comercial ni siquiera modesto. Implementaciones fundamentales y pioneras de los conceptos primitivos de las componentes de sistemas operativos distribuidos datan de principios de 1950. [12][13][14] Algunos de estos pasos individuales no se centraron directamente en la computacin distribuida, y en ese momento, muchos no notaron la importancia de su impacto. Estos esfuerzos pioneros establecieron bases importantes, e inspiraron la investigacin en temas relacionados con la computacin distribuida. [15] [16] [17] [18] [19] [20] En la dcada de 1970, se produjeron importantes avances en la computacin distribuida. Estos descubrimientos proporcionaron una base slida y estable para los esfuerzos que continuaron durante la dcada de 1990. La proliferacin acelerada de sistemas multi-procesador y de procesadores multi-ncleos dio paso al resurgir del concepto de sistema operativo distribuido. 1950[editar] El DYSEAC[editar] Uno de los primeros esfuerzos fue el DYSEAC, un ordenador sincrnico de propsito general. En una de las primeras publicaciones de la Association for Computing Machinery, en abril de 1954, un investigador de la Oficina Nacional de Normalizacin - ahora el Instituto Nacional de Estndares y Tecnologa (NIST) present una especificacin detallada de la DYSEAC. La introduccin se centr

en los requisitos de las aplicaciones previstas, incluidas las comunicaciones flexibles, pero tambin mencionaba otros equipos: Finalmente, los dispositivos externos podra incluso incluir otros ordenadores a gran escala que emplean el mismo lenguaje digital como la DYSEAC. Por ejemplo, las computadoras SEAC u otras similares a ella se podran conectar a la DYSEAC y mediante el uso de programas coordinados podran trabajar juntas en cooperacin mutua en una tarea comn... En consecuencia [,] el equipo se puede utilizar para coordinar las diversas actividades de todos los dispositivos externos en una operacin de conjunto eficaz. -ALAN L. LEINER, las especificaciones del sistema para el DYSEAC La especificacin discuti la arquitectura de sistemas multi-computadoras, prefiriendo peer-to-peer en lugar de amo-esclavo. Cada miembro de este grupo interconectado de computadoras separadas es libre en cualquier momento para iniciar y despachar los pedidos especiales de control para cualquiera de sus compaeros en el sistema. Como consecuencia, el control sobre la tarea comn inicialmente puede ser libremente distribuido en todo el sistema y, despus temporalmente concentrada en un ordenador, o incluso pasar rpidamente de una mquina a la otra cuando surja la necesidad... Hay que sealar que relaciones que se han descrito se basan en la cooperacin mutua entre el ordenador los dispositivos externos al mismo, y no reflejan meramente un simple esquema maestro-esclavo. -ALAN L. LEINER, las especificaciones del sistema para el DYSEAC Este es uno de los primeros ejemplos de un equipo con control distribuido. Los reportes del Departamento del Ejrcito [21]certificaron su confiabilidad y que pas todas las pruebas de aceptacin en Abril de 1954. Esto era un "ordenador porttil", ubicado en un tractor con remolque, con 2 vehculos acompaantes y 6 toneladas de capacidad de refrigeracin. Lincoln TX-2[editar] Descrito como un sistema experimental de entrada salida, el Lincoln TX-2 hizo hincapi en dispositivos simultneos de operaciones de entrada salida flexibles, es decir, multiprogramacin. El diseo de la TX-2 era modular, soportando un alto grado de modificacin y expansin. [13] El sistema emple la tcnica de programa de secuencia mltiple. Esta tcnica permiti mltiplescontadores de programa para cada asociado con una de 32 posibles secuencias de cdigo de

programa. Estas secuencias explcitamente priorizadas podran ser intercaladas y ejecutas al mismo tiempo, afectando no slo el clculo en proceso, sino tambin el flujo de control de las secuencias y la conmutacin de dispositivos. Al igual que la DYSEAC los dispositivos TX-2 programados por separados pueden funcionar simultneamente, aumentando el rendimiento. Todo el poder de la unidad central estaba disponible para cualquier dispositivo. El TX-2 es otro ejemplo de un sistema de control distribuido en el cual su unidad central no tiene control dedicado. Celdas intercomunicadas[editar] Un primer esfuerzo en lograr una abstraccin al acceso de memoria fueron las clulas intercomunicadas, donde una clula estaba compuesta de un conjunto de elementos de memoria. Un elemento de la memoria era bsicamente un rel. Dentro de una clula haba dos tipos de elementos, smbolo y celda. Cada estructura de celda almacenaba los datos en una cadena de smbolos, que consista en un nombre y un conjunto de parmetros. La informacin estaba vinculada a travs de asociaciones de celdas. [14] Las celdas intercomunicadas fundamentalmente rompieron con la tradicin en que no tena contadores o cualquier otro concepto de direccionamiento de memoria. La informacin era accedida de dos maneras diferentes, directa y recuperacin cruzada. La memoria celular tendra muchas ventajas: Una parte importante de la lgica del sistema est distribuida dentro de las asociaciones de la informacin almacenada en las celdas. El flujo de asociacin en la informacin es guiado de alguna forma por almacenamiento y la recuperacin. El tiempo requerido para el almacenamiento y recuperacin es mayormente constante y completamente no relacionada con el tamao y el factor de relleno de la memoria Las clulas son lgicamente indistinguibles, lo que los hace de uso flexible y relativamente simple extender su tamao. Esta configuracin es ideal para sistemas distribuidos. La proyeccin de tiempo constante para el almacenamiento y la recuperacin era inherentemente atmico y exclusivo. Los autores sistemas distribuidos, declarando: Hemos querido presentar aqu las ideas bsicas de un sistema de lgica distribuida con... el concepto macroscpico de diseo lgico, lejos del anlisis, de estaban considerando los

bsqueda, de direccionamiento y de contar, es igualmente importante. Debemos, a toda costa, liberarnos de las cargas de los detalles y los problemas locales que slo beneficia a un equipo bajo en la escala evolutiva de las mquinas. Chung-Yeol (C. Y.) Lee, Intercommunicating Cells, Basis for a Distributed Logic Computer

Sistemas Operativos Distribudos Informtica. Computacin. OS (Operating System) Tipos. Historia. Caractersticas. Funciones. Aplicaciones. Modo de trabajo. Kernel universal. Servidores. Computadoras. Ordenadores. Subsistemas

Enviado por: Javier Forteza Idioma: castellano Pas: Repblica Dominicana 13 pginas

Descargar publicidad publicidad

ir a starMedia

Nuevo Honda Accord 2013 Conoce las innovadoras funciones y sistemas con los que cuenta Te enamorars de l!

Informate

Para una feliz Navidad Consejos, moda, recetas y mucha ms informacin para esta Navidad Informate publicidad

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 distintos de sistemas operativos, desde los bsicos como el POST (Power On Self 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. Sistemas Operativos Distribuidos Los sistemas operativos distribuidos desempean las mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misin principal consiste en facilitar el acceso y la gestin de los recursos distribuidos en la red. En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, lo cual es transparente para el usuario. Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo inmediatamente y no afectar los procesos del sistema. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Caractersticas bsicas Los sistemas operativos distribuidos estn basados en las ideas bsicas:

Transparencia Eficiencia Flexibilidad Escalabilidad Existen dos esquemas bsicos: Los Fuertemente Acoplados y los dbiles. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Transparencia El concepto de transparencia de un Sistema operativo distribuido va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, debido a esto queda como labor del sistema operativo coordinar el mecanismo que logre la unificacin de todos los sistemas y recursos totalmente transparente para el usuario o aplicacin. 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 ncleo del sistema distribuido como un nico procesador, Es decir que la programacin y la ejecucin de los programas y tareas sean exactamente iguales que las de los sistemas operativos normales en aspectos visuales y de programacin, pero mas rpidos y eficientes por la distribucin de la tareas. Eficiencia La idea base de los sistemas operativos distribuido es la de obtener sistemas mucho mas rpidos que los utilizados de procesador nico, Y para lograr esto tenemos que olvidar la idea antigua de ejecutar los programas en estos procesadores y pensar en distribuir las tareas a los procesadores libres mas rpidos en cada momento. El concepto global de que un procesador haga todas las tareas y la desarrolle rpido depende de muchos factores concretos: Velocidad, Memoria y tipo de procesamiento, Pero para un sistema operativo distribuido esto es mucho mas fcil y eficiente, solo buscara un procesador mas rpido y mas libre para que desarrolle las tareas y har un display de los resultados obtenidos. Flexibilidad La Flexibilidad dentro de sistema operativo distribuido, describe su capacidad para soportar cambios, actualizaciones y mejoras que le permitan irse desarrollando al mismo ritmo de la evolucin tecnolgica. Dicha capacidad es una virtud y un conflicto. Una Virtud debido a las grandes necesidades de los sistemas operativos de mejorar despus de las primeras versiones y un conflicto que surge entre los sistemas de con Ncleo Monoltico y

los sistemas con Micro ncleo las cuales son dos arquitecturas distintas del ncleo del sistema operativo. Ncleo Monoltico Como ejemplo de sistema operativo de ncleo monoltico esta UNIX, estos sistemas tienen en ncleo grande y complejo, que engloba todos los servicios del sistema. Esta programado de forma no modular, y tiene un rendimiento mayor que un micro ncleo. Sin embargo, cualquier cambio a realzar en cualquiera de los servicios, requiere de hacer un STOP a todos los servicios y la recopilacin del ncleo. Micro Ncleo. La arquitectura 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 mas rpidos y sencillos. Adems, la actualizacin de los servicios es ms sencilla y gil. Ya que solo es necesario la recopilacin del servicio y no de todo el ncleo. Como desventaja, El rendimiento se ve afectado negativamente. En la actualidad la mayora de los sistemas operativos distribuidos en desarrollo tienden a un diseo de micro ncleo el cual aun siendo un poco mas lento, garantiza una estabilidad mayor y un aumento de la flexibilidad del sistema. Escalabilidad Un sistema operativo distribuido debera funcionar tanto para una docena de computadoras como para mil en una sola red, el tipo de red utilizada no debe de ser un problema ni su topologa (LAN o WAN) (TOKEN RING o ETHERNET) y mucho menos la distancia entre los equipos. Sin embargo todo esto influye, Aunque estos puntos serian muy deseables, pude que la solucin valida para unas cuantas computadoras no sean aplicables como para mil. Del mismo modo el tipo de red condiciona grandemente el rendimiento del sistema y puede que lo funcione para un tipo de red requiera modificaciones para otro. Los sistemas operativos distribuidos necesitan de grandes estndares para trabajar y sobre todo de ajustes a las necesidades principales de cada red y sus usuarios. Este concepto propone que cualquier computador debe funcionar perfectamente como un sistema operativo distribuido, pero de la misma forma debe de formar parte y trabajar como ms equipos no importan la cantidad o los recursos que estos le puedan proporcionar. Sincronizacin La sincronizacin es un punto clave para los sistemas operativos distribuidos. Para computadores nicos no es nada importante, pero en el caso de los recursos compartidos de la red, la sincronizacin es sumamente importante. Los sistemas operativos distribuidos tienen un reloj por cada ordenador del sistema, con lo que es fundamental una coordinacin entre todos los relojes para mostrar una hora nica. Los osciladores de cada ordenador son ligeramente diferentes, y como consecuencia todo los relojes sufren un desfase y deben ser

sincronizados continuamente. La sincronizacin no es trivial, porque se realiza a travs de mensajes por la red. Cuyo tiempo de envi pude ser variable y depender de muchos factores como la distancia, la velocidad de transmisin y la propia estructura de la red. El Reloj. La sincronizacin del reloj no tiene que ser exacta y bastara con que sea aproximadamente igual en todos los ordenadores. Hay que tener en cuenta eso si. El modo de actualizar la hora de un reloj es particular. Es fundamenta no retrasar nunca la hora, aunque el reloj adelante. En vez de eso, hay que atrasar la actualizaron del reloj. Frenarlo. Hasta que alcance la hora aproximada. Existen diferentes algoritmos de actualizan de la hora. El Reloj es nicamente uno de los tantos problemas de sincronizacin que existen en los sistemas operativos distribuidos. Funcionamiento Lgico del Sistema A medida en la que hemos ido desarrollando el tema, hemos declarado que un sistema operativo distribuido dentro de sus funciones bsicas, es capaz de encontrar mecanismos para la asignacin de tareas a procesadores que pueden estar dentro o fuera del equipo que esta ejecutando el programa. Aadido a esto los sistemas operativos distribuidos brindan mas servicios de distribucin como son los siguientes: Servicios de Comunicacin Sistemas de Ficheros (File Sharing) Servicios de Nombres Servicios de Sincronizacin y Coordinacin Memoria Compartida Distribuida Gestin de Procesos Servicio de Seguridad Servicios de Comunicacin Los servicios de comunicacin son los tpicos servicios de red, pero en el caso de los sistemas operativos distribuidos son mas especializados en ciertas reas. Los sistemas operativos distribuidos utilizan un concepto de interconexin llamado Multicast (Comunicacin en Grupo) que le permite a todos los computadores del sistema trabajar como un solo elemento de la red. Toda la coordinacin de los SOD son sincronizados por medio de SOCKETS lo cuales son paso de mensajes por la red que le permiten a los sistemas verificar cual es el equipo que esta disponible o simplemente el estado de un equipo actual. Los SOCKETS tambin son utilizados para la actualizacin del reloj. Sistemas de Ficheros (File Sharing)

El concepto del sistema de ficheros esta basado en la gestin de distintos dispositivos en diferentes nodos ofreciendo a usuarios la misma visin que un Sistema Centralizado. Dicho sistema permite que los usuarios compartan informacin de forma transparente. Un buen ejemplo de esto es los contactos compartidos de cada terminal los cuales se reflejan en un solo modulo de contactos cada vez que una persona abre sus contactos. Servicios de Nombres Estos servicios identifican y localizan los recursos en el entorno distribuido. Existen dos: Pginas Blancas y Paginas Amarillas. El servicio de pginas blancas es el propiamente dicho de nombres y el de pginas amarillas es el de directorios. Servicios de Sincronizacin Los servicios de Sincronizacin son los que nos permiten mantener el los relojes de las computadoras individuales en un tiempo aproximado y apropiado. La sincronizacin puede ser de relojes Fsicos, los cuales sincronizan los relojes de hardware y de Relojes Lgicos, los cuales ordenan la entrada, ejecucin y salida de los eventos. Memoria Compartida Distribuida (DSM) En un sistema operativo distribuido, la memoria pasa a ser fsicamente privada pero lgicamente compartida. Es decir, un computador ejecuta los programas en su memoria propia, pero en caso de necesitar mas memoria utilizara los recursos disponibles de otra computadora que este capacitada y preparada dentro de la red para compartir su memoria. La Memoria compartida distribuida ayuda a que no se formen los famosos cuellos de botella, debido que busca los recursos necesarios para lograr cumplir todas las tareas asignadas. Servicios de Seguridad Los servicios de seguridad de un SOD van ligados a permisos de acceso tanto a los datos compartidos como a los recursos. Los recursos de memoria por ejemplo, son asignados permisos a la cantidad de memoria compartida siguiendo las necesidades fsicas de cada computadora. Ejemplo: Una computadora de 128 MB RAM, la cual trabaja mucho es muy probable que en vez de poder compartir memoria requiera de memoria compartida de otras computadoras. Debido a esto, el DSM (Distribuid Shared Memory o Memoria Distribuida Compartida) es Deshabilitado para que no se disponga de recursos libres de este computador. Sistema Operativo Distribuido vs Sistema Distribuido Existe una diferencia vital entre los sistemas operativos distribuidos y los sistemas distribuidos. Podramos llamar a un Sistema Distribuido una capacidad del Sistema operativo Distribuido, es decir: Un sistema distribuido es la relacin que existe entre

una computadora independiente y un servidor de archivos o dispositivos compartidos. Cada computadora ejecuta sus programas en su memoria propia haciendo uso de su nico microprocesador y memoria, este no comparte memoria ni asigna tareas a otros procesadores de la red. Sin embargo, un Sistema operativo distribuido tiene acceso a todos los dispositivos compartidos de la red incluyendo procesadores y memoria RAM. Desventajas de los SOD Por muy maravillosos que nos puedan pareces los sistemas operativos distribuidos, tambin tienen sus desventajas. La sincronizacin del sistema es una tarea rdea de la cual nunca se descansa y la estandarizacin del sistema es un tanto complicada y limitante. Debido a que no todos los sistemas operativos son de de carcter distribuido enlazar los distintos tipos de sistemas operativos es un poco complicado. El inters de hacer el SOD lo mas transparente posible lo hace muy complicado en su programacin y el lograr que el sistema operativo no tenga problemas para que no cause problemas a otros equipos que le asignaron tareas es un poco dificultoso. Conclusin El futuro de los sistemas operativos Distribuidos esta 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 clusters 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.

1.4. Sistemas distribuidos de alto rendimiento a bajo costo (clustering) en sistemas operativos de libre distribucin. Edit 2PAGES THIS WIKI Comments0 ON

Contents [show] Introduccion Edit

1 of 3 Add photo El cmputo con clusters surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores econmicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cmputo distribuido de alto rendimiento, as como la creciente necesidad de potencia computacional para aplicaciones que la requieran. Cluster es un grupo de mltiples computadoras unidas mediante una red de alta velocidad, de tal forma que el conjunto es visto como una nica computadora, ms potente que las comunes de escritorio. El cmputo con clusters surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores econmicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cmputo distribuido de alto rendimiento, as como la creciente necesidad de potencia computacional para aplicaciones que la requieran. Tecnologas de Implementacin MOSIX Edit Edit

Es un paquete de software que mejora el kernel de Linux con capacidades de computacin de clusters. El kernel mejorado permite cualquier cluster de estaciones de trabajo y servidores X86/Pentium/AMD trabajar coordinadamente como parte de un slo sistema. MOSIX es una extensin del kernel de Linux que permite ejecutar aplicaciones normales (no paralelizadas) en un Cluster. Una de las posibilidades de MOSIX es la migracin de procesos, que permite migrar procesos de nodo en nodo. Si por ejemplo, cierto proceso est dominando la carga de un nodo, este ser movido a otro que tiene ms recursos. Una de las caractersticas de MOSIX es que, a diferencia de otros clusters, no es necesario modificar las aplicaciones ni tampoco utilizar libreras especiales. De hecho, tampoco es necesario asignar a mano los procesos a los diferentes nodos que componen el cluster. La idea es que despus de la creacin de un nuevo proceso (fork), MOSIX intenta asignarlo al mejor nodo disponible en ese entonces. MOSIX monitorea constantemente los procesos, y si fuera necesario, migrar un proceso entre los nodos para maximizar el rendimiento promedio. MOSIX realiza todo esto automticamente, bajo el concepto de fork and forget al igual que en un sistema SMP. Esto significa que slo algunas aplicaciones se beneficiarn de un cluster MOSIX, bsicamente: Procesos que requieren de mucho CPU, aplicaciones cientficas, de ingeniera, etc. Procesos paralelos, especialmente los que tienen tiempos de ejecucin impredecibles. Clusters con nodos de diferentes velocidades y/o distintas cantidades de memoria. Entornos multiusuario y de tiempo compartido. Servidores WEB escalables. MOSIX funciona silenciosamente. Sus operaciones son transparentes para las aplicaciones. Los usuarios no necesitan saber dnde se estn ejecutando los procesos, tampoco necesitan preocuparse de lo que estn haciendo otros usuarios.

Como MOSIX est implementado en el kernel de Linux, sus operaciones son totalmente transparentes para las aplicaciones. Esto permite definir distintos tipos de clusters, incluso un cluster con diferentes CPUs o velocidades LAN.

Algunas

de

las

principales

caractersticas

de

Mosix2[5]

se

detallan

continuacion: . Provee un Single-System Image (SSI). El descubrimiento automatico y

transparente de recursos es llevado a cabo por un algoritmo de diseminacion de informacion on-line, suministrando a cada nodo la ultima informacion sobre la disponibilidad y el estado de cada recurso en el grid. Mosix soporta dos tipos de procesos: procesos Linux y procesos Mosix. Los primeros no son afectados por Mosix y corren en el modo nativo de Linux y no pueden ser migrados. Los procesos Mosix son generalmente aplicaciones de usuario que pueden beneciarse de la migracion. Estos procesos comienzan su ejecucion como los ejecutables estandar de Linux, pero corren en un ambiente virtual que les permite migrar de un nodo a otro, siempre conservando su nodo origen (home-node). La migracion de procesos puede ser tanto automatica como manual. La migracion automatica es supervisada por algoritmos on-line, que continuamente intentan mejorar la performance: balance de carga, memoria libre disponible, migracion desde nodos lentos a nodos rapidos. . Soporte de organizaciones virtuales. En un grid basado en Mosix2, los administradores autorizados de cada cluster fsico pueden conectarse/desconectarse del grid en cualquier momento. Luego del pedido de desconexion todos los procesos remotos, si los hay, son migrados a otros nodos. Mosix2 soporta la ejecucion de procesos de larga duracion (longrunning processes) a traves del mecanismo de congelamiento y la reactivacion gradual mediante el cual los procesos pueden ser congelados en el nodo origen cuando un cluster es desconectado y luego ser reactivados gradualmente cuando nuevos recursos estan disponibles. Un metodo de prioridades asegura que los procesos con una prioridad mas alta siempre pueden desplazar a los procesos con una prioridad inferior. . Un ambiente de ejecucion seguro para los procesos remotos. La capa de virtualizacion garantiza que un proceso migrado no pueda modicar u obtener acceso a algun recurso. que no sea la CPU o la memoria en el nodo remoto. El cuidado se realiza interceptando todas las llamadas a sistema para que no puedan tener acceso a los recursos del nodo remoto. La mayora de ellas son enviadas al nodo origen. Como resultado tenemos un ambiente de ejecucion

seguro (sandbox ), que protege al nodo remoto de procesos invitados sospechosos.

. Live Queuing. Mosix2 incorpora una cola dinamica que permite despachar un numero de tareas, para correr cuando esten disponibles recursos sucientes. . Soporte de batch jobs, checkpoint y recuperacion. Mosix2 soporta batch jobs que pueden ser enviados a algun nodo del cluster local. Estos pueden ser tanto Linux batch jobs nativos como ser ejecutados bajo la disciplina Mosix. La mayora de los procesos Mosix soportan Checkpoint y recuperacion. Cuando se realiza un checkpoint la imagen del proceso es guardada en un archivo. En caso de ser necesario el proceso puede recuperar esta imagen desde el archivo y continuar con su ejecucion en un nodo. . El monitor. Mosix2 cuenta con un monitor que provee informacion sobre los recursos en el grid y en cada cluster, como ser: velocidad de CPU, carga del CPU, memoria libre vs. memoria usada, espacio de swap, entre otros. KNOPPIX Edit

Knoppix es una distribucin de GNU/Linux . Est desarrollada por el consultor de GNU/Linux Klaus Knopper. Distribuciones derivadas de Knoppix ClusterKnoppix es una distribucin basada en Knoppix y que utiliza Linux Terminal Server Project y OpenMosix. Es una va conveniente para probar configuraciones en cluster de computadores cluster. Posibilidades Se puede usar de distintas formas como: Para ensear y demostrar de manera sencilla el sistema GNU/Linux, especialmente como sistema operativo. Probar rpidamente la compatibilidad de hardware bajo Linux antes de comprarlo o utilizarlo, especialmente para tarjeta de vdeo. Utilizar las herramientas incluidas para restaurar un sistema corrupto o sus datos perdidos.

Gracias a su rapidez, portabilidad, la seleccin de herramientas que incluye y el amplio soporte para la mayora de dispositivos que ofrece, son muchos los usos que pueden drsele a esta distro. Knoppix funciona a la perfeccin como sistema de rescate y reparacin de errores, CD educacional, sistema comercial o sistema de uso personal, y debido a sus capacidades de descompresin sobre la marcha puede albergar hasta 2 GB de software instalado en el CD, u 8 GB en el DVD. Entre las caractersticas principales que han sido incluidas en esta nueva versin de Knoppix, se encuentra el cambio al kernel Linux 3.3.7 y la eleccin de LXDE como entorno de escritorio por defecto. En la versin en DVD de Knoppix 7.0.1 se incluyen dos opciones para el escritorio: GNOME 3.4 y KDE SC 4.7.4. Para los equipos de 64-bit y ms de 4 GB de RAM se ha incluido un kernel opcional a travs de la opcin del arranque knoppix64, slo accesible a travs de la versin LiveDVD. En Knoppix 7.0.1 podrs encontrar los siguientes paquetes instalados:

Suite ofimtica LibreOffice 3.5.3, Navegador web Chromium 18.0.1025.168. Navegador web Firefox/Iceweasel 10.0. Entorno de escritorio LXDE. Entorno de escritorio KDE 4.7.4. Entorno de escritorio GNOME 3.4. Escritorio de audio ADRIANE V1.4. Viacam, una aplicacin para controlar el cursor del ratn a travs del movimiento de la mano o cabeza usando la cmara web. Emulador de aplicaciones de Windows, Wine 1.5.4. Virtualbox 4.1.14. qemu-kvm 1.0.

En Knoppix 7.0.1 tambin se han hecho algunas modificaciones internas para mejorar el rendimiento del sistema, entre estas se encuentran:

Implementacin de Z-RAM, una tecnologa de compresin de RAM para ordenadores con escasas capacidades de memoria que comprime hasta el 75% de la memoria principal si el sistema se est quedando sin recursos. Nueva autodeteccin de tarjetas grficas con extensiones para la composicin 3D para el gestor de ventanas compiz. Nuevas opciones para activar y desactivar compiz, knoppix no3d y knoppix 3d. Regres el submen Knoppix en el men de inicio y ahora permite acceder a extensiones propias de Knoppix.

Clster de alto rendimiento Un cluster de alto rendimiento es un conjunto de ordenadores que est diseado para dar altas prestaciones en cuanto a capacidad de clculo. Los motivos para utilizar un cluster de alto rendimiento son:

el tamao del problema por resolver el precio de la mquina necesaria para resolverlo.

Por medio de un cluster se pueden conseguir capacidades de clculo superiores a las de un ordenador ms caro que el costo conjunto de los ordenadores del cluster. Ejemplo de clusters baratsimos son los que se estn realizando en algunas universidades con computadoras personales desechados por "anticuados" que consiguen competir en capacidad de clculo con superordenadores carsimos. Para garantizar esta capacidad de clculo, los problemas necesitan ser paralelizables, ya que el mtodo con el que los clusters agilizan el procesamiento es dividir el problema en problemas ms pequeos y calcularlos en los nodos, por lo tanto, si el problema no cumple con esta caracterstica, no puede utilizarse el cluster para su clculo. Para que un problema sea paralelizable se debe hacer uso

de bibliotecas especiales como lo es PVM (parallel virtual machine) o MPI (Message passage interface), donde la primera es usada especialmente en cluster con nodos hetereogneos (arquitectura del procesador, sistemas

operativo, entre otras), y pertenecientes a diferentes dominios de red, la segunda biblioteca usada para cluster homogneos Un tipo de software para realizar cluster high performace es OSCAR (Open Source Cluster Application Resources) distribuido bajo licencia GPL. Este software trabaja sobre el sistema operativo Linux. En Windows se podra utilizar "WCC 2003" (Windows Computer Cluster).

VENTAJAS Y DESVENTAJAS DEL SISTEMA DISTRIBUIDO Ventajas: Procesadores *Desarrollo *Las estaciones ms de poderosos Estaciones satisfacen las y con necesidades a ms de menos los costos usuarios.

capacidades

*Uso de nuevas interfaces Avances *Disponibilidad en la de Tecnologa elementos de de Comunicaciones. Comunicacin.

*Desarrollo de nuevas tcnicas. Comparticin *Dispositivos *Programas (Software). Eficiencia *Respuesta *Ejecucin Concurrente de procesos (En varias computadoras). *Empleo de tcnicas de procesamiento distribuido Disponibilidad del Elctrico, Etc.). y Confiabilidad. sistema). y Flexibilidad. Rpida. de Recursos. (Hardware).

*Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad *Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo

Crecimiento *Es *Inclusin inherente rpida de al nuevos

Modular. crecimiento. recursos.

*Los recursos actuales no afectan. Desventajas: *Requerimientos de mayores controles de procesamiento. *Velocidad de propagacin de informacin ( Muy lenta a veces). *Servicios de replicacin de datos y servicios con posibilidades de fallas. *Mayores controles de acceso y proceso ( Commit ). *Administracin ms compleja. *Costos.

Vous aimerez peut-être aussi