miércoles, 30 de mayo de 2012

UNIDAD II


Unidad 2
“Comunicación en los Sistemas Operativos Distribuidos”


 2.1 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.


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.

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.


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.

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.


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.


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.
Comunicación  en los sistemas operativos distribuidos


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.


EXCLUSIÓN MUTUA
La condición de exclusión mutua se aplica a los os que no pueden ser compartidos. Por ejemplo, varios procesos no pueden compartir simultáneamente una impresora.
Los archivos de sólo lectura son un buen ejemplo de recurso que puede compartirse. Si varios procesos intentan abrir un archivo de sólo lectura al mismo tiempo, puede concedérseles acceso al archivo de forma simultánea. Un proceso no necesita esperar nunca para acceder a un recurso compatible.


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.


TRANSACCIÓN ATÓMICATRANSACCIÓN O ACCIÓN ATÓMICA
La principal propiedad de la transacción atómica es el “todo o nada”: O se hace todo lo que se tenía que hacer como una unidad o no se hace nada.
Un esquema para garantizar la adecuada sincronización de la información en sistemas centralizados como distribuidos es el uso de transacciones.

Las primitivas de las transacciones son:
BEGIN_TRANSACTION (inicio de transacción)
END_TRANSACTION (fin de transacción)
ABORT_TRANSACTION (deshacer operación)
READ (leer datos de un archivo u objeto)
WRITE (escribir datos a un archivo u objeto)

INTERBLOQUEO
Una situación de interbloqueo tiene lugar cuando ninguno de los procesos que compiten.
Por los recursos del sistema o interactúan entre sí puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento.
El interbloqueo se define como el conjunto de procesos que compiten por los recursos  del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión de concurrente de procesos, para el caso general no existe una solución eficiente.
ü  Nominación: En los sistemas distribuidos los nombres hacen referencia a cualquier entidad, ya sea un archivo, un periférico, un proceso, etc. que se pueden encontrar en máquinas remotas.
ü  Los servidores de nombres ayudan a localizar fácilmente y hacer transparente el acceso a los recursos (transparencia de localización).


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.
•         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ÓNOcurre 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.

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 direcciones corresponde en la relación de equivalencia entre un tipo de nombre a otro tipo de nombre; por ejemplo, de un nombre de usuario a un nombre de sistema.

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




.
RESUMEN DE LA UNIDAD II











No hay comentarios:

Publicar un comentario