martes, 13 de noviembre de 2012

Unidad II - Comunicación en los sistemas operativos distribuidos



2.1 Comunicación: comunicación con cliente – servidor, comunicación con llamada a procedimiento remoto, comunicación en grupo, tolerancia a fallos.

TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.

Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.

Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.

El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.


                                             Figura: El modelo de aplicación cliente/servidor

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.

Llamada A Procedimiento Remoto



Ø  Creado por Bireel & Nelson en 1984.
Ø  Permiten a los programas llamar procedimientos localizados en otras máquinas.
Ø  Un proceso X en una máquina A, puede llamar un procedimiento localizado en una  máquina B.
Ø  Información puede llevarse del proceso invocador al invocado dentro de los parámetros.
Ø  Ningún mensaje u operación de E/S es visible para el programador.

Problemas a resolver:
Ø  Procedimiento invocador e invocado se ejecutan en diferentes máquinas, i.e. diferentes direcciones y posiblemente diferentes arquitecturas.
Ø  Ambas máquinas pueden fallar.


Tolerancia A Fallos






2.2 Sincronización: relojes físicos, relojes lógicos, usos de la sincronización.

Reloj Logico

Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Este es un cronómetro que consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que oscila con una frecuencia bien definida que depende de la forma en que se corte el cristal, el tipo de cristal, la magnitud de la tensión.

A cada cristal se le Asocian dos registros:
          Registro contador.
          Registro mantenedor.

Cada oscilación del cristal decrementa en “1” al contador y cuando el contador llega a “0”, se genera una interrupción, y el contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo.

Cada interrupción se denomina marca de reloj.
Para una Computadora y un Reloj, no les interesan los pequeños desfasajes del reloj porque todos los procesos de la máquina usan el mismo reloj y tendrán consistencia interna, lo que importan sin los tiempos relativos.
Para varias computadoras con sus respectivos relojes es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia. ya que hay una pérdida de sincronía en los relojes (de software), es decir que tendrán valores distintos al ser leidos. La diferencia entre los valores del tiempo se llama distorsión del reloj y podría generar fallas en los programas dependientes del tiempo.


Lamport demostró que la sincronización de relojes es posible y presentó un algoritmo para lograrlo. Este señaló que la sincronización de relojes no tiene que ser absoluta ya que si 2 procesos no interactúan no es necesario que sus relojes estén sincronizados. Este algiritmo se asigna un periodo de tiempo a cada evento.


Relojes Fisico

La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
El algoritmo de Lamport proporciona un orden de eventos sin ambigüedades pero los valores de tiempo asignados a los eventos no tienen porqué ser cercanos a los tiempos reales en los que ocurren.

En ciertos sistemas (ej.: sistemas de tiempo real ), es importante la hora real del reloj ya que se precisan relojes físicos externos (más de uno). Estos se deben sincronizar:

Con los relojes del mundo real. Entre sí, la medición del tiempo real con alta precisión no es sencilla. Estos son los relojes que podemos visualizar en esquina inferior de nuestra computadora.





2.3 Nominación: características y estructuras, tipos de nombres, resolución y distribución, servidores y agentes de nombres, mapeo de direcciones, mapeo de rutas, modelo de Terry.


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.

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.

La seguridad en los sistemas computacionales puede dividirse en dos tipos:
     · Seguridad externa (llamada comúnmente seguridad física), se encarga de regular el acceso al hardware del sistema, incluyendo: discos, cintas, reguladores y no-breaks, 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.

Servidor DNS
- Traducir su nombre de dominio en una dirección IP
- Asignar nombres a todas las máquinas de una red y trabajar con nombres de dominio en lugar de IPs.

Un servidor DNS permite acceder a un dominio en internet entre los millones existentes. Básicamente su función es atender a las peticiones hechas por los distintos programas que acceden a internet y resolver la dirección IP asociada al dominio consultado. Cuando el servidor recibe una consulta realiza una búsqueda en caso de que ese servidor no disponga de la respuesta, el servidor comienza la búsqueda a través de uno o varios Servidores DNS hasta encontrar una respuesta positiva o negativa.




2.4 Comunicación de procesos a través del paso de mensajes en sistemas distribuidos.


No hay comentarios:

Publicar un comentario