jueves, 16 de octubre de 2014

SISTEMAS OPERATIVOS DISTRIBUIDOS PARA AMBIENTES DISTRIBUIDOS

UNIDAD 2

“Comunicación en los Sistemas Operativos Distribuidos”

 

 

 

Comunicación SOD

En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse.

 

Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos. Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas.

ü  Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la “llamada a un procedimiento remoto”.

ü  También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos.

PROTOCOLOS CON CAPAS

ü  Protocolos con Capas

ü  Cuando el proceso “A” quiere comunicarse con el proceso “B”:

ü  Construye un mensaje en su propio espacio de direcciones.

ü  Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo envíe a través de la red hacia “B”.

ü  Para evitar el caos, “A” y “B” deben coincidir en el significado de los bits que se envíen.

REFERENCIAS HACIA EL MODELO OSI

ü  Identifica en forma clara los distintos niveles.

ü  Estandariza los nombres de los niveles.

 

ü  Señala cuál nivel debe realizar cuál trabajo

 

2.1.1 Comunicación Cliente Servidor Sockets

El Modelo Cliente/Servidor tiene como idea fundamental la estructuración del S. O. como:

 

1.           Un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a los usuarios.

2.           Un grupo de procesos usuarios llamados clientes.

3.           El Modelo Cliente/Servidor se basa en un “protocolo

4.           solicitud/ respuesta”

5.           Es sencillo y sin conexión.

6.           No es complejo y orientado a la conexión como OSI o TCP / IP.

7.           El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.

 DIRECCIONAMIENTO EN C - S

Para que un cliente pueda enviar un mensaje a un servidor, debe conocer la dirección de éste.

Un esquema de direccionamiento se basa en la dirección de la máquina destinataria del mensaje:

Es limitativo si en la máquina destinataria se ejecutan varios procesos, pues no se sabría para cuál de ellos es el mensaje.

Otro esquema de direccionamiento se basa en identificar los procesos destinatarios en vez de a las máquinas:

ü  Elimina la ambigüedad acerca de quién es el receptor.

ü  Presenta el problema de cómo identificar los procesos.

 

2.1.2 Comunicación con RPC

RCP (REMOTE PROCEDURE CALL)

El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una colección de herramientas y funciones de biblioteca. Aplicaciones importantes construidas sobre RPC son NIS, Sistema de Información de Red y NFS, Sistema de Ficheros de Red. Es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos.

 

2.1.3 Comunicación en Grupo

BROADCAST O  DIFUSION FORZADA: 

Transmisión de un paquete que será recibido por todos los dispositivos en una red.

MULTICAST: 

Consiste en la entrega de paquetes a través de una red a varios destinos de forma simultánea evitando al máximo el duplicar los paquetes, esto es, se duplican paquetes exclusivamente cuando se bifurca el camino a los diferentes destinos finales.

UNICAST o POINTCAST: 

Un nodo emite y otro recibe, solo escucha aquel a quien se dirigió el mensaje  una  clasificación adicional es la realizada en base a grupos.


 

 

2.1.4 Tolerancia a Fallos

La tolerancia a fallas es considerada la principal característica que debe de tener un sistema distribuido para alcanzar el principio de transparencia.

Para lograr la tolerancia a fallos se necesita de una buena comunicación entre procesos distribuidos y sobretodo de una correcta coordinación entre procesos

Un Sistema Distribuido en base a la coordinación de sus procesos puede ser:

ü  Asíncrono: no hay coordinación en el tiempo.

ü  Síncrono: se suponen límites máximos para el retraso de mensajes.

El primer factor a tomar en cuenta es que el canal de comunicación esté libre de errores (canal confiable).

 

Para garantizar que el canal sea confiable se debe de realizar lo siguiente:

Retransmisión de mensajes.

Debe haber redundancia de canales

La entrega de un paquete sea dentro de un tiempo límite especificado

En general, se considera que los canales de comunicación son fiables y que cuando falla la comunicación es debido a la caída del proceso.

Algunos fallos en el funcionamiento de un sistema pueden originarse por:

ü  Especificaciones impropias o con errores.

ü  Diseño deficiente de la creación del software o el hardware.

ü  Deterioros o averías en al hardware.

PREVENCIÓN Y TOLERANCIA A FALLOS

Existen dos formas de aumentar la fiabilidad de un sistema:

ü  Prevención de fallos: Se trata de evitar que se implementen sistemas que pueden introducir fallos.

ü  Tolerancia a fallos: Se trata de conseguir que el sistema continué funcionando correctamente aunque se presenten algunos fallos



2.2 Sincronización Sistemas Distribuidos

DISTRIBUIDOS

La sincronización de procesos en los sistemas distribuidos resulta más compleja que en los centralizados, debido a que la información y el procesamiento se mantienen en diferentes nodos.

Un sistema distribuido debe mantener vistas parciales y consistentes de todos los procesos cooperativos.

 

Sincronización es la forma de forzar un  orden parcial o total en cualquier conjunto de evento. Se utilizan algoritmos distribuidos para sincronizar el trabajo común entre los procesos y estos algoritmos tienen las siguientes propiedades: Inaceptable que se concentre en un nodo, a toda la información y procesamiento.

2.2.1 Relojes Físicos

Los relojes físicos son relojes que: Deben ser iguales (estar sincronizados).

No deben desviarse del tiempo real más allá de cierta magnitud.

En ciertos sistemas es importante la hora real del reloj:

1.           Se precisan relojes físicos externos (más de uno).

2.           Se deben sincronizar: Con los relojes del mundo real.

 


 

 

2.2.2 Relojes Lógicos

El software del reloj lógico

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 día o tiempo real.

Evitar que los procesos se ejecuten durante más tiempo del permitido.

Mantener un registro del uso del CPU.

 

2.2.3 Usos de la Sincronización manejo de cache, comunicación en grupo exclusión mutua elección transacciones atómicas e interbloqueo

 

 

SINCRONIZACIÓN

 

La sincronización es la coordinación de procesos que se ejecutan simultáneamente para completar una tarea, con el fin de obtener un orden de ejecución correcto y evitar así estados inesperados. 

 

MEMORIA CACHÉ

En los sistemas de archivos convencionales, el fundamento para la memoria caché es la reducción de la E/S de disco (lo que aumenta el rendimiento), en un SAD el objetivo es reducir el tráfico en la red

 

 

LA COPIA DE MEMORIA CACHÉ

Conservar allí los bloques de disco de acceso más reciente, para así manejar localmente los accesos repetidos a la misma información y no aumentar el tráfico de la red. La caché es un área de memoria utilizada para agilizar los procesos de lectura-escritura.



ALGORITMOS DE ELECCIÓN

Son los algoritmos para la elección de un proceso coordinador, iniciador, secuenciador. El objetivo de un algoritmo de elección es garantizar que iniciada una elección ésta concluya con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador.

 

 

2.3 Nominación característica y Estructuras

Un nombre es más que una cadena de caracteres. Representa un punto de acceso hacia un objeto.

La característica principal de un sistema de nombre es que no debe de presentar ambigüedades, para un momento dado, un nombre refiere a uno y sólo un recurso en el sistema.

2.3.2 Tipos de nombres usuario y de sistema

•         Identificadores de puertos y procesos.

      Nombres textuales de servicios

•         Identificadores de recursos.

•         Nombres de archivos.

•         Direcciones físicas y lógicas de redes

      El nombre de un objeto, por ejemplo un recurso o servidor; especifica        lo que busca un proceso.

    Una dirección especifica dónde se encuentra el objeto.

•         Una ruta especifica cómo llegar ahí.                          

La modificación no autorizada del iPhone OS constituye una fuente muy importante de inestabilidad, interrupciones de los servicios y otros problemas.

Se pueden clasificar a las violaciones de seguridad en tres categorías.

 

 LIBERACIÓN NO AUTORIZADA DE INFORMACIÓN: Ocurre cuando una persona no autorizada tiene la posibilidad de leer y tomar ventaja de la información almacenada en una computadora. También se incluye el uso no autorizado de un programa.

MODIFICACIÓN NO AUTORIZADA DE INFORMACIÓN: Este tipo de violación se da cuando una persona tiene la posibilidad de alterar la información almacenada en un sistema computacional.

 BLOQUEO NO AUTORIZADO DE SERVICIOS: Se da cuando una persona no autorizada bloquea la capacidad de algún usuario autorizado, a accesar la información almacenada en un sistema computacional.

SEGURIDAD EXTERNA:(llamada comúnmente seguridad física), se encarga de regular el acceso al hardware del sistema, incluyendo: discos, cintas, reguladores y no-break, acondicionadores de aire, terminales, procesadores.

SEGURIDAD INTERNA: se encarga del acceso y uso del software almacenado en el sistema. A diferencia de la seguridad física, existe el tema de autenticación, en el cual el usuario se registra (login) en el sistema para accesar a los recurso de hardware y software del mismo.

 

2.3.3 Resolución de nombres de dominio

El mecanismo que consiste en encontrar la dirección IP relacionada al nombre de un ordenador se conoce como "resolución del nombre de dominio". La aplicación que permite realizar esta operación (por lo general, integrada en el sistema operativo se llama "resolución". Cuando una aplicación desea conectarse con un host conocido a través de su nombre de dominio (por ejemplo, "es.kioskea.net"), ésta interroga al servidor de nombre de dominio definido en la configuración de su red. De hecho, todos los equipos conectados a la red tienen en su configuración las direcciones IP de ambos servidores de nombre de dominio del proveedor de servicios.

2.3.4 Servidores y agentes de nombres

En la actualidad, la ICANN está formalmente organizada como una corporación sin fines de lucro y de utilidad pública. Está administrada por una Junta de Directores, que está compuesta por seis representantes de las organizaciones de apoyo, sub-grupos que se ocupan de las secciones específicas de las políticas de ICANN en virtud de la competencia, ocho representantes independientes del interés público general, seleccionados a través de un Comité de nominaciones que representan a todas las circunscripciones de la ICANN, y el Presidente y Director Ejecutivo, nombrado por el resto de la Junta.

 




El mapeo de rutas consiste en la relación de equivalencia entre un tipo de ruta u otro tipo. Recordar que las rutas consisten en la serie de ubicaciones para poder acceder a un recurso. Otro nombre que recibe el mapeo de rutas es el de encaminamiento.


El problema principal de cualquier sistema de nombre reside en encontrar de manera fácil, sencilla y rápida cualquier recurso a través del identificador (nombre) dado. Para solucionar este problema, Terry y otros propusieron un modelo de facilidades que debe de poseer todo sistema de nombres, dichas características son las siguientes:

ü  Facilidad centralizada de nombramiento

ü  Facilidad replegada de nombramiento

ü  Facilidad descentralizada de nombramiento

ü  Facilidad distribuida de nombramiento

ü  Facilidad jerárquica de nombramiento

 

 

 

 

No hay comentarios.:

Publicar un comentario