jueves, 16 de octubre de 2014
SISTEMAS OPERATIVOS DISTRIBUIDOS PARA AMBIENTES DISTRIBUIDOS
“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
ü 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
ü 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:
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:
ü 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:
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.
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
Algunos
fallos en el funcionamiento de un sistema pueden originarse por:
ü Especificaciones
impropias o con errores.
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.
2.2 Sincronización
Sistemas Distribuidos
DISTRIBUIDOS
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).
En ciertos sistemas es importante la
hora real del reloj:
2.2.2 Relojes Lógicos
El software del reloj lógico
Las principales funciones del software manejador del reloj son:
Evitar que los procesos se ejecuten durante más tiempo del
permitido.
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
MEMORIA CACHÉ
En los sistemas de archivos convencionales, el fundamento para la memoria caché es la reducción de
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
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.
• 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
2.3.4 Servidores y agentes de nombres
En la actualidad,
Suscribirse a:
Comentarios de la entrada (Atom)







No hay comentarios.:
Publicar un comentario