Вы находитесь на странице: 1из 36

UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO

Facultad de Ingeniera en Ciencias de la Computacin y Telecomunicaciones (FICCT)

Sistemas operativos ii

sistemas distribuidos

Por: Ing. Edwin Calle Terrazas


Semestre I/2017
Un sistema distribuido es una coleccin de computadoras
interconectados a travs de una red de comunicaciones.
Desde el punto de vista de un procesador concreto de un sistema
distribuido, el resto de los procesadores y sus respectivos recursos
son remotos, mientras que sus propios recursos son locales.
Los procesadores de un sistema distribuido pueden variar en
cuanto a tamao y a funcin.

Hay cuatro razones principales para construir sistemas distribuidos:


comparticin de recursos, aceleracin de los clculos, fiabilidad y
comunicacin.
Comparticin de recursos
Si hay varias nodos (con capacidades diferentes) conectados entre
s, un usuario en uno de los nodos puede utilizar los recursos
disponibles en otro.
Por ejemplo, un usuario en el nodo A podra estar utilizando una
impresora lser ubicada en el nodo B. Mientras tanto, un usuario
en B podra acceder a un archivo que esta en A.

En general, la comparticin de recursos en un sistema distribudo,


proporciona mecanismos para compartir archivos en sitios
remotos, procesar informacin en una base de datos distribuida,
imprimir archivos en sitios remotos, utilizar dispositivos hardware
especializados, etc.
Aceleracin de los clculos
Si un determinado clculo puede dividirse en una serie de clculos
de menor envergadura que puedan ejecutarse de forma
concurrente, un sistema distribuido nos permitir distribuir esos
subclculos entre los diversos nodos; los subclculos podrn
ejecutarse de manera concurrente, permitindonos obtener una
aceleracin de los clculos.

Adems, si un nodo concreto est actualmente sobrecargado de


trabajo, parte de las tareas pueden desplazarse a otros sitios que
estn experimentando una menor carga. Esta transferencia de
trabajos se denomina comparticin de carga.
Fiabilidad
Si falla uno de los nodos de un sistema distribuido, los nodos
restantes pueden continuar operando, proporcionando al sistema
una mayor fiabilidad. Si el sistema est compuesto de mltiples
instalaciones-autnomas de gran tamao (es decir, computadoras
de propsito general), el fallo de una de ellas no debera afectar a
las restantes.

En general, si existe la suficiente redundancia (tanto en el


hardware como en los datos), el sistema podr continuar operando
incluso aunque fallen algunos de los nodos.
El fallo de un nodo debe ser detectado por el sistema y puede que
sea necesario llevar a cabo las acciones apropiadas para
recuperarse del fallo.
Comunicacin
Cuando hay varios sitios conectados entre s mediante una red de
comunicaciones, los usuarios de los diferentes nodos tienen la
oportunidad de intercambiar informacin.
Dichas funciones incluyen la transferencia de archivos, los inicios
de sesin, el correo electrnico y las llamadas a procedimientos
remotos (RPC).

La ventaja de un sistema distribuido es que estas funciones


pueden llevarse a cabo a travs de grandes distancias. Dos
personas situadas geogrficamente distantes pueden, por ejemplo,
colaborar en un proyecto. Transfiriendo los archivos del proyecto,
conectndose a los sistemas remotos de la otra persona para
ejecutar programas e intercambiar mensajes de correo electrnico,
para coordinar el trabajo, etc.
ESTRUCTURA DE SISTEMAS DISTRIBUIDOS
TIPOS DE SISTEMAS OPERATIVOS DISTRIBUIDOS
Sistemas operativos de red y sistemas operativos distribuidos.
Los sistemas operativos de red son ms sencillos de implementar,
pero los usuarios encuentran generalmente ms dificultades para
acceder a ellos y utilizarlos que con los sistemas operativos
distribuidos, que proporciona mayor funcionalidad.
SISTEMAS OPERATIVOS DE RED
Los sistemas operativos de red (Network Operating System,
NOS), son aquellos S.O que tienen herramientas para el uso,
gestin y mantenimiento de la red.
Tiene como objetivo coordinar y manejar las actividades y
recursos en una red de computadoras. As como herramientas
destinadas a correo electrnico, envo de mensajes, transferir
archivos de una computadora a otra, ejecutar aplicaciones
contenidas en otras mquinas, comparticin de recursos
hardware, etc.
Un sistema operativo de red, proporciona un entorno en el que los
usuarios, pueden acceder a recursos remotos ya sea iniciando
una sesin en la mquina remota apropiada o transfiriendo datos
desde la mquina remota a su propia mquina.
CARACTERSTICAS DE UN SISTEMA OPERATIVO DE RED
El usuario ve un conjunto de mquinas independientes (no
hay transparencia)
Se debe acceder de forma explcita a los recursos de otras
mquinas (conocer su localizacin)
Cada computadora tiene su sistema operativo privado.
Cada usuario normalmente trabaja en su propia computadora,
Si usa una computadora diferente, requiere algn tipo de login
para conectarse remotamente.
Conecta todos los equipos y recursos de la red y responde a la
necesidad de compartir recursos.
Gestin de usuarios centralizada.
Comparte recursos (lleva a cabo la coordinacin y los
privilegios a la hora de compartir). Por tanto, mejora
notablemente la utilizacin de los recursos.
ESTRUCTURA DE REDES
Bsicamente hay dos tipos de RED:
Redes de rea local. (LAN)
Redes de rea amplia. (WAN)

La principal diferencia entre los dos tipos es la forma en que estn


distribuidas geogrficamente. Las redes de rea local estn
compuestas de procesadores distribuidos en un rea pequea
(como por ejemplo un nico edificio o un conjunto de edificios
adyacentes), mientras que las redes de rea extensa estn
compuestas de una serie de procesadores autnomos distribuidos
en una rea de gran tamao (como por ejemplo todo un pas).
TOPOLOGA DE RED
Los nodos de un sistema distribuido pueden conectarse
fsicamente de diversas maneras y cada configuracin tiene sus
ventajas y desventajas. Podemos comparar las distintas
configuraciones usando los siguientes criterios:
Coste de instalacin. El coste de enlazar fsicamente los nodos
que forman el sistema.
Coste de comunicaciones. El coste en tiempo y en dinero para
enviar un mensaje desde el nodo A al nodo B.
Disponibilidad . El grado hasta el que puede accederse a los
datos a pesar del fallo de algunos enlaces o nodos.
TOPOLOGA DE REDES
PRACTICA 1
Instalar y configurar los sistemas operativo de Red: Windows Server 2012 y Windows
7, para transferir archivos, ejecutar aplicaciones y compartir recursos.
SISTEMAS OPERATIVOS DISTRIBUIDOS
Permiten distribuir trabajos, tareas o procesos, entre un conjunto
de procesadores.
En un sistema operativo distribuido, los usuarios acceden a los
recursos remotos de la misma forma en la que acceden a los
recursos locales.

Los sistemas operativos distribuidos abarcan los servicios de la


red, logrando integrar recursos (impresoras, unidades de
respaldo, procesos) en una mquina, que el usuario acceda de
forma transparente. La migracin de datos y de procesos entre
un sitio y otro est bajo el control del sistema operativo
distribuido.
CARACTERSTICAS DE LOS SISTEMAS OPERATIVOS
DISTRIBUIDOS
Se comporta como un SO nico (visin nica)
Distribucin con transparencia
Se construyen normalmente como micro ncleos que ofrecen
servicios bsicos de comunicacin.
Todos los computadores deben ejecutar el mismo Sistema
Operativo Distribuido
Ejemplos : Cluster, Grid.
PROPIEDADES DE LOS SISTEMAS DISTRIBUIDOS

Transparencia
El usuario percibir que el sistema es un nico sistema y no
varios componentes separados.
Existen formas de transparencia, las que ms se consideran
en un sistema distribuido:
De acceso: no hay preocupacin de la distribucin de los
archivos. Los programas deben acceder de igual forma
archivos locales y remotos.
De localizacin: Los archivos deben poder cambiarse sin
que cambie el nombre.
Fiabilidad
Capacidad para realizar correctamente y en todo momento
las funciones para las que se ha diseado.
Disponibilidad: Es la fraccin de tiempo que el sistema est
operativo. El principal parmetro para medir la disponibilidad
es el tiempo medio entre fallos MTBF (Mean Time Between
Failures), pero hay que considerar tambin el tiempo de
reparacin.
Tolerancia a fallos: Un sistema operativo distribuido puede
proporcionar los recursos y servicios necesarios para
alcanzar altos niveles de fiabilidad, o la capacidad para
prevenir y/o recuperarse de los errores. La tolerancia a
fallos es la capacidad de un sistema para continuar la
operacin en presencia de un fallo. En el caso, el sistema
debe detectar y recuperar la funcionalidad completa.
Escalabilidad
Una de las caractersticas de los sistemas distribuidos es
su modularidad, lo que le permite una gran flexibilidad y posibilita
su escalabilidad, definida como la capacidad del sistema para
crecer sin aumentar su complejidad ni disminuir su rendimiento.
Debe ser de fcil ampliacin sin que para ello los usuarios deban
modificar su protocolo de comunicacin, ni afecte la EFICIENCIA
del sistema.
Al crecer un sistema puede tener varios problemas:
HARDWARE SOFTWARE
No se puede aadir mas Se pierden prestaciones,
equipos. Centralizacin de datos y
Dimensionamiento de las algoritmos.
direcciones
Consistencia

Problemas relacionados con la replicacin


La red de interconexin es una nueva fuente de fallos
La seguridad del sistema es ms vulnerable

Problemas para mantener la consistencia


Distribucin fsica: varias copias, cada una con su
estado
Errores y/o retardos en las comunicaciones
Ausencia de reloj global

PRACTICA 2
Montar un Cluster server
SERVICIOS REMOTOS
Un acceso remoto es poder acceder desde una computadora a un
recurso ubicado fsicamente en otra computadora que se
encuentra geogrficamente en otro lugar, a travs de una red
local o externa (Ejemplo: Internet).
En el acceso remoto se ven implicados protocolos y programas en
ambas computadoras que permitan recibir/enviar los datos
necesarios.
En caso de que un usuario solicita el acceso a un archivo
remoto:
Se localiza el servidor que contiene el archivo mediante un
esquema de nominacin apropiada.
Se debe efectuar la transferencia de datos para satisfacer la
solicitud de acceso remoto del usuario.

PRACTICA 3
Envo remoto de datos y mensajes
SISTEMAS DE ARCHIVOS DISTRIBUIDOS
NOMBRADO Y TRANSPARENCIA
Los nombres establecen una correspondencia entre los objetos
lgicos y fsicos. Por lo regular, un usuario se refiere a un archivo
con un nombre textual, el cual se transforma en un identificador
numrico de ms bajo nivel que a su vez corresponde con
bloques de disco.

Esta correspondencia proporciona a los usuarios una abstraccin


de un archivo que oculta los detalles de cmo y en que parte del
disco esta almacenado realmente.
ACCESO A ARCHIVOS REMOTOS
Un servidor de archivos, es una computadora dedicada a
almacenar archivos y carpetas a los que se puede acceder
remotamente.
Contemplan la conexin por parte de distingos usuarios
Gestionan los permisos de cada usuario
Ejecutan algn tipo de servicio que permite la conexin remota
y la transferencia o acceso a los archivos

Mtodo de acceso a archivos:


SSH, Servidor de shell remoto SSH, permite la transferencia
de archivos.
Network File System (NFS), Sistema de archivo en red,
permite montar carpetas compartidas remotos, y usarlas como
si se tratar de carpetas locales (caractersticos de sistemas
UNIX), Es un servicio que trabaja a travs de RPC.
Samba (CIFS), paquete que implementa el protocolo CIFS
para acceso a archivos en impresoras en red
File Transfer Protocol (FTP), Transferencia de archivos
entres dos computadoras (ejemplo, programa FileZilla)

PRACTICA 3
Configurar servicios FTP y SSH
SERVICIOS CON Y SIN MEMORIA DE ESTADO
Existen dos tcnicas para almacenar la informacin del lado
del servidor cuando un cliente accede a archivos remotos. O
bien el servidor lleva la cuenta de cada archivo al que est
accediendo cada cliente
En el primero de los casos, el servicio proporcionado tiene
memoria del estado, en el segundo caso, no tiene memoria
del estado.
El escenario tpico de un servicio de archivos con memoria
del estado sera el siguiente:
Un cliente debe realizar una operacin open () sobre un
archivo antes de acceder a dicho archivo.
El servidor extrae la informacin acerca del archivo desde su disco,
la almacena en la memoria y proporciona al cliente un identificador
de conexin que es exclusivo de ese cliente y de ese archivo
concreto que se ha abierto.

Un servicio de archivos sin memoria del estado evita la


informacin de estado haciendo que cada solicitud sea
autocontenida. En otras palabras, cada solicitud identifica el
archivo y la posicin dentro del archivo (para los accesos de
lectura y escritura) de modo completo. El servidor no necesita
mantener una tabla de archivos abiertos en memoria principal,
aunque usualmente lo hace por razones de eficiencia. Adems, no
hay necesidad de establecer y terminar una conexin mediante
operaciones open () y close (). Estas operaciones son totalmente
redundantes, ya que cada operacin de archivo es totalmente
autnoma y no se considera parte de una sesin.
SERVICIOS CON Y SIN MEMORIA DE ESTADO
Ventajas de los servidores con estado
Mensajes de peticin ms cortos
Mejor rendimiento (se mantiene informacin en memoria)

Facilita la lectura adelantada. El servidor puede analizar el


patrn de accesos que realiza cada cliente
Ventajas de los servidores sin estado
Ms tolerante a fallos
No son necesarios open y close. Se reduce el numero de

mensajes
No se gasta memoria en el servidor para almacenar el estado.
GESTIN DISTRIBUIDA DE PROCESOS
La gestin distribuida de procesos distribuye los recursos de proceso
entre todos los procesos de la red.
Debe ofrecer medios para realizar operaciones con procesos locales y
remotos.
Debe minimizar los tiempos globales de respuesta. Reparto de la carga:
ejecucin remota, migracin.
Un proceso es un programa en Ejecucin

Si dos procesos se solapan en el tiempo

Sobre un procesador Sobre Varios procesadores

Multiprogramacin Ejecucin en Paralelo

Memoria Compartida Unidos por una red

Sistema Multiprocesador Procesamiento Distribuido


Aplicacin distribuida
Es un aplicacin con distintos componentes que se ejecutan en
entornos separados, normalmente en diferentes plataformas
conectadas a travs de la red.

La distribucin se refiere a la construccin de software por partes,


a cada parte se le asigna una serie de responsabilidades entero
de un sistema.

La distribucin habla de que las partes o componentes se


ejecutan en diferentes mquinas (fsica)
MIGRACIN DE PROCESOS
La migracin de procesos es la transferencia de una parte
suficiente del estado de un proceso desde una computadora a
otra, para que el proceso se pueda ejecutarse en la mquina
destino.
El inters en este concepto surgi de la investigacin sobre formas
de equilibrar la carga entre varios sistemas de red, aunque la
aplicacin del concepto se entiende actualmente ms all de este
campo.
La migracin de procesos es deseable en sistemas
distribuidos por:
Comparticin de carga
Moviendo procesos de un sistema muy cargado a otro poco
cargado, la carga puede equilibrarse para mejorar el rendimiento
global. Datos empricos sugieren que son posibles mejoras del
rendimiento.
Disponibilidad
Se puede necesitar que los procesos de larga duracin se
muevan para sobrevivir en el caso de fallos que puedan ser
conocidos anticipadamente o anticipndose a paradas del sistema
planificadas. Si el sistema operativo proporciona la informacin,
un proceso que desea continuar puede bien migrar a otro sistema
o asegurarse que podr re arrancarse en el sistema actual en
algn momento posterior.

Rendimiento de las comunicaciones


Los procesos que interaccionan intensivamente pueden llevarse
al mismo nodo para reducir el coste de las comunicaciones
mientras dure su interaccin.
ESTADOS GLOBALES DISTRIBUIDOS
Todos los problemas de concurrencia que se plantea un sistema
fuertemente acoplado, como la exclusin mutua, el interbloqueo y
la inanicin, tambin aparecen en un sistema distribuido. Las
estrategias de diseo en este campo se complican con el hecho
de que no existe un estado global del sistema.

Es decir, no es posible que el sistema operativo o algn proceso


conozcan el estado actual de todos los procesos del sistema
distribuido. Un proceso puede conocer solamente el estado actual
de lodos los procesos del sistema local, accediendo a los bloques
de control de proceso en la memoria.
El sistema operativo no puede conocer el estado actual
(corriente) de todos los procesos en el sistema distribuido. Un
proceso solo puede conocer los estados corrientes de todos los
procesos en el sistema local. Los procesos remotos solo conocen
la informacin sobre estados que es proporcionada por los
mensajes recibidos Generalmente estos mensajes presentan
informacin de estado del pasado.

EJEMPLO
Una cuenta de banco est distribuida sobre dos sucursales. La
cantidad total de la cuenta es la suma de cada sucursal. El
balance de la cuenta es determinado a las 3 PM. Para requerir la
informacin se envan mensajes.
SISTEMA DE EJECUCIN DISTRIBUIDA

El software distribuido requerido para facilitar las interacciones


cliente-servidor se denomina middleware.
El acceso transparente a servicios y recursos no locales
distribuidos a travs de una red se provee a travs del
middleware, que sirve como marco para la comunicaciones
entre las porciones cliente y servidor de un sistema.
El middleware define: el API que usan los clientes para
pedir un servicio a un servidor, la transmisin fsica de la
peticin va red, y la devolucin de resultados desde el
servidor al cliente.
Ejemplos de middleware estndar : ODBC, para bases de
datos, Lotus para groupware, HTTP y SSL para Internet y
CORBA, DCOM y JAVA RMI para objetos distribuidos.
El middleware fundamental o genrico es la base de los
sistemas cliente-servidor.
PROGRAMAS DE APLICACIN DISTRIBUIDA CLSICOS
Una aplicacin distribuida que sigue el modelo cliente-servidor
tiene:
Lado servidor: Programa que se ejecuta en un computador que
est conectado a una red. Esta a la escucha en un puerto,
esperando las peticiones de los clientes; por ejemplo, un servidor
Web escucha en el puerto 80.
Lado cliente: Programa que ejecuta el usuario de la aplicacin. El
cliente hace sus peticiones al servidor a travs de la red. Por
ejemplo, un navegador Web.
Protocolo de aplicacin propicia la comunicacin entre el cliente y
el servidor.
Algunas de las aplicaciones distribuidas ms conocidas son:
Remote login
Correo electrnico
Navegacin Web.
PROGRAMACIN DISTRIBUIDA EN LA WEB
Desarrollo de programas en la web
Caso particular de los sistemas Cliente-Servidor con
representacin remota. En donde se dispone de un protocolo
estndar: HTTP y un Middleware denominado WebServer. En la
actualidad la aplicacin de sistemas informticos basados en
Internet, es una herramienta fundamental para las organizaciones
que desean tener cierta presencia competitiva.

Вам также может понравиться