You are on page 1of 11

UNIDAD I SISTEMAS DISTRIBUIDOS 1.

1 Definicin "Sistemas cuyos componentes hardware y software, que estn en computadoras conectadas 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 preestablecido. Los recursos de diferentes mquinas en red se integran de forma que desaparece la dualidad local/remoto. El usuario accede a los recursos del sistema distribuido a travs de una interfaz grfica de usuario desde un terminal, despreocupndose de su localizacin. 1.2 Caractersticas Concurrencia.- Esta caracterstica 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, est ms bien distribuida en los componentes. Fallos independientes de los componentes.- Cada componente del sistema pudiera fallar de manera independientemente, y los dems continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando. 1.3 Evolucin. Procesamiento central (Host).- ES de los primeros modelos de computadoras interconectadas, llamados centralizados, donde todo el procesamiento de la organizacin se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillas computadoras personales. Grupo de Servidores.- tambin un tanto centralizado, son un grupo de computadoras actuando como servidores, normalmente de archivos o de impresin, poco inteligentes, conectado a una red de rea local. La Computacin Cliente Servidor.- Este modelo permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualizacin de la Interfaz Grfica de Usuario. 1.4 Arquitectura cliente servidor. Definicin: Sistema en donde el cliente es una mquina que solicita un determinado servicio y se denomina servidor a la mquina que lo proporciona. Ejecucin de un determinado programa. Acceso a un determinado banco de informacin. Acceso a un dispositivo de hardware.

Componentes de Software: Presentacin: presentacin al usuario de un conjunto de objetos visuales. Lgica de aplicacin: procesamiento de la informacin Base de datos: archivos que contienen los datos de la aplicacin. 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.

UNIDAD II ARQUITECTURAS Y MODELOS DISTRIBUIDOS. 2.1 Descentralizados peer to peer. Los clientes se comunican directamente pueden consultar previamente a un servidor con propsitos de localizacin. Las aplicaciones P2P se dividen por: Descentralizacin: puede haber un control centralizado (seti) o ser completamente independiente de un servidor central (freenet) Cooperacin: puede no haber comunicacin entre pares (seti), basarse en la cooperacin contina entre pares (freenet) o un esquema intermedio (napster) Indireccin: puede haber cooperacin P2P directamente entre mquinas cliente o indirectamente, entre servidores. 2.2 Objetos distribuidos. Un sistema distribuido orientado a objetos provee los mecanismos necesarios para un manejo transparente de la comunicacin, de modo que el programador se ocupe de la lgica de la aplicacin. Esta idea de abstraer la parte de comunicacin fue introducida por primera vez con RPC (Remote Procedure Call). Servidor: Crea objeto remoto. Crea referencia al objeto remoto. Espera a que un cliente invoque un mtodo en el objeto remoto. Cliente: Obtiene referencia a un objeto remoto en el servidor. Invoca un mtodo remoto. 2.3 Servicios web. Un Servicio Web es un componente software que puede ser registrado, descubierto e invocado mediante protocolos estndares de Internet.

Permiten exponer y hacer disponibles funcionalidades (servicios) de los sistemas informticos de las organizaciones mediante tecnologas y protocolos WEB estndar. Servicios Web actan como componentes independientes que se pueden integrar para formar sistemas distribuidos complejos. Los Servicios Web hacen posible la interaccin entre agentes software (aplicaciones) utilizando mensajes XML intercambiados mediante protocolos de Internet.

2.4 Servicio de agentes mviles. Son aquellos que ejecutan las tareas designadas en distintos ordenadores movindose de uno a otro para recopilar informacin requerida y regresan a su sitio de origen. Capaces de trasladarse de un servidor a otro para reanudar su ejecucin en un nuevo sitio distinto. Estos agentes suelen ser autnomos y en funcin de su grado de inteligencia esta la complejidad de las tareas que pueden desempear. Sin embargo hay muchos agentes mviles que realizan tareas rutinarias como la recopilacin de datos en donde su grado de inteligencia es casi nulo.

2.5 Clientes thin. Thin Client (Cliente ligero) es una computadora cliente en una arquitectura de red cliente-servidor que depende primariamente del servidor central para las tareas de procesamiento, y principalmente se enfoca en transportar la entrada y la salida entre el usuario y el servidor remoto, aunque normalmente el trmino Thin Client no se usa nicamente para denominar al cliente ligero, sino que se usa para nombrar a toda la red cliente-servidor como un sistema informtico. El nico software que es instalado en el cliente ligero es la interface de usuario, algunas aplicaciones frecuentemente usadas y un sistema operativo de red.

2.6 Modelos arquitectnicos. El modelo arquitectnico describe: Interacciones entre componentes. Enlace con la plataforma de red: simplifica y abstrae las funciones y roles de los componentes individuales.

El modelo arquitectnico define: la forma en la que los componentes interactan entre ellos: sus roles funcionales. el patrn de comunicacin entre ellos. Cmo se asignan en los nodos de la red: para distribuir los datos. para distribuir la carga.

2.7 Modelos fundamentales.

Procesos que se comunican por paso de mensajes a travs de una red de computadores. En particular, trataremos con tres aspectos Interaccin: la comunicacin ocurre con retrasos, que afecta a la coordinacin entre procesos. La coordinacin tambin est afectada por la dificultad de mantener la misma nocin de tiempo en todos los procesos. Fallos: el modelo debe definir y clasificar los fallos que pueden darse en el sistema. Seguridad: el modelo debe definir y clasificar los tipos de ataque que pueden afectar al sistema.

UNIDAD III Desafos de un sistema distribuido

3.1 Heterogeneidad Al hablar de heterogeneidad nos referimos a la variedad y diferencia que podemos encontrar en los elementos que componen una red de computadoras sobre la que se ejecuta un sistema distribuido, dicha heterogeneidad no solo se aplica a las redes y al hardware de las computadoras, sino tambin a los sistemas operativos, los lenguajes de programacin y las implementaciones en las que trabajan los diferentes desarrolladores. Un claro ejemplo es el internet, ya que es una red que est formada por muchos tipos de redes cuyas diferencias estn enmascaradas puesto que se pueden comunicar por medio de protocolos de internet. 3.2 Extensibilidad Es la capacidad que determina si el sistema puede extenderse de varias maneras.

Un sistema puede ser abierto o cerrado con respecto a extensiones de hardware o de software. Para lograr la extensibilidad es imprescindible que las interfaces clave sean pblicas. Los sistemas distribuidos abiertos pueden extenderse a nivel de hardware mediante la inclusin de computadoras a la red a nivel de software por la introduccin de nuevos servicios y la re implementacin de los antiguos.

3.3 Seguridad La seguridad tiene tres componentes: Confiabilidad: proteccin contra individuos no autorizados. Integridad: proteccin contra la alteracin o corrupcin Disponibilidad: proteccin contra la interferencia que impide el acceso a los recursos. Existen dos desafos que no han sido resueltos en su totalidad: Ataques de negacin del servicio. Seguridad de cdigo mvil.

3.4 Escalabilidad Se dice que un sistema es escalable si conserva su efectividad cuando ocurre un incremento significativo en el nmero de recursos y en el nmero de usuarios. El diseo del sistema distribuido escalable presenta los siguientes retos: Control de costo de los recursos fsicos. Controlar la degradacin del rendimiento. Evitar cuellos de botella. Algoritmos descentralizados.

3.5 Tolerancia a fallas Tolerancia a fallos. An con una alta disponibilidad, un fallo en un momento determinado puede tener consecuencias desastrosas. Pinsese en sistemas de tiempo real crticos que controlan dispositivos vitales (por ejemplo en medicina, centrales nucleares). Es decir, aunque la replicacin aumenta la disponibilidad, no garantiza por s sola la continuidad del servicio de forma transparente. La tolerancia a fallos expresa la capacidad del sistema para seguir operando

correctamente ante el fallo de alguno de sus componentes, enmascarando el fallo al usuario o a la aplicacin. Por lo tanto, la tolerancia a fallos implica detectar el fallo, y continuar el servicio, todo ello de forma transparente para la aplicacin (transparencia de fallos). 3.6 Concurrencia Existe la posibilidad de acceso concurrente a un mismo recurso. La concurrencia en los servidores se puede lograr a travs de threads. Cada objeto que presente un recurso compartido debe responsabilizarse de garantizar que opera correctamente en un entorno concurrente.

Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos permanezcan consistentes.

3.7 Transparencia Transparencia de acceso: permite acceder a los recursos locales y remotos empleando operaciones idnticas. Transparencia de ubicacin: permite acceder a los recursos sin conocer su localizacin. Transparencia de concurrencia: permite que varios procesos concurrentemente sobre recursos compartidos sin interferencia mutua. operen

Transparencia de rendimiento: permite reconfigurar el sistema para mejorar el desempeo segn vare su carga. Transparencia al escalado: permite al sistema y a las aplicaciones expandirse en tamao sin cambiar la estructura del sistema o los algoritmos de aplicacin.

UNIDAD IV Administracin de Sistemas Distribuidos 4.1 NFS NFS Network File System Nos permite compartir datos entre varios ordenadores de una forma sencilla. Es un sistema de archivos distribuido para un entorno de red de rea local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente desarrollado por Sun Microsystems en 1984. EJM: un usuario validado en una red no necesitar hacer login a un ordenador especfico: va NFS, acceder a su directorio personal (que llamaremos exportado) en la mquina en la que est trabajando.

4.1.1 Caractersticas El cliente es capaz de funcionar sin problemas desconectado del servidor, ya sea porque estamos trabajando en un porttil que desconectamos de la red, por un fallo en la comunicacin, o por una cada del servidor. . Replicacin automtica de servidores. Coda proporciona los mecanismos necesarios para realizar rplicas automticas entre servidores, y para que los clientes puedan acceder a uno u otro de forma transparente para el usuario si alguno cae. Modelo de seguridad propia e independiente del sistema operativo para la identificacin de usuarios, Licencia abierta (GPL). 4.1.2 Implementacin Un sistema de archivos distribuido es el NFS, una implementacin de un sistema software para el acceso de archivos remotos entre redes locales. NFS considera los sistemas de archivos diferentes entre mquinas interconectadas. Su objetivo es permitir el compartimiento, en forma cliente-servidor, entre los sistemas de archivos de cualquiera de las mquinas interconectadas de una forma transparente. Esta forma de trabajar es vlida para entornos UNIX/Linux. De momento NFS no permite la interoperabilidad con determinados sistemas de archivos Windows.

4.2 Administrador de procesos Un proceso es un programa en ejecucin. Un proceso necesita ciertos recursos, incluyendo tiempo de CPU, memoria, archivos, y dispositivos de E/S, para lograr su tarea. El sistema operativo es responsable de las siguientes actividades en la administracin de procesos: creacin de procesos y borrado. suspensin de procesos y resumen. mecanismos de: sincronizacin de procesos y comunicacin entre procesos

4.3 Servicio de nombre distribuidos. Un servicio de nombres mantiene la relacin entre nombres textuales y atributos de objetos (contextos de nominacin). Este servicio permite buscar un nombre dado a partir de sus atributos. Este servicio se encuentra separado de los dems, ya que, por una parte, es conveniente que los recursos usen el mismo esquema de nomenclatura (ej: URL) y, por otra, no siempre es posible predecir el mbito de la comparticin en un sistema distribuido.

Requisitos de un servicio de nombres general: Con el crecimiento de las redes y su interconexin, los servicios de nombres necesitaron de una mayor complejidad.

4.3.1 Concepto de nombres y direcciones en un entorno distribuido. Es la coleccin de todos los nombres vlidos en un servicio concreto (es decir, que el servicio puede intentar su bsqueda, aunque est desvinculado). Los nombres pueden estar organizados en jerarquas, como los sistemas de directorios de UNIX o los nombres de dominio de Internet. La ventaja de esto es que cada bsqueda se realiza en relacin a un contexto dado (en el ejemplo de UNIX, un archivo se busca al llamarlo en un directorio concreto y no en todo el sistema), pudiendo tener nombres iguales pero sobre contextos distintos. Adems, distintos contextos pueden gestionarse por distintas personas.

4.3.2 Servicios de nombre de la web: DNS Los nombres DNS se llaman nombres de dominio y tienen una estructura jerrquica (se separa cada cadena por un punto (.)). Cada cadena de estas se llama etiqueta o componente de nombre (el punto no aparece al inicio y al final). Los nombres DNS no son sensibles a maysculas y tampoco reconocen los nombres relativos (todos se refieren a la raz global). Para facilitar su uso, las aplicaciones suelen aadir de forma automtica un nombre de dominio de entre una lista que gestione (si uno falla se intentan otros). 4.4 Sincronizacin y coordinacin en un entorno distribuido Ms compleja que en los centralizados ya que usan algoritmos distribuidos Los algoritmos distribuidos deben tener las siguientes propiedades: La informacin relevante se distribuye entre varias mquinas. Los procesos toman las decisiones slo en base a la informacin local. Debe evitarse un punto nico de fallo. No existe un reloj comn. Sistemas sncronos Hay una perfecta sincronizacin Hay lmites en las latencias de comunicacin Los sistemas del mundo real no son sncronos 4.4.1 Mecanismos de sincronizacin entre procesos El trmino sincronizacin se define como la forma de forzar un orden parcial o total en cualquier conjunto de eventos, y es usado para hacer referencia a tres problemas distintos pero relacionados entre s: La sincronizacin entre el emisor y el receptor.

La especificacin y control de la actividad comn entre procesos cooperativos. La serializacin de accesos concurrentes a objetos compartidos por mltiples procesos. 4.4.2 Relojes lgicos Relojes fijos Los relojes fsicos son relojes que: Deben ser iguales (estar sincronizados). No deben desviarse del tiempo real ms all de cierta magnitud. En ciertos sistemas es importante la hora real del reloj: Se deben sincronizar: Con los relojes del mundo real. Relojes lgicos El software del reloj lgico El software para el reloj toma generalmente la forma de un manejador de dispositivo, aunque no es un dispositivo de bloque. Las principales funciones del software manejador del reloj son: Mantener la hora del da o tiempo real y Evitar que los procesos se ejecuten durante ms tiempo del permitido.

4.4.3 Exclusin mutua distribuida y algoritmos de eleccin La condicin de exclusin mutua se aplica a los os que no pueden ser compartidos. Por ejemplo, varios procesos no pueden compartir simultneamente una impresora. Los archivos de slo lectura son un buen ejemplo de recurso que puede compartirse. Si varios procesos intentan abrir un archivo de slo lectura al mismo tiempo, puede concedrseles acceso al archivo de forma simultnea. Algoritmos de Eleccin Son los algoritmos para la eleccin de un proceso coordinador, iniciador, secuenciador. El objetivo de un algoritmo de eleccin es garantizar que iniciada una eleccin sta concluya con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador 4.5 Seguridad y fiabilidad. Es la capacidad del sistema para proteger datos, servicios y recursos de usuarios no autorizados. El fin de la seguridad es garantizar la proteccin o estar libre de todo peligro y/o dao, y que en cierta manera es infalible. Como esta caracterstica, particularizando para el caso de sistemas operativos o redes de computadores, es muy difcil de conseguir (segn la mayora de expertos, imposible), se suaviza la definicin de seguridad y se pasa a hablar de fiabilidad (probabilidad de que un sistema se comporte tal y como se espera de l) ms que de seguridad; por tanto, se habla de sistemas fiables en lugar de hacerlo de sistemas seguros

4.5.1 Tcnicas de seguridad Una tcnica para proteger la confidencialidad es el cifrado. La informacin puede cifrarse y descifrarse empleando ecuaciones matemticas y un cdigo secreto denominado clave. Generalmente se emplean dos claves, una para codificar la informacin y otra para descodificarla. La clave que codifica la informacin, llamada clave privada, slo es conocida por el emisor. La clave que descodifica los datos, llamada clave pblica, puede ser conocida por varios receptores. Ambas claves se modifican peridicamente, lo que complica todava ms el acceso no autorizado y hace muy difcil descodificar o falsificar la informacin cifrada. Estas tcnicas son imprescindibles si se pretende transmitir informacin confidencial a travs de un medio no seguro como puede ser Internet. 4.5.2 Criptografa y firmas digitales. La criptografa es la tcnica, bien sea aplicada al arte o la ciencia, que altera las representaciones lingsticas de un mensaje. En esencia la criptografa trata de enmascarar las representaciones caligrficas de una lengua, de forma discreta. Si bien, el rea de estudio cientfico que se encarga de ello es la Criptologa. El cifrado es el proceso de convertir el texto plano en un galimatas ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicacin concreta del algoritmo de cifrado (tambin llamado cifra) se basa en la existencia de una clave: informacin secreta que adapta el algoritmo de cifrado para cada uso distinto. 4.5.3 Replicacin servicios tolerantes a fallas. Fallo: Comportamiento no coherente con la especificacin Fallos de programas: Varias implementaciones del mismo servicio. Respuesta en tiempo real: Fallo es no poder responder a tiempo. La replicacin puede ser manejada por el cliente (no transparente). La transparencia se logra con un frontal interpuesto. Las operaciones retornan un slo valor o fallan. Normalmente slo se ve una copia Salvo si hay que resolver conflictos

http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf

Sistemas Distribuidos (espaol versin anteior -) George Coulouris; Jean Dollimore; Sebastin Dormido; Tim Kindberg Editorial: Addison Wesley | 3era Edicin Idioma: Espaol ISBN: 8478290494.

You might also like