Anda di halaman 1dari 24

10 de Septiembre de 2014

Manual
Unidad 1: Sistemas operativos en
ambientes distribuidos.
Docente:
LIC. ISAAC ALBERTO ALDAVE ROJAS.

Alumnos:
CARLOS FALCN FLORES.
DANIEL ONOFRE VALENCIA.
NELSON ARIEL VIDAL VZQUEZ.
ARTURO PREZ LZARO.

Materia:
SISTEMAS OPERATIVOS II.



2
1.1 CONCEPTOS Y CARACTERSTICAS DE LOS SISTEMAS
OPERATIVOS DE REDES Y SISTEMAS OPERATIVOS
CENTRALIZADOS
Un sistema operativo es un conjunto de sistemas y procedimientos que acta como
intermediario entre el usuario y el hardware de un computador y su propsito es
proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo
principal de un sistema operativo es lograr que el sistema de computacin se use de
manera cmoda, y el objetivo secundario es que el hardware del computador se emplee
de manera eficiente.
Existen muchos tipos distintos de sistemas operativos, desde los bsicos como el POST
(Power On Self Test), Sistemas operativos de tiempo real, Sistemas Operativos de Redes,
Mono-Usuarios, Multi-Usuarios entre otros. En el desarrollo de este trabajo estaremos
desarrollando el concepto de Sistema operativo Distribuido, su historia, sus funciones y
aplicaciones y modo de trabajo.
Sistema operativo de red
Sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de
comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes
recursos y la informacin del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador
Motorola 68000, pasando posteriormente a procesadores Intel como Novell NetWare.
Los Sistemas Operativos de red ms ampliamente usados son: Linux, Novell NetWare,
Personal NetWare, LAN Manager, Windows NT Server UNIX.
Ejemplo una red de estaciones de trabajo conectadas mediante una LAN. Cada usuario
tiene una estacin de trabajo para su uso exclusivo: Tiene su propio S. O. La mayora de
los requerimientos se resuelven localmente. Es posible que un usuario se conecte de
manera remota con otra estacin de trabajo: Mediante un comando de login remoto. Se
convierte la propia estacin de trabajo del usuario en una terminal remota enlazada con la
mquina remota. Los comandos se envan a la mquina remota. La salida de la mquina
remota se exhibe en la pantalla local.

3



Sistema operativo centralizado
Aquel que utiliza los recursos de una sola computadora, es decir, su memoria, CPU, disco
y perifricos. Respecto al hardware podemos decir que se suele tratar de un computador
caro y de gran potencia, con terminales alfanumricos directamente conectados. 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. Podemos encontrar este tipo de sistemas
operativos en un entorno de empresa, en el cual puede haber un soporte multiusuario.
Las empresas, en especial las antiguas, utilizan una mainframe potente para dar
capacidad de cmputo a muchos terminales, o tambin se puede encontrar empresas con
abundantes minicomputadores para los empleados que las necesiten en sus actividades.
Uno de los primeros modelos de ordenadores interconectados fue el centralizado, donde
todo el procesamiento de la organizacin se llevaba a cabo en una sola computadora,
normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales.
Los problemas de este modelo son que cuando la carga de procesamiento aumentaba se
tena que cambiar el hardware del Mainframe, lo cual es ms costoso que aadir ms
computadores personales clientes o servidores que aumenten las capacidades.




4
1.2. CONCEPTOS Y CARACTERSTICAS DE LOS SISTEMAS
OPERATIVOS DISTRIBUIDOS.
Dejando un poco de lado la especificacin que nos lleva al Concepto de
S.O. distribuidos segn el subtema anterior, lo definimos como un software que
administra una coleccin de Nodos Computacionales, que trabajan en Red, que
se comunican entre ellos y estn fsicamente separados. La nocin principal para
idear una tecnologa superior proviene de la necesidad de mayor Potencia de
Cmputo. Puede entenderse sta como la necesidad de ejecutar una gran
cantidad de instrucciones complejas en el menor tiempo posible, pero su
aplicacin puede diferir. No es lo mismo procesar una gran cantidad de
operaciones de punto flotante en una aplicacin de sper cmputo, que
administrar los grandes volmenes multimedia en las redes como Facebook o
Twitter, ya que la naturaleza de su aplicacin es distinta. Sin embargo el hecho de
tener que distribuir la carga de procesamiento a travs de un interfaz implica
necesariamente ejecutar tareas de control subyacente para organizar la
distribucin de la carga y hacer acopio de resultados. Del curso anterior
aprendimos que el monitoreo del estado de varias CPU's en un entorno de
administracin del procesador requera necesariamente establecer una mtrica de
sobrecarga, adems de establecer una aproximacin No-Migratoria (sin
redistribucin de sobrecarga) o Migratoria (con redistribucin de sobrecarga) y que
los algoritmos respectivos, no obstante su naturaleza centralizada o distribuida
entre las CPU's consumen gran cantidad de recursos informticos, en complejidad
o en penalizacin.
Al visualizar el problema anterior, surge de manera intuitiva la nocin de
que un S.O Distribuido no requiera tanta complejidad, y que utilice la
comunicacin con otros mdulos de forma limitada. Por supuesto que las Leyes de
la Informtica establecen muy claro que los cuellos de botella solo se pueden
desplazar a otras reas menos congestionadas, y que el "trabajo sucio" de
procesar datos no se puede reducir u optimizar ms all de un gasto mnimo.
Entonces el diseo de estos sistemas implica una correcta dispersin de la carga y

5
una fuerte asociacin del procesamiento de alto nivel simblico con la capa de
transporte, que es la encargada de administrar la comunicacin en red. A
diferencia de los Sistemas que operan en una misma frontera, los Sistemas
Distribuidos trabajan de forma independiente, asncrona y soberana. De esta
forma de trabajo surgen los conceptos clave que hacen la diferencia con los S.O.
centralizados: concurrencia, sincronizacin, independencia y coordinacin. El
detalle que distingue a un sistema tal es que a la experiencia del usuario, el S.O.
da la impresin de ser uno slo, monoltico.
Un S.O. Distribuido es, en conclusin, algo ms que un S.O. en red, ya que
en realidad se trata de varios Sistemas Autnomos que trabajan de manera
conjunta. Esto se ha probado y usado de diversas formas:
CLUSTERS: Es un grupo de computadoras interconectadas que se
comportan como una sola sper-computadora, generalmente usadas para
clculos de ingeniera de alto desempeo o para simuladores de alta
complejidad (clima, movimientos poblacionales fsica de alto nivel,
matemticas tericas).
GRIDS (matrices de cmputo): Es un tipo de sistema distribuido que
permite compartir y agregar de manera coordinada recursos heterogneos
distribuidos y autnomos con base en los requerimientos de Calidad en el
Servicio (QoS) de los usuarios. Los Grids se usan comnmente para
soportar aplicaciones emergentes en las reas de e-Science y e-Business;
que son operadas por comunidades de personas distribuidas
geogrficamente, que se disponen para participar en actividades
colaborativas, para resolver problemas a gran escala y que requieren de
compartir recursos como CPU, datos, aplicaciones o instrumentos
cientficos.
P2P: Estas redes peer to peer son Sistemas descentralizados y
distribuidos, que permiten aplicaciones como compartir archivos,
mensajera instantnea, juegos multijugador en lnea, y distribucin de
contenido sobre redes pblicas, por ejemplo TV por Internet o Bit Torrent.

6
Sistemas de Almacenamiento Distribuido: Por ejemplo el NFS (Network
File System) permiten al usuario tener una visin nica de datos que estn
almacenados en diferentes Sistemas de Archivos y computadoras
dispersas en la misma o en otras redes.

Las caractersticas principales de un Sistema Distribuido son:
Separacin Funcional: Esto significa que las fronteras del software y del
hardware para la funcionalidad y servicios proporcionados, dependen de la
capacidad y el propsito de cada entidad del sistema.
Distribucin Inherente: Las entidades como la informacin, personas y
sistemas estn distribuidos de forma natural o implcita. Por ejemplo si
diferente informacin es creada y mantenida por personas diferentes. Esta
informacin podra ser generada, almacenada, analizada y usada por
distintos sub-sistemas o aplicaciones que bien pudieran no estar al tanto de
la existencia de otras entidades en el sistema.
Confiabilidad: Es la preservacin a largo plazo y respaldo (espejeo) en
diferentes lugares estratgicamente localizados.
Escalabilidad: La posibilidad de agregar ms recursos para incrementar el
desempeo (performance) y la disponibilidad.
Economa: El compartir recursos entre muchas entidades ayuda a reducir
el costo de propiedad.

Como consecuencia de estas caractersticas, un sistema distribuido puede
operar de manera concurrente y posiblemente autnoma. Las tareas pueden ser
ejecutadas de manera independiente y las acciones son coordinadas en etapas
bien definidas mediante el intercambio de mensajes. Adicionalmente las entidades
sern heterogneas y los fallos son particulares. Generalmente no hay una
entidad o proceso que tenga conocimiento del estado general del sistema.


7

CONCEPTOS CLAVE EN SISTEMAS OPERATIVOS DISTRIBUIDOS
Hoy en da tenemos operando diversos tipos de Sistemas Distribuidos cada
uno encaminado a resolver distintos tipos de problemas. Los retos que
enfrentamos al construir un sistema distribuido varan segn sus especificaciones,
sin embargo podemos rescatar en comn la necesidad de manejar los siguientes
escenarios:
Heterogeneidad: Las diferentes entidades en el Sistema deben ser
capaces de interoperar entre s, sin importar las diferencias en sus
arquitecturas, Sistemas Operativos, Protocolos de Comunicacin,
Lenguajes de Programacin, interfaces de software, modelos de seguridad
y formatos de medios.

Tolerancia a Fallos y Manejo de errores: De tal suerte que un fallo en un
componente no debe provocar la "cada" del sistema, sino que deber ser
aislado y evitarse mediante un re-enrutamiento.
Escalabilidad: El sistema debera trabajar eficientemente al incrementarse
el nmero de usuarios simultneos y la agregacin de un nuevo recurso
deber incrementar el desempeo en general del sistema.
Concurrencia: Los recursos deben ser accesibles a varias entidades
simultneamente en ambiente compartido.
Apertura y Extensibilidad: Las interfaces deben estar limpiamente
separadas y pblicamente disponibles para permitir una fcil conectividad y
extensin de los componentes actuales y de otros nuevos.
Estrategia Migratoria y Balance de la carga de trabajo: stas permitirn
el movimiento de tareas dentro de un sistema sin afectar la operacin de
usuarios y aplicaciones, y la distribucin de la carga en todos los recursos
disponibles para mejorar el desempeo.

8
Seguridad: el acceso a los recursos deber tener un mecanismo de
seguridad para asegurar que todos los usuarios tengan acceso a todas las
formas de las operaciones.
Transparencia: El concepto de transparencia de un sistema distribuido va
ligado a la idea de que todo el sistema funcione de forma similar en todos
los puntos de la red, independientemente de la posicin del usuario. Queda
como responsabilidad del sistema operativo el establecer los mecanismos
que oculten la naturaleza distribuida del sistema y que permitan trabajar a
los usuarios como si de un nico equipo se tratara.
Eficiencia: La idea base de los sistemas distribuidos es la de obtener
sistemas mucho ms rpidos que los super-computadores actuales. La
propuesta es sencilla, el paralelismo. Para lograr un sistema eficiente hay
que descartar la idea de ejecutar un programa en un nico procesador de
todo el sistema, y pensar en ejecutarlo en la granja de procesadores,
aquellos libres ms rpidos. Este es el mismo problema de la
administracin del Procesador, donde restamos complejidad por economa.
La tarea de optimizar el reparto de la carga en un conjunto de procesadores
es bastante compleja, y depende de muchos aspectos, como son los
parmetros de sobrecarga, la homogeneidad de recursos, la velocidad de
los programas, las perturbaciones en redes pblicas, la localidad de los
datos, los detalles de ciertos dispositivos, la interaccin con usuarios etc.
Flexibilidad: Un proyecto en desarrollo como el diseo de un sistema
operativo distribuido debe estar abierto a cambios y actualizaciones para
mejorarlo. Esta especificacin ha sido abordada con arquitecturas de
ncleo: el ncleo monoltico y el microncleo. Las diferencias entre ambos
son los servicios que ofrece. Mientras el ncleo monoltico ofrece todas las
funciones bsicas del sistema integradas, el microncleo incorpora
solamente las fundamentales, el control de los procesos y su comunicacin
con la memoria. El resto de servicios son compilables y se cargan
dinmicamente a partir de servidores en el nivel de usuario.

9
Ncleo monoltico: Como ejemplo de sistema operativo de ncleo
monoltico est UNIX. Estos sistemas tienen un ncleo grande y complejo,
que engloba todos los servicios del sistema. Est programado de forma no
modular, y tiene un rendimiento mayor que un microncleo. Sin embargo,
cualquier cambio a realizar requiere detener todo el sistema y la
recompilacin del ncleo.
Microncleo: La arquitectura de microncleo ofrece la alternativa al ncleo
monoltico. Se basa en una programacin altamente modular, y tiene un
tamao mucho menor que el ncleo monoltico. Como consecuencia, el
refinamiento y el control de errores son ms rpidos y sencillos. Adems, la
actualizacin de los servicios es ms sencilla y gil, ya que slo es
necesaria la recompilacin del servicio y no de todo el ncleo. Como
contraprestacin, el rendimiento se ve afectado negativamente. En la
actualidad la mayora de sistemas operativos distribuidos en desarrollo
tienden a un diseo de microncleo. Aunque es su defensa podemos decir
que los ncleos tienden a contener menos errores y a ser ms fciles de
implementar y de corregir. As pues, con el microncleo el sistema pierde
ligeramente en rendimiento, pero a cambio consigue un gran aumento de la
flexibilidad.
Robustez: Una de las ventajas claras que nos ofrece la idea de sistema
distribuido es que el funcionamiento de todo el sistema no recae en la
responsabilidad de una sola unidad, sino que cualquier equipo puede
sustituir a otro en caso de que falle. La forma ms evidente de lograr la
Robustez y por lo tanto la Confiabilidad de todo el sistema est en la
redundancia. La informacin no debe estar almacenada en un solo servidor
de archivos, sino en por lo menos dos mquinas. Mediante la redundancia
de los principales archivos o de todos evitamos el caso de que el fallo de un
servidor bloquee todo el sistema, al tener disponibles mltiples respaldos
parciales o totales en los otros equipos.
Comunicacin: La comunicacin entre procesos en sistemas centralizados
se lleva a cabo mediante el uso de memoria compartida entre los procesos.

10
En los sistemas distribuidos, al no haber conexin fsica entre las distintas
memorias de los equipos, la comunicacin se realiza mediante la
transferencia de mensajes, lo cual implica gasto de ancho de banda por el
overhead y nos remite a los problemas de comunicacin en red.

Numerosas compaas de software e Instituciones de Investigacin han
desarrollado tecnologas de cmputo distribuido que implementan algunas o todas
las caractersticas descritas anteriormente, pero tal vez el reto ms grande del
estudiante es vislumbrar y abordar problemas que requieran de super-cmputo; ya
que los mbitos comunes requieren relativamente poca potencia de cmputo, y en
todo caso son abordados bajo un enfoque industrial; es en la investigacin en
Ciencias, Astronoma, Biologa, Matemticas y Simuladores donde podremos
aplicar de manera ms relevante el concepto de procesamiento distribuido por la
necesidad de grandes volmenes de clculos, pero tambin puede se requiere en
ambientes donde interactan numerosos usuarios como en los negocios, la
educacin, la estadstica pblica, los medios masivos, las redes sociales, la
medicina, la seguridad pblica etc.

1.3 SISTEMAS OPERATIVOS DISTRIBUIDOS: VENTAJAS Y
DESVENTAJAS CONTRA SISTEMAS OPERATIVOS
CENTRALIZADOS, 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:

11
Una razn para la tendencia hacia la descentralizacin es la economa.
Los sistemas distribuidos generalmente tienen en potencia una proporcin
precio / desempeo mucho mejor que la de un nico sistema centralizado.
Un sistema distribuido sobre uno centralizado es una mayor confiabilidad al
distribuir la carga de trabajo en muchas mquinas la falla de un circuito
descompondr a lo ms a una mquina y el resto seguir inactivo.
La construccin de un sistema distribuido es que ciertas aplicaciones son
distribuidas en forma inherente.
El crecimiento por incrementos tambin es una ventaja potencial. En esta
ventaja el sistema distribuido solo sera cuestin de que se le aadieran
solo ms procesadores al sistema lo que permitira un desarrollo gradual
como surjan las necesidades.
Muchos sistemas reales son normalmente distribuidos.



Desventajas:
El mayor y principal problema es el software, no hay quien realice y no se
tiene mucha experiencia en el diseo implantacin y uso del software
distribuido.
La comunicacin en las redes estas pueden perder mensajes lo cual
requiere un software especial.
La seguridad es con frecuencia un problema para que los datos se
mantengan en secreto.


MODELO CLIENTE/SERVIDOR

12
Se puede definir la computacin Cliente/Servidor como una arquitectura distribuida
que permite a los usuarios finales obtener acceso a la informacin en forma
transparente an en entornos multiplataforma.
En el modelo cliente servidor, el cliente enva un mensaje solicitando un
determinado servicio a un servidor (hace una peticin), y este enva uno o varios
mensajes con la respuesta (provee el servicio)

Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y
pasarlos al servidor, se le conoce con el trmino front-end.
El Cliente normalmente maneja todas las funciones relacionadas con la
manipulacin y despliegue de datos, por lo que estn desarrollados sobre
plataformas que permiten construir interfaces grficas de usuario (GUI), adems
de acceder a los servicios distribuidos en cualquier parte de una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:
Administrar la interfaz de usuario.
Interactuar con el usuario.
Procesar la lgica de la aplicacin y hacer validaciones locales.
Generar requerimientos de bases de datos.
Recibir resultados del servidor.
Formatear resultados.

Servidor
Es el proceso encargado de atender a mltiples clientes que hacen peticiones de
algn recurso administrado por l. Al proceso servidor se le conoce con el trmino
back-end.
El servidor normalmente maneja todas las funciones relacionadas con la mayora
de las reglas del negocio y los recursos de datos.
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
puntos:

13
Aceptar los requerimientos de bases de datos que hacen los clientes.
Procesar requerimientos de bases de datos.
Formatear datos para trasmitirlos a los clientes.
Procesar la lgica de la aplicacin y realizar validaciones a nivel de bases
de datos.

Ventajas del esquema Cliente/Servidor
Uno de los aspectos que ms ha promovido el uso de sistemas
Cliente/Servidor, es la existencia de plataformas de hardware cada vez ms
baratas.
El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes
y comparte informacin permitiendo, por ejemplo que las mquinas ya
existentes puedan ser utilizadas pero utilizando interfaces ms amigables al
usuario.
Al favorecer el uso de interfaces grficas interactivas, los sistemas
construidos bajo este esquema tienen mayor interaccin y ms intuitiva con
el usuario.

Desventajas del esquema Cliente/Servidor
El mantenimiento de los sistemas es ms difcil pues implica la interaccin
de diferentes partes de hardware y de software, distribuidas por distintos
proveedores, lo cual dificulta el diagnstico de fallas.
Se cuenta con muy escasas herramientas para la administracin y ajuste
del desempeo de los sistemas.
La seguridad de un esquema Cliente/Servidor es otra preocupacin
importante. Por ejemplo, se deben hacer verificaciones en el cliente y en el
servidor.


MODELO DE N CAPAS

14
Las capas dentro de una arquitectura son un conjunto de servicios especializados
que pueden ser accesibles por mltiples clientes y que deben ser fcilmente
reutilizables. Lo que se conoce como arquitectura en capas es en realidad un
estilo de programacin donde el objetivo principal es separar los diferentes
aspectos del desarrollo, tales como las cuestiones de presentacin, lgica de
negocio, mecanismos de almacenamiento, etc.
Una razn importante por la que surge este concepto, es debido a que en la
evolucin del desarrollo de software, se ha identificado la necesidad de crear
nuevas capas, especializadas en funciones especficas, diferentes a las 3
identificadas previamente. Tal es el caso de la seguridad, el control de
excepciones, el transporte de datos entre capas, la generacin de trazas de
errores, entre otros.


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)

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.


15





CARACTERSTICAS DEL HARDWARE Y CARACTERSTICAS DEL
SOFTWARE (HOMOGNEO Y HETEROGNEO)

CARACTERSTICAS DEL HARDWARE
Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas
formas: La forma de interconectarlas entre s. Existen diversos esquemas de
clasificacin para los sistemas de cmputos con varias CPU. Uno de los ms
conocidos es la Taxonoma de Flynn: Considera como caractersticas esenciales
el nmero de flujo de instrucciones y el nmero de flujos de datos.
La clasificacin incluye equipos SISD, SIMD, MISD y MIMD.
SISD (Single Instruction Single Data: un flujo de instrucciones y un flujo de
datos): Poseen un nico procesador (1 solo ncleo).
SIMD (Single Instruction Multiple Data: un flujo de instrucciones y varios
flujos de datos): Se refiere a ordenar procesadores con una unidad de
instruccin que busca una instruccin. Instruye a varias unidades de datos
para que la lleven a cabo en paralelo, cada una con sus propios datos
(Computo Paralelo).
MISD (Multiple Instruction Single Data: un flujo de varias instrucciones y un
solo flujo de datos): No existen (Computo Cuntico).
MIMD (Multiple Instruction Multiple Data: un grupo de computadoras
independientes, cada una con su propio contador del programa, programa y
datos): Equipos Multiprocesador multiusuario.


16
Multiprocesadores: Poseen memoria compartida los distintos procesadores
comparten el mismo espacio de direcciones virtuales.
Multicomputadoras: No poseen memoria compartida.
Esquema de bus: Existe una sola red, bus, cable u otro medio que conecta todas
las mquinas.
Esquema con conmutador: Hay mltiples conexiones y varios patrones de
conexionado. Los mensajenta y la forma de pensar de los usuarios de un sistema,
queda determinada en gran medida por el software del sistema operativo, no por
el hardware.
Los S. O. no se pueden encasillar fcilmente, como el hardware, pero se los
puede clasificar en dos tipos:
Dbilmente acoplados: Permite que las mquinas y los usuarios de un
sistema distribuido sean independientes entre s en lo fundamental, pero
que interacten en cierto grado cuando sea necesario. (Cuando las partes
funcionan separadas).

Fuertemente acoplados: El programa de aplicacin y el sistema operativo
necesario para soportarlo, estn muy acoplados. (Es cuando los elementos
trabajan juntos para mejorar una funcin).



DIRECCIONAMIENTO LGICO Y 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

17
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.
Direccionamiento lgico y fsico. El proceso desde que los datos son incorporados
al 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.

1.4 SISTEMAS DISTRIBUIDOS DE ALTO RENDIMIENTO A BAJO
COSTO (CLUSTERING) EN SISTEMAS OPERATIVOS DE LIBRE
DISTRIBUCIN
Cluster es un grupo de mltiples computadoras unidas mediante una red de alta
velocidad, que comparten recursos con el objetivo de realizar tareas y funciones como
si fuesen un nico ordenador, de tal forma que el conjunto es visto como una nica
computadora, ms potente que las comunes de escritorio.
Sirve para cuando queramos realizar tareas que necesiten grandes requerimientos
de memoria y CPU y para ahorrarnos horas de trabajo en tareas y operaciones.

El cmputo con clusters surge como resultado de la convergencia de varias
tendencias actuales que incluyen la disponibilidad de microprocesadores
econmicos de alto rendimiento y redes de alta velocidad, el desarrollo de
herramientas de software para cmputo distribuido de alto rendimiento, as como
la creciente necesidad de potencia computacional para aplicaciones que la
requieran.

Hay 3 tipos de Cluster:
High Performance o Alto rendimiento.

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

19
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:

20
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.
PREGUNTAS
EVALUACIN TEMA 1.1
1. Qu es un sistema operativo?
2. Cules son los objetivos de un sistema operativo?
3. Qu es un sistema operativo de red?
4. Cul es su objetivo principal del sistema operativo de red?
5. Qu es un sistema operativo centralizado?
6. Cul es la mayor desventaja de usar un sistema operativo centralizado?

EVALUACIN TEMA 1.2
1. Menciona las caractersticas principales de un Sistema Distribuido:
2. A qu se refiere la Tolerancia a Fallos y Manejo de errores en Sistemas
Distribuidos?
3. Qu es la Flexibilidad en Sistemas Distribuidos?
4. Qu es un Ncleo monoltico en Sistemas Distribuidos?
5. Qu es la Robustez en Sistemas Distribuidos?

EVALUACIN TEMA 1.3
1. Describe en qu consiste el modelo cliente/servidor?
2. En las caractersticas del software a que se refiere con dbilmente
acoplados y fuertemente acoplados?
3. En la Taxonoma de Flynn la clasificacin que equipos incluye?
4. Menciona dos ventajas y desventajas contra los sistemas operativos
centralizados:
5. Quines son los actores en el Modelo Cliente/Servidor?


21


EVALUACIN TEMA 1.4
1. Qu es un Cluster?
2. Para qu sirven los Cluster?
3. Menciona los tipos de Cluster:
4. Cul es el objetivo de los Cluster de alto rendimiento?
5. A qu estn destinados los Cluster de alta disponibilidad?


RESPUESTAS TEMA 1.1
1. Un sistema operativo es un conjunto de sistemas y procedimientos que
acta como intermediario entre el usuario y el hardware de un computador y
su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar
programas.
2. El objetivo principal de un sistema operativo es lograr que el sistema de
computacin se use de manera cmoda, y el objetivo secundario es que el
hardware del computador se emplee de manera eficiente.
3. Es un sistema que mantienen a dos o ms computadoras unidas a travs
de algn medio de comunicacin.
4. Poder compartir los diferentes recursos y la informacin del sistema a los
de ms sistemas conectados.
5. Es aquel sistema que utiliza los recursos de una sola computadora, es
decir, su memoria, CPU, disco y perifricos.
6. Cuando la carga de procesamiento aumentaba se tena que cambiar el
hardware del Mainframe, lo cual es ms costoso que aadir ms
computadores personales clientes o servidores que aumenten las
capacidades.

RESPUESTAS TEMA 1.2

22
1. Separacin Funcional, Distribucin Inherente, Confiabilidad, Escalabilidad y
Economa.
2. De tal suerte que un fallo en un componente no debe provocar la "cada"
del sistema, sino que deber ser aislado y evitarse mediante un re-
enrutamiento.
3. Un proyecto en desarrollo como el diseo de un sistema operativo
distribuido debe estar abierto a cambios y actualizaciones para mejorarlo.
Esta especificacin ha sido abordada con arquitecturas de ncleo: el ncleo
monoltico y el microncleo. Las diferencias entre ambos son los servicios
que ofrece. Mientras el ncleo monoltico ofrece todas las funciones bsicas
del sistema integradas, el microncleo incorpora solamente las
fundamentales, el control de los procesos y su comunicacin con la
memoria. El resto de servicios son compilables y se cargan dinmicamente
a partir de servidores en el nivel de usuario.
4. Como ejemplo de sistema operativo de ncleo monoltico est UNIX. Estos
sistemas tienen un ncleo grande y complejo, que engloba todos los
servicios del sistema. Est programado de forma no modular, y tiene un
rendimiento mayor que un microncleo. Sin embargo, cualquier cambio a
realizar requiere detener todo el sistema y la recompilacin del ncleo.
5. Una de las ventajas claras que nos ofrece la idea de sistema distribuido es
que el funcionamiento de todo el sistema no recae en la responsabilidad de
una sola unidad, sino que cualquier equipo puede sustituir a otro en caso de
que falle. La forma ms evidente de lograr la Robustez y por lo tanto la
Confiabilidad de todo el sistema est en la redundancia. La informacin no
debe estar almacenada en un solo servidor de archivos, sino en por lo
menos dos mquinas. Mediante la redundancia de los principales archivos
o de todos evitamos el caso de que el fallo de un servidor bloquee todo el
sistema, al tener disponibles mltiples respaldos parciales o totales en los
otros equipos.

RESPUESTAS TEMA 1.3

23
1. En el modelo cliente servidor, el cliente enva un mensaje solicitando un
determinado servicio a un servidor (hace una peticin), y este enva uno o
varios mensajes con la respuesta (provee el servicio)
2. Dbilmente acoplados: Permite que las mquinas y los usuarios de un
sistema distribuido sean independientes entre s en lo fundamental, pero
que interacten en cierto grado cuando sea necesario. (Cuando las partes
funcionan separadas).
Fuertemente acoplados: El programa de aplicacin y el sistema operativo
necesario para soportarlo, estn muy acoplados. (Es cuando los elementos
trabajan juntos para mejorar una funcin).
3. La clasificacin incluye equipos SISD, SIMD, MISD y MIMD.
4. Ventajas: Los sistemas distribuidos generalmente tienen en potencia una
proporcin precio / desempeo mucho mejor que la de un nico sistema
centralizado.
La construccin de un sistema distribuido es que ciertas aplicaciones son
distribuidas en forma inherente.
Desventajas: El mayor y principal problema es el software, no hay quien
realice y no se tiene mucha experiencia en el diseo implantacin y uso del
software distribuido.
La comunicacin en las redes estas pueden perder mensajes lo cual
requiere un software especial.
La seguridad es con frecuencia un problema para que los datos se
mantengan en secreto.
5. Cliente/Servidor

RESPUESTAS TEMA 1.4
1. Grupo de mltiples computadoras unidas mediante una red de alta
velocidad, que comparten recursos con el objetivo de realizar tareas y
funciones como si fuesen un nico ordenador
2. Para realizar tareas que necesiten grandes requerimientos de memoria y
CPU

24
3. High Performance o Alto rendimiento.
High Availability o Alta Disponibilidad.
High Reliability o Alta Confiabilidad.
4. Mejorar el rendimiento, de tiempo o precisin, para la solucin de un
problema
5. A mejorar los servicios que ofrecen las empresas de cara a los clientes de
una red, ya sea local o de internet
ACTIVIDADES PROPUESTAS
TEMA 1.1
1. Realizar un cuadro comparativo sobre las caracteristicas de los sistemas operativos de
red y los sistemas operativos centralizados.
TEMA 1.2
1. En equipos de trabajo realiza una tabla comparativa de las diversas formas de usar un
S.O Distribuido y exponla en clase.
2. En equipos de trabajo seleccione uno de los conceptos clave en sistemas operativos
distribuidos vistos en clase, y prepare una exposicin donde profundice lo visto en clase.
TEMA 1.3
1. Instalar y configurar clusters de computadoras, por ejemplo: PVM, MPICH, LAM-MP.
(se recomienda usar el programa de simulacion CISCO PACKET TRACER)
TEMA 1.4
1. Implementar una aplicacin cliente /servidor mediante el uso de sockets, se pretende
hacer visibles los requerimientos tanto fsicos, lgicos y funcionales necesarios para
establecer una comunicacin entre dos computadores utilizando sockets y se realiza la
implementacin mediante el uso del lenguaje de programacin como C++ u otro lenguaje.
2. Realizar una actividad donde se investigue mas a fondo el Modelo Cliente/Servidor,
para poder tener una visin mas amplia de como es que funciona este modelo, definir su
arquitectura, Qu es un servidor?, Qu es un cliente? etc.

Anda mungkin juga menyukai