You are on page 1of 34

Unidad 1 - Sistemas operativos en

ambientes distribuidos
Sistemas Operativos II
Equipo 1
7mo Semestre, Ing. En TICs
Introduccin
La computacin ha tenido grandes cambios desde sus inicios, todo comenz con
enormes equipos que permitan realizar tareas limitadas y que eran de uso
exclusivo de organizaciones muy selectas (con mucho dinero); ahora nuestras
computadoras, personales o porttiles que tienen las mismas e incluso mayores
capacidades que los primeros equipos, y estn cada vez ms involucradas en el
quehacer cotidiano.
Los mayores cambios se atribuyen a dos causas:
- El desarrollo de los microprocesadores, que permitieron reducir en tamao y
costo a los equipos.
- El desarrollo de las redes de rea local y de las comunicaciones que
permitieron conectar equipos y sistemas a altas velocidades de transmisin.

Es en este contexto que aparece el concepto de "Sistemas Distribuidos" que


tiene como mbito de estudio las redes como por ejemplo: Internet, redes de
telfonos mviles, redes corporativas, redes de empresas, redes multijugadores,
redes sociales etc.
1.1 Conceptos y caractersticas
de los sistemas operativos de
redes y sistemas operativos
centralizados.
Que son los sistemas operativos de redes?
Son aquellos sistemas que mantienen a dos o ms
computadoras unidas a travs de algn medio de
comunicacin fsico.

Algunos S.O. de redes


Caractersticas de los Sistemas Operativos de Red
1) Gestin centralizada de recursos y equipos de la red se realiza, por un
servidor con S.O. en red.
2) Aparece la figura del administrador de red, que gestiona la infraestructura de
la red (no presente en grupos de trabajo).
3) Conecta todos los equipos y recursos de la red.
4) Coordina las funciones de los perifricos y recursos.
5) Proporciona seguridad controlando el acceso a los datos y recursos.
6) Optimiza la utilizacin de los recursos.
Que son los sistemas operativos centralizados?
Se trata de aquellos que utilizan los recursos de una sola computadora, es
decir, su memoria, CPU, disco y perifricos.
Suele tratarse de una computadora de tipo desktop, en las cuales es comn
encontrar un monitor grande con un teclado y un mouse, adems de un case
para albergar la unidad de procesamiento y los dems componentes.

Esquema del funcionamiento de un S.O. centralizado.


Caractersticas de los Sistemas Operativos Centralizados
Gestin de procesos.
Respecto al manejo de procesos podemos cubrir 3 cosas: la
comunicacin entre procesos, la sincronizacin y la
planificacin. Para ejecutar un proceso, se le asigna memoria
y se ejecuta sobre el (normalmente) nico procesador del
sistema.

Gestin de memoria.
El manejo de memoria tiene que ver con la asignacin de
memoria, el mapeo lgico y fsico, la memoria virtual y los
mecanismos de proteccin.
Gestin de dispositivos.
Sobre el manejo de dispositivos podemos tratar los drivers de los dispositivos,
el buffering y el spooling.

Gestin de archivos.
Como su nombre lo indica, el adecuado y organizado manejo de archivos
segn las preferencias y criterios establecidos por un usuario.
1.2 Conceptos y caractersticas de
los sistemas operativos
distribuidos
Que es un sistema operativo distribuido?
Son aquellos que permiten distribuir trabajos, tareas o procesos, entre un
conjunto de procesadores. Puede ser que este conjunto de procesadores est en
un equipo o en diferentes, en este caso es trasparente para el usuario. Existen
dos esquemas bsicos de stos. Un sistema fuertemente acoplado es aquel que
comparte la memoria y un reloj global, cuyos tiempos de acceso son similares
para todos los procesadores. En un sistema dbilmente acoplado los
procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su
memoria local.

Los sistemas distribuidos deben de ser muy confiables, ya que si un componente


del sistema se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos
los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos,
etc.
Aspectos de los Sistemas Operativos distribuidos
Coleccin de sistemas autnomos capaces de comunicacin y cooperacin
mediante interconexiones hardware y software.
Gobierna operacin de un S.C. y proporciona abstraccin de mquina
virtual a los usuarios.
Objetivo clave es la transparencia.
Generalmente proporcionan medios para la comparticin global de
recursos.
Servicios aadidos: denominacin global, sistemas de archivos
distribuidos, facilidades para distribucin de clculos (a travs de
comunicacin de procesos internodos, llamadas a procedimientos remotos,
etc.).
Caractersticas de Sistemas Distribuidos
1.- Trasparencia
Se dice que un sistema distribuido es trasparente
cuando es visto tanto por el usuario como por el
programador como un sistema convencional de
tiempo compartido.
Se sugieren que 4 tipos de transparencias entran en
manera de conjuncin al momento de que un S.O.
distribuido lleva a cabo sus respectivas acciones:

Transparencia a la ubicacin.
Transparencia a la replicacin.
Transparencia a la concurrencia.
Transparencia al paralelismo.
2.- Flexibilidad
Este aspecto se refiere a la forma en que debe ser construido el sistema
operativo. Conviven dos escuelas de pensamiento que son las del kernel
monoltico y las del sistema operativo basado en microkernel. La primera
sostiene que los servicios del sistema deben residir en el sistema operativo y la
segunda que es preciso extraer todos los servicios posibles fuera del ncleo del
sistema operativo y disponerlos en procesos de usuario, logrando un mayor
estructura e independencia en los servicios, que pueden residir en mquinas
diferentes.

Hoy en da el kernel monoltico domina el mundo de los sistemas operativos,


pero parece que el futuro se impondr la filosofa microkernel, debido a su
mayor flexibilidad.
3.- Fiabilidad
Una de las motivaciones originales para tratar de construir sistemas distribuidos
fue el aumento de la fiabilidad del sistema. La fiabilidad tiene varios aspectos.
Uno es la disponibilidad, que es la fraccin de tiempo en que el sistema es
operativo. Otro aspecto de la fiabilidad es el de la seguridad de los datos, que
deben ser protegidos contra accesos no autorizados que los corrompan o
eliminen.

En un sistema con cien UCP's el fallo de uno de ellas no tendr


consecuencias graves, por que su trabajo ser realizado por las otras.
4.- Prestaciones
Por muy brillantemente que hayan sido resueltos los objetivos de transparencia
y fiabilidad de un sistema operativo distribuido, este no tendr xito si es lento.

Un sistema operativo distribuido dar pocas prestaciones en problemas de


granularidad fina, es decir aquellos en que muestran muchos clculos pequeos
que se comunican intensamente. Si son apropiados en la resolucin de
problemas de granularidad gruesa, aquellos que exhiben unos pocos bloques de
clculo independientes y pocas necesidades de comunicacin.
5.- Escalabilidad
Se entiende por escalabilidad a la capacidad de adaptacin y respuesta de un
sistema con respecto al rendimiento del mismo a medida que aumentan de
forma significativa el nmero de usuarios del mismo. Aunque parezca un
concepto claro, la escalabilidad de un sistema es un aspecto complejo e
importante del diseo.

La escalabilidad propone que cualquier ordenador individual ha de ser capaz de


trabajar independientemente como un sistema distribuido, pero tambin debe
poder hacerlo conectado a muchas otras mquinas.
1.3 Sistemas operativos distribuidos: ventajas y desventajas
contra sistemas operativos centralizados ,sistemas operativos
para redes modelo cliente servidor, modelo de n Capas,
caractersticas del hardware y caractersticas del software
(homogneos y heterogneos), direccionamiento lgico y
fsico.
Ventajas y desventajas contra sistemas operativos
centralizados
Ventajas:
Procesadores ms poderosos y a menos costos.
Desarrollo de Estaciones con ms capacidades .
Comparticin de Recursos.
Eficiencia y Flexibilidad.
Respuesta Rpida.
Empleo de tcnicas de procesamiento distribuido.
Disponibilidad y Confiabilidad.
Sistema poco propenso a fallas (Si un componente no afecta a la
disponibilidad del sistema).
Mayores servicios que elevan la funcionalidad (Monitoreo, Telecontrol,
Correo Elctrico, Etc.).
Inclusin rpida de nuevos recursos.
Desventajas:
Requerimientos de mayores controles de procesamiento.
Velocidad de propagacin de informacin (Muy lenta a veces).
Servicios de replicacin de datos y servicios con posibilidades de fallas.
Mayores controles de acceso y proceso (Commit).
Administracin ms compleja.
Modelo de cliente-servidor
Es un modelo de aplicacin distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores y los demandantes,
llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, es
quien le da respuesta a este.
Arquitectura en 2 capas
Esta se utiliza para describir los sistemas cliente/servidor en donde el cliente
solicita recursos y el servidor responde directamente a la solicitud, con sus
propios recursos. Esto significa que el servidor no requiere otra aplicacin para
proporcionar parte del servicio.
Arquitectura en 3 capas
En esta arquitectura cliente/servidor la carga se
divide en tres partes (o capas) con un reparto claro de
funciones: una capa para la presentacin (interfaz de
usuario), otra para el clculo(donde se encuentre
modelado el negocio) y otra para el
almacenamiento(acceso a datos). Una capa
solamente tiene relacin con la siguiente.
Las aplicaciones al nivel servidor son
descentralizadas de uno a otro, es decir, cada servidor
se especializa en una determinada tarea (por ejemplo:
servidor web y servidor de base de datos)
La arquitectura en 3 niveles permite:
o Un mayor grado de flexibilidad
o Mayor seguridad, ya que la seguridad se puede
definir independientemente para cada servicio y
en cada nivel.
o Mejor rendimiento, ya que las tareas se
comparten entre servidores
Modelo de N capas
En una aplicacin distribuida en n-capas los diferentes procesos estn
distribuidos en diferentes capas no slo lgicas, sino tambin fsicas. Los
procesos se ejecutan en diferentes equipos, que pueden incluso residir en
plataformas o sistemas operativos completamente distintos. Cada equipo posee
una configuracin distinta y est optimizado para realizar el papel que le ha sido
asignado dentro de la estructura de la aplicacin, de modo que tanto los recursos
como la eficiencia global del sistema se optimicen.
Ventajas
Desarrollos paralelos (en cada capa) .
Aplicaciones ms robustas debido al encapsulamiento .
Mantenimiento y soporte ms sencillo (es ms sencillo cambiar un
componente que modificar una aplicacin monoltica).
Mayor flexibilidad (se pueden aadir nuevos mdulos para dotar al sistema
de nueva funcionalidad).
Alta escalabilidad. La principal ventaja de una aplicacin distribuida bien
diseada es su buen escalado, es decir, que puede manejar muchas
peticiones con el mismo rendimiento simplemente aadiendo ms hardware.
El crecimiento es casi lineal y no es necesario aadir ms cdigo para
conseguir esta escalabilidad.

Desventajas
Pone ms carga en la red, debido a una mayor cantidad de trfico de la red.
Es mucho ms difcil programar y probar el software que en arquitectura de
dos niveles porque tienen que comunicarse ms dispositivos para terminar la
transaccin de un usuario.
Caractersticas del hardware y del software
Caractersticas de Hardware en Sistemas Distribuidos
Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas
formas, especialmente respecto de :
La forma de interconectarlas entre s.
Los esquemas de comunicacin utilizados.

Existen diversos esquemas de clasificacin para los sistemas de cmputos con


varias CPU:
Uno de los mas conocidos es la Taxonoma de Flynn:
Considera como caractersticas esenciales el nmero de flujo de instrucciones
y el nmero de flujos de datos.
Un avance sobre la clasificacin de Flynn incluye la divisin de
las computadoras MIMD en dos grupos:
Multiprocesadores: poseen memoria compartida: Los distintos procesadores
comparten el mismo espacio de direcciones virtuales.

Multicomputadoras: no poseen memoria compartida: Ej.: grupo de PC


conectadas mediante una red
Esquema de bus:
Existe una sola red, bus, cable u otro medio que conecta todas las mquinas: Ej.:
la televisin por cable.

Esquema con conmutador:


No existe una sola columna vertebral de conexin: Hay mltiples conexiones y
varios patrones de conexin. Los mensajes de mueven a travs de los medios de
conexin. Ej: el sistema mundial telefnico pblico.

Otro aspecto de la clasificacin considera el acoplamiento entre los equipos:

Sistemas fuertemente acoplados: El retraso al enviar un mensaje de una


computadora a otra es corto y la tasa de transmisin es alta. Generalmente se
los utiliza como sistemas paralelos.

Sistemas dbilmente acoplados: El retraso de los mensajes entre las


mquinas es grande y la tasa de transmisin es baja. Generalmente se los
utiliza como sistemas distribuidos. Generalmente los multiprocesadores estn
ms fuertemente acoplados que las multicomputadoras.
Direccionamiento Lgico- Fsico
Una direccin generada por la CPU se denomina direccin lgica en cambio a
la que es percibida por unidad de memoria se denomina direccin fsica. Los
esquemas de vinculacin de direcciones durante la compilacin y durante la
carga dan pie a un entorno en el que las direcciones lgicas y fsicas son las
mismas. En cambio, la ejecucin del esquema de vinculacin de direcciones
durante la ejecucin produce un entorno en el que las direcciones lgicas y
fsicas difieren. En este caso la direccin lgica suele llamarse direccin
virtual.
El proceso desde que los datos son incorporados y ordenados hasta que se
transmiten al medio se llama encapsulacin. Estos datos son formateados,
segmentados, identificados con el direccionamiento lgico y fsico
para finalmente ser enviados al medio. A cada capa del modelo OSI le
corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente
orden de encapsulamiento:
o Datos
o Segmentos
o Paquetes
o Tramas-bits
o Capa transmite
o Aplicacin datos
o Presentacin
o Sesin
o Transporte segmentos
o Red paquetes
o Enlace de datos tramas
o Fsica bits
1.4 Sistemas distribuidos de alto
rendimiento a bajo costo (clustering) en
sistemas operativos de libre distribucin
Clusters
Un cluster es un conjunto de ordenadores que estn conectados entre s por
medio de una red, para compartir recursos con el objetivo de realizar tareas
y funciones como si fuesen un nico ordenador (memoria distribuida).

Sirve para cuando queramos realizar tareas que necesiten grandes


requerimientos de memoria y CPU y para ahorrarnos horas de trabajo en
tareas y operaciones.
Tipos de Cluster
Hay 3 tipos de cluster:
High Performance o Alto rendimiento.
High Availability o Alta Disponibilidad.
High Reliability o Alta Confiabilidad.
Alto rendimiento
El objetivo es mejorar el rendimiento, de tiempo o precisin, para la
solucin de un problema.
Este tipo suele estar ligado a solucionar los siguientes problemas:
Clculos matemticos.
Mejora de grficos.
Compilacin de programas.
Descifrado de cdigos.
Rendimiento del sistema operativo.

Alta disponibilidad
Los clusters de alta disponibilidad estn destinados a mejorar los
servicios que ofrecen las empresas de cara a los clientes de una red, ya
sea local o de internet. Fundamentalmente tienen dos caractersticas :
Fiabilidad
Disponibilidad

Alta confiabilidad
Con alta confiabilidad se trata de aportar la mxima confianza es un
entorno en el cual se necesita saber que el sistema siempre se va a
comportar de una forma determinada, como por ejemplo sistemas de
respuesta a tiempo real.
Suele ser usado para entornos de tipo empresarial, necesitando un
hardware especializado.
Elementos necesarios
Dos o ms nodos (ordenadores) compuestos al menos por un microprocesador, una memoria y una
interfaz para que se puedan comunicar con la red del cluster.
Hardware apropiado al tipo de cluster que vamos a utilizar.
Tarjeta de red.
Un medio de transmisin entre ellos como por ejemplo RJ-45.
Software de sistema y un software de aplicacin.

Software de sistema
Podemos usar distintos sistemas operativos para conseguir el funcionamiento del cluster, como son:
Ubuntu server
Windows Server
OpenMosix
ParallelKnoppix
Pelican

Software de Aplicacin
Dependiendo del sistema operativo que vayamos a utilizar necesitaremos unos paquetes o programas:
En el caso de Linux:
HeartBeat: ejecuta los servicios en los nodos.
HeartBeat-Stonith: es una tcnica HeartBeat que se encarga de controlar que cuando un servidor est
cado no interfiera en el funcionamiento del cluster.
En el caso del Windows:
A partir de Windows 2003 server los servidores ya viene preparado con el software necesario. Para
mejorar el rendimiento en Windows server 2008 podemos usar Failover Cluster.

You might also like