sistemas distribuidos informe

32
Universidad Privada Antenor Orrego Sistemas Operativos SISTEMAS DISTRIBUIDOS 1

Upload: elmodem-suarez-flores

Post on 24-May-2015

578 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

SISTEMAS DISTRIBUIDOS

1

Page 2: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

INDICESISTEMAS DISTRIBUIDOS....................................................................................................................1

I. RESUMEN...............................................................................................................................3

II. MARCO TEORICO:...................................................................................................................4

1. INTRODUCCIÓN..................................................................................................................4

2. CONCEPTO..........................................................................................................................5

3. VENTAJAS Y DESVENTAJAS.................................................................................................5

4. PROCESO CLIENTE SERVIDOR.............................................................................................6

5. PROCESO DISTRIBUIDO MEDIANTE ENVIO DE MENSAJES................................................12

6. LLAMADA A PROCEDIMIENTOS REMOTOS.......................................................................13

7. TIPOS DE SISTEMAS OPERATIVOS PARA SISTEMAS DISTRIBUIDOS...................................15

8. REDES DE COMPUTADORAS.............................................................................................17

III. MARCO CONCEPTUAL......................................................................................................22

IV. BIBLIOGRAFIA...................................................................................................................23

2

Page 3: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

I. RESUMEN

Los sistemas distribuidos aparecen como una opción prometedora luego de que aparecían los microprocesadores aparezcan en la década de los 60.

Un sistema distribuido es una colección de procesadores débilmente acoplados que se conectan entre si por medio de una red de comunicaciones. No comparten la memoria ni el reloj y cada uno tiene su propia memoria local. Se comunican mediante redes locales o de área extensa.

Tiene a ventaja de ser es su bajo coste debido al uso de microprocesadores, su fiabilidad y su posibilidad de crecimiento incremental. Y las desventajas son la falta de seguridad en sus redes y compartición de archivos

Surge el Proceso Cliente - Servidor, Significa dividir una aplicación en tareas y poner cada tarea en la plataforma donde pueda ser manejada más eficazmente

Las Clases de aplicaciones Cliente – Servidor pueden ser: basada en el host, en el servidor, en el cliente y cooperativo.

En el proceso distribuido mediante mensajes, los dos procedimientos más usuales son: El primero es la aplicación simple de los mensajes, tal y como se hace en un mismo sistema. El segundo es una técnica distinta que se basa en el paso de mensajes como función básica: la llamada a procedimientos remotos. El modelo más usual de paso distribuido de mensajes, es el modelo cliente-servidor

En las llamadas a procedimientos remotos, lo fundamental es permitir que programas de máquinas diferentes interactúen mediante la simple semántica de los procedimientos de llamada/retorno, como si los dos programas estuvieran en la misma máquina

Los sistemas operativos para sistemas distribuidos pueden ser tanto de red como los realmente distribuidos

En las redes, que son una parte esencial de los sistemas distribuidos, tenemos como tipos a la red LAN y la red WAN, así como distintas tipologías

3

Page 4: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

II. MARCO TEORICO:

1. INTRODUCCIÓN

Con la aparición de los microprocesadores se provoco un cambio en la tendencia de los sistemas de cálculo. Se origina el cálculo distribuido entre varios procesadores. Hay diversos esquemas de clasificación para los sistemas con varios procesadores; el de Flynn es el más citado, el propuso la siguiente clasificación:

- SISD (Single Instruction Single Data): Un solo flujo de instrucción, un solo flujo de datos. Aquí pertenecen los monoprocesadores

4

Page 5: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

- SIMD (Single Instruction Multiple Data). Un solo flujo de instrucciones, varios flujos de datos. a esta clase corresponden los procesadores vectoriales y los computadores en array, en los que una solo instrucción se ejecuta sobre varios datos.

- MISD (Multiple Instruction Single Data) Flujo de varias instrucciones, un solo flujo de datos. Ningún computador conocido se ajusta a este tipo

- MIMD (Multiple Instruction Multiple Data). Flujo de varias instrucciones, flujo de varios datos. Corresponde a un grupo de computadores independientes casa uno con su propio contador de programa, programa y datos

Dentro de la categoría MIMD se puede considerar otro tipo de división, según la conexión entre los procesadores

Sistemas fuertemente acopladosLos procesadores comparten la memora y el reloj. Son sistemas multiprocesadores y la comunicación generalmente se hace a través de la memoria compartida

Sistemas débilmente acopladosLos procesadores no comparten la memoria ni el reloj y cada uno tiene su propia memoria local. Se comunican mediante redes locales o de área extensa, formadas mediante líneas ex profeso de alta velocidad o líneas telefónicas. Los sistemas distribuidos pertenecen a esta clase

2. CONCEPTO

Un sistema distribuido es una colección de procesadores débilmente acoplados que se conectan entre si por medio de una red de comunicaciones. Desde el punto de vista de un procesador especifico de un sistema distribuido, el resto de los procesadores y sus respectivos recursos son remotos, mientras que sus propios recursos son locales.Un sistema distribuido proporciona a los usuarios acceso a los distintos recursos que ofrece el sistema, entendiendo por tales tanto los recursos hardware (impresora, unidades de cinta, etc.) como software (archivos y programa). El acceso a estos recursos lo controla el sistema operativo; existen dos esquemas básicos complementarios para proporcionar este servicio:

5

Page 6: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Sistemas operativos de red:

Los usuarios saben que hay varias maquinas y necesitan acceder a los recursos iniciando una sesión en la maquina remota apropiada bien transfiriendo datos de la maquina remota a su propia maquina

Sistemas operativos distribuidos:

Los usuarios no tiene que saber que hay varía maquinas; acceden a los recursos remotos de la misma manera que a los locales. Son sistemas de hardware débilmente acoplado, pero de software fuertemente acoplado

3. VENTAJAS Y DESVENTAJAS

VENTAJAS

Una de sus principales ventajas de los sistemas distribuidos es el bajo coste de los microprocesadores.Además hay muchas aplicaciones que son inherentemente distribuidas. Por ejemplo en muchas fabricas y cadenas de producción controladas por computador, cada maquina o robot dispone de su propio computador de control, que se conectan como un sistema distribuidoOtro motivo es su mayor fiabilidad, puesto que un fallo en un procesador afectara como mucho a una maquina pero el resto podrá seguir funcionandoPor ultimo hay que destacar la posibilidad que un sistema distribuido puede experimentar un crecimiento incremental, según las necesidades de ampliación que se vayan produciendo en el futuro. Si solo se dispone de un gran computador (sistema centralizado) y la empresa prospera llegara el momento en el que el computador ya no será adecuado, la solución será remplazarlo por uno mas grande o añadir un segundo computador. Con un sistema distribuido, se van añadiendo nuevos computadores según se van necesitando

También los computadores no deben estar aislados. En una empresa cada empleado en su oficina dispone de un PC. Sin embargo, como se necesitan compartir datos y programas, estos PC's deberían estar integrados en una red de computadores: esta red haría que la carga de trabajo se pueda distribuir de manera más eficaz entre los distintos computadores y que la puesta fuera de servicio de uno de ellos se compense haciendo su trabajo en los restantes

DESVENTAJAS

Su software todavía no esta muy desarrollado y aun se debe llegar a un acuerdo en cuestiones como que es lo que deben saber los usuarios del sistema distribuido o que es lo que tiene que hacer el usuario y que el sistema

6

Page 7: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Otras cuestiones son las inherentes a las redes de comunicación, las posibles perdidas de información en la transmisión y el grave problema de la seguridadTambién se debe tener en cuenta en que si el sistema crece la red puede saturarse, teniéndose que ampliar el soporte físico de transmisión, los que puede suponer un fuerte costeEl problema de la seguridad se vuelve crucial ya que la posibilidad de compartición de los datos también permite que personas que en un principio no están autorizadas, puedan acceder a los mismos

4. PROCESO CLIENTE SERVIDOR

Significa dividir una aplicación en tareas y poner cada tarea en la plataforma donde pueda ser manejada más eficazmente. Esto suele significar que se sitúe en la máquina del usuario el proceso necesario para la presentación y, en el servidor, la gestión y el almacenamiento de los datos.Dependiendo de la aplicación y del software empleado, todo el tratamiento de los datos puede tener lugar en el cliente o repartirse entre cliente y servidor. El servidor se conecta a sus clientes a través de una red.El software servidor acepta peticiones de datos del software cliente y devuelve los resultados al cliente. El cliente manipula los datos y presenta los resultados al usuario

¿En qué se diferencia una configuración cliente/servidor de cualquier otra solución al proceso distribuido?

Hay una gran confianza en depositar aplicaciones que sean fáciles de usar para los usuarios en sus propios sistemas. Esto da a los usuarios un alto grado de control sobre la medida del tiempo y el estilo de utilización del computador y ofrece a los directores de departamentos la posibilidad de responder a sus necesidades locales.

7

Page 8: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Al mismo tiempo que las aplicaciones se dispersan, se produce un énfasis en la centralización de las bases de datos corporativas u de muchas gestiones de utilidad y de gestión de red. Esto habilita una gestión corporativa para mantener un control global de la inversión total en sistemas de información e informática y, además, permite una gestión corporativa que ofrezca interoperatividad, de manera que los sistemas queden vinculados. Al mismo tiempo, alivia a los departamentos individuales y divisiones de gran parte de la carga de mantener servicios de computación sofisticados, permitiéndoles elegir cualquier tipo de máquina e interfaz que necesiten para acceder a los datos y la información.

Existe un compromiso, tanto por parte de las organizaciones de usuarios como de los fabricantes, hacia los sistemas abiertos y modulares. Esto significa que los usuarios disponen de ofertas mejores en la elección de productos y en la combinación de equipos de varios fabricantes.

El trabajo en red es fundamental para la operación. De este modo, la gestión y seguridad de la red tienen una prioridad alta en la organización y operación de los sistemas de información

APLICACIONES CLIENTE/SERVIDOR

La característica central de la arquitectura cliente/servidor es la ubicación de las tareas del nivel de aplicación entre clientes y servidores. Tanto en el cliente como el servidor, por supuesto, el software básico es un sistema operativo ejecutando en la plataforma de hardware. Las plataformas y los sistemas operativos del cliente y el servidor pueden ser diferentes. De hecho, puede existir un número de clases distintas de plataformas y sistemas operativos clientes y otro de clases distintas de plataformas y sistemas operativos servidores en un mismo entorno. En tanto que un cliente particular y un servidor compartan los mismos protocolos de comunicación y soporten las mismas aplicaciones, estas diferencias de niveles inferiores no son relevantes.Para finalizar, un factor esencial para el éxito de un entorno cliente/servidor es la manera en que el usuario interactúa con el sistema en su globalidad. De esta forma, el diseño de la interfaz de usuario es vital para la máquina cliente. En la mayoría de los sistemas cliente/servidor, se hace un gran hincapié en ofrecer un interfaz de usuario gráfico (GUI) que sea fácil de utilizar, fácil de aprender, pero potente y flexible

8

Page 9: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

APLICACIONES DE BASES DE DATOS

La interacción entre el cliente y el servidor se hace en forma de transacciones donde el cliente realiza una petición a la base de datos y recibe una respuesta de aquella.El servidor es responsable de mantener la base de datos, para cuyo objeto se necesitan complejos sistemas gestores de bases de datos. En las máquinas cliente se pueden guardar una variedad de aplicaciones diferentes que hagan uso de la base de datos. El "pegamento" que enlaza al cliente con el servidor es el software que permite al cliente realizar peticiones de acceso a la base de datos del servidor. Un ejemplo popular de dicha lógica es el lenguaje estructurado de consulta SQL.La aplicación anterior se adapta bien a la arquitectura cliente/servidor por dos razones:

1) Existe una labor masiva de ordenación y búsqueda en la base de datos. Esto requiere un disco grande o una serie de discos, una CPU y una arquitectura de E/S de alta velocidad. En un PC o puesto de trabajo monousuario, no hacen falta tales capacidades y potencian además son demasiado caras.

2) Mover el archivo completo de 1 millón de registros al cliente para realizar la búsqueda introduciría una carea de tráfico demasiado grande en la red. Por tanto, no es suficiente que el servidor sea sólo capaz de recuperar los registros en nombre del cliente; el servidor tiene que disponer de la lógica de base de datos que permita realizar búsquedas de parte del cliente.

9

Page 10: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

CLASES DE APLICACIONES CLIENTE/SERVIDOR

Dentro del entorno general cliente/servidor, se dispone de una gama de posibles implementaciones que dividen el trabajo entre el cliente y servidor de manera diferente

Proceso basado en el host: No es realmente un proceso cliente/servidor, de acuerdo con el uso que se hace del término. Se refiere más bien al entorno tradicional de grandes sistemas en el que todo o casi todo el tratamiento se realiza en un computador central. La interfaz de usuario consiste a menudo en un terminal tonto. Incluso si el usuario emplea un microcomputador, el puesto del usuario se limita en general al papel de un emulador de terminales.

Proceso basado en el servidor: Es aquél en que el servidor es básicamente responsable de ofrecer una interfaz gráfica de usuario y casi todo el tratamiento se hace en el servidor. Esta configuración es típica de los primeros intentos en cliente/servidor, especialmente de los sistemas departamentales.

10

Page 11: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Proceso basado en el cliente: En el otro extremo, casi todo el proceso de la aplicación puede hacerse en el cliente, con la excepción de las rutinas de validación de datos y otras funciones lógicas de la base de datos que se realizan mejor en el servidor. En general, varias de las más sofisticadas funciones de la base de datos residen en el cliente. Esta arquitectura es posiblemente el método cliente/servidor más común de empleo actual. Permite al usuario utilizar aplicaciones a la medida de sus necesidades locales.

Proceso cooperativo: El proceso de la aplicación se lleva a cabo de forma optimizada, aprovechando la potencia de las máquinas cliente y servidora y la distribución de los datos. Esta configuración es más compleja de instalar y mantener pero, a largo plazo, este tipo de configuración puede ofrecer una mayor ganancia de productividad del usuario y una mayor eficacia de la red que otros métodos cliente/servidor

CONSISTENCIA DE LA CACHE DE ARCHIVOS:

11

Page 12: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Los sistemas individuales pueden usar caches de archivos para almacenarlos registros a los que se ha accedido hace poco. Debido al principio de cercanía, el empleo deuna caché local de archivos debe reducir el número de accesos a servidores remotos a realizar. Cuando un proceso realiza un acceso a archivo, la petición es cursada, en primer lugar, a la caché del puesto de trabajo del proceso ("tráfico de archivo"). Si la petición no se satisface, se pasa al disco local ("tráfico de disco") o al servidor donde se almacene el archivo ("tráfico de servidor"). Una vez en el servidor, se examina primero su caché si se y, produce una falla, se accederá al disco del servidor. Se suele utilizar un procedimiento de doble caché para reducir el tráfico de comunicaciones (caché cliente) y la E/S a disco (caché servidora).Cuando las caches contienen siempre copias exactas de los datos remotos, se dice que las caches son consistentes. Puede ser posible que las caches lleguen a ser inconsistentes cuando se cambian los datos remotos y no se desechen las copias obsoletas correspondientes de las caches locales. Esto puede ocurrir si un cliente modifica un archivo almacenado en la caché de otro cliente

MIDDLEWARE

Para alcanzar los beneficios reales de la filosofía cliente/servidor, os productores deben disponer de un conjunto de herramientas que proporcionen una manera uniforme de acceder a los recursos del sistema en todas las plataformas. Esto servirá para que los programadores construyan aplicaciones que no sólo parezcan las mismas en PC y puestos de trabajo diferentes, sino que también utilicen el mismo método de acceso a los datos, sin importar a ubicación de los mismos.La forma más común de cumplir con este requisito es utilizar interfaces estándares de programación y protocolos que se sitúen entre la aplicación y el software de comunicaciones y sistema operativo. Dichos interfaces y protocolos estándares han venido a llamarse middleware

12

Page 13: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

5. PROCESO DISTRIBUIDO MEDIANTE ENVIO DE MENSAJES

Los dos procedimientos más usuales. El primero es la aplicación simple de los mensajes, tal y como se hace en un mismo sistema. El segundo es una técnica distinta que se basa en el paso de mensajes como función básica: la llamada a procedimientos remotos.El modelo más usual de paso distribuido de mensajes, es el modelo cliente-servidor. Un proceso cliente solicita un servicio (por ejemplo, leer un archivo o imprimir) y envía un mensaje que contiene una petición de servicio a un proceso servidor. El proceso servidor cumple con la petición y envía una respuesta. En su forma más simple, sólo se necesitan dos funciones: Enviar y Recibir. La función Enviar debe especificar un destino e incluir el contenido del mensaje. La función Recibir dice de quién se desea recibir mensajes (incluyendo a "todos") y proporciona un almacenamiento intermedio (buffer) donde se guardará el mensaje.

Se propone un método de implementación del paso de mensajes. Los procesos hacen uso de los servicios de un módulo de paso de mensajes, que forma parte del sistema operativo. Las solicitudes de servicio pueden expresarse en forma de primitivas y parámetros. La primitiva especifica la función a realizar y los parámetros se usan para pasar datos e información de control. El formato real de las primitivas depende del

13

Page 14: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

sistema operativo. Pueden ser llamadas a procedimientos o en forma de mensajes a un proceso que sea parte del sistema operativo.

FIABLE FRENTE A NO FIABLE

Fiable es aquel que garantiza el envío si es posible. Dicho servicio debe hacer uso de un protocolo fiable o alguna forma que lleve a cabo chequeo de errores, retransmisiones y reordenación de mensajes desordenados como el envio esta garantizado, no es necesario hacer que el proceso emisor sepa que el mensaje fue enviadoPor otro lado, el servicio de paso de mensajes puede enviar simplemente el mensaje a la red de comunicaciones sin informar de su éxito ni de su fracaso. Esta alternativa reduce enormemente la complejidad y la sobrecarga de proceso y de comunicaciones en el servicio de paso de mensajes.

BLOQUEANTES FRENTE A NO BLOQUEANTES

Con primitivas no bloqueantes, un proceso no es suspendido como resultado de hacer un Enviar o un Recibir. De esta forma, cuando un proceso emita una primitiva Enviar, el sistema operativo le devolverá el control tan pronto como el mensaje se haya puesto en cola para su transmisión o se haya hecho una copia.Las primitivas no bloqueantes ofrecen un empleo eficiente y flexible del servicio de paso de mensajes para los procesos. La desventaja de este enfoque es que los programas que emplean estas primitivas son difíciles de probar y depurar. La otra alternativa es emplear primitivas bloqueantes. Un Enviar bloqueante no devuelve el control al proceso emisor hasta que el mensaje se haya transmitido (servicio no fiable) o hasta que el mensaje se haya enviado y obtenido un acuse de recibo (servicio fiable). Un Recibir bloqueante no devuelve el control hasta que el mensaje se haya ubicado en el buffer asignado.

6. LLAMADA A PROCEDIMIENTOS REMOTOS

Una variante del modelo básico de paso de mensajes es la llamada a procedimientos remotosLo fundamental de la técnica es permitir que programas de máquinas diferentes interactúen mediante la simple semántica de los procedimientos de llamada/retorno, como si los dos programas estuvieran en la misma máquina.

1) La llamada a procedimiento es una abstracción muy usada, aceptada y bien comprendida.

2) El empleo de llamadas a procedimientos remotos permite que las interfaces remotas se especifiquen como un conjunto de operaciones con nombre y tipo determinado

14

Page 15: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

3) Como la interfaz es estándar y está definida de forma precisa, el código de comunicaciones de una aplicación puede generarse automáticamente.

4) Como la interfaz es estándar y está definida de forma precisa, los productores de software pueden escribir módulos clientes y servidores que pueden trasladarse entre computadores y sistema operativos con pocas modificaciones.

El mecanismo de las llamadas a procedimientos remotos puede considerarse como un refinamiento del paso de mensajes fiable y bloqueante.

ENLACE CLIENTE SERVIDOR

El enlace especifica la forma en que se establecerá la relación entre un procedimiento remoto y el programa llamador. Un enlace se forma cuando dos aplicaciones han establecido una conexión lógica y se encuentran preparadas para intercambiar órdenes y datos.Los enlaces no persistentes suponen que la conexión lógica se establece entre dos procesos en el momento de la llamada remota y que la conexión se pierde tan pronto como se devuelvan los valores. Como una conexión requiere el mantenimiento de información de estado en ambos extremos se consumirán recursos. El estilo no persistente se utiliza para reservar dichos recursos.Con enlaces persistentes, una conexión establecida para tina llamada a un procedimiento remoto se mantiene después de terminar el procedimiento. La conexión puede utilizarse para llamadas futuras. Si transcurre un periodo de tiempo específico sin actividad en la conexión, se finaliza la misma. Para aplicaciones que realicen llamadas repetidas a procedimientos remotos, el enlace persistente mantiene la conexión lógica y permite que una secuencia de llamadas

15

Page 16: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

SÍNCRONO FRENTE A ASÍNCRONO

Es análogo a los mensajes bloqueantes y no bloqueantes.La RPC síncrona es fácil de comprender y de programar puesto que su comportamiento es predecible. Sin embargo, no es capaz de explotar por completo el paralelismo inherente a las aplicaciones distribuidas. Esto limita el tipo de interacción que las aplicaciones distribuidas pueden realizar, obteniéndose un rendimiento menor.Las RPC asíncronas no bloquean al llamador; las respuestas pueden recibirse cómo y cuándo se necesiten, permitiendo que la ejecución de los clientes continúe localmente y en paralelo con la invocación al servidor.Una aplicación típica de las RPC asíncronas es hacer que un cliente invoque repetidamente a un servidor, generando una serie de peticiones de una vez, cada una con su propio conjunto de datos.

7. TIPOS DE SISTEMAS OPERATIVOS PARA SISTEMAS DISTRIBUIDOS

Hay dos esquemas básicos para proporcionar estos servicios, que corresponden a un acoplo débil o fuerte del software.

Sistemas Operativos de Red. Son los sistemas de software débilmente acoplados. En estos los usuarios son conscientes de la multiplicidad de maquinas y el acceso a los recursos de otros computadores se hace por petición del usuario. Su función es ofrecer un mecanismo para transferir archivos o poder dar órdenes de ejecución de programas desde una maquina a otra. Cada usuario dispone de su propio computador y se pude conectar con otra estación de trabajo mediante un login

Sistemas Operativos Realmente Distribuidos Corresponden a sistemas de software fuertemente acoplados. En este caso los usuarios no necesitan saber que existen múltiples maquinas y acceden a los recursos remotos de la misma forma que lo hacen para los recursos locales. La migración de datos y procesos de una maquina a otra queda bajo el control del sistema operativo distribuido. Debe existir un mecanismo de comunicación global entre los procesos que permita que se puedan comunicar unos con otros. Estos mecanismo deben ser los mismos en todas las maquinas y no deben distinguirse entre comunicaciones globales y localesEn general, un sistema operativo distribuido tiene que hacer tres funciones:

- Migración de datos

Hace referencia a la posibilidad de transferir datos (por ejemplo, un archivo) de una maquina a otra. Para ello hay dos estrategias básicas. Una es transferir todo el archivo de una instalación a otra. La otra es transferir solo aquellas partes del archivo que realmente se necesitan en ese momento

16

Page 17: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

- Migración de Cálculos

En lugar de transferir datos será preferible transferir los cálculos. Hay varias formas de realizar estos cálculos. Una forma es mediante una llamada a un procedimiento remoto; en este caso un proceso de una instalación invoca a otro procedimiento definido en otra instalación, el cual, después de ejecutarse, devuelve los resultados al proceso que lo invoco. Otra alternativa es mediante mensajes; el primer proceso envía un mensaje a la instalación donde está definido el proceso que quiere que se ejecute, entonces, el sistema operativo de esta instalación arranca el proceso y, cuando este termina, envía por medio del sistema de mensajes, el resultado al primer proceso.

- Migración de procesos

Un proceso puede comenzarse en una instalación, pero continuar en otra.Hay varias razones por la que los procesos migran. Entre ellas están:

Equilibrar las cargas de los sistemas, distribuyendo los procesos para nivelar la carga de trabajo entre las distintas instalaciones;

Acelerar los cálculos, dividiendo un proceso en varios subprocesos que se puedan ejecutar en varias maquinas;

Las características hardware o software de una instalación que haga preferible que un proceso continúe su ejecución en otra instalación

ALGUNAS CONSIDERACIONES PARA EL DISEÑO

TransparenciaIdealmente un sistema operativo distribuido debería percibirse por el usuario, como un sistema único, sin hacer distinción entre los recursos locales o remotos. Al cumplir esto el sistema es transparenteUna forma fácil de conseguir transparencia es ocultar a los usuarios la distribución. En este caso, los programas si que están enterados, pero ocultan al usuario si se ejecutan en paralelo y en que maquinas

FlexibilidadPor una parte esta el modelo de sistemas con núcleo monolítico. Ósea el núcleo corresponde al sistema operativo básico centralizado, al que se le han añadido las capacidades de red y la integración de los servicios remotos. Por otra parte están los sistemas basados en un micronúcleo con los servicios mínimos, conscientes básicamente en un mecanismo de comunicación entre procesos, una gestión de la memoria, una parte de la planificación y gestión de los procesos de bajo nivel y la gestión de entrada y salida. El resto de los servicios (sistema de archivos, gestión de los procesos, manejo de las llamadas al sistema, etc.) se implementan como servidores a nivel de usuario

17

Page 18: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

La ventaja de los sistemas basados en micronúcleos es que son muy modulares, permiten instalar y depurar nuevos servicios de forma fácil, y no es necesario para el sistema y arrancar otra vez el núcleoLa ventaja de los sistemas de núcleo monolítico es su mayor rendimiento, puesto que la realización del trabajo en el núcleo es más rápido que el envío de mensajes a los servicios remotos

FiabilidadSi una máquina falla, otra se encargará de su trabajo, es decir, el sistema debe ser tolerante a fallos., y seguir su funcionamiento.

EscalabilidadLa capacidad del sistema para adaptarse a un incremento en el servicio. Un sistema escalable debe reaccionar con mayor suavidad ante un aumento de la carga que uno que no lo es. El rendimiento se debe degradar con mayor moderación y los recursos se deben saturar mas tarde que en un sistema no escalable. Un sistema escalable adaptarse al crecimiento del numero de usuarios y admitiendo la integración de nuevos recursos adicional de una forma sencilla

8. REDES DE COMPUTADORAS

La conexión entre los diferentes computadores se puede hacer de varias formas. A continuación se analizan las configuraciones más comunes que se han utilizado. Básicamente, hay dos tipos de redes:

Red LAN Red WAN

Red LAN (Local Area Network)

Conectan recursos entre si empleando comunicaciones optimizadas para entornos locales, como edificios de oficinas o campus universitariosLas LAN más sencilla son conexiones punto a punto entre dos dispositivos o computadores. En el aspecto técnico, una LAN se distingue por los siguientes aspectos:- Por su método de control de acceso a los medios- Por el método de transmisión (banda ancha o banda base)- Por el método de transmisión (par trenzado, cable coaxial o fibra óptica)Las configuraciones mas habituales son las redes de canal multiacceso, anillo y estrella. Con velocidades de transmisión de comunicación que van desde un megabyte por segundo a un gigabyte por segundo

18

Page 19: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Red WAN (Wide Area Network)

Fueron desarrolladas para compartir de una forma adecuada y económica el hardware y el software entre una amplia comunidad de usuarios. La primera fue Arpanet, y actualmente tenemos el internetDebido a su extensión, estas redes son mas lentas que las redes locales y sus velocidades típicas de transmisión están entre los 1200 bytes por segundo (obtenidos con un modesto modem) hasta varios megabytes por segundo

19

Page 20: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Ahora veremos las siguientes topologías son:

Conexión Total Conexión Parcial Red Jerárquica Red en Estrella Red en anillo Canal Multiacceso

Conexión TotalCada instalación esta enlazada directamente con todas las demás instalaciones. El coste básico de esta configuración es muy elevado puesto que hay que tender una línea directa entre cada una de las maquinas que componen la red. Las ventajas son una gran rapidez de comunicación, ya que se deben romper muchos enlaces para dejar incomunicada una parte del sistema

Conexión ParcialUna forma de disminuir el coste de una instalación de conexión total es suprimir algunos enlaces, así se tiene una red de conexión parcial. El menor coste de la instalación se ve reflejado en un retardo promedio de la comunicación, ya que hay mensajes que tendrán que pasar por más de un enlace, y una menor fiabilidad.

20

Page 21: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Red JerárquicaLos sitios se organizan en forma de árbol. Cada sitio (excepto la raíz) tiene un padre único y cierto número de hijos. El costo de esta configuración es menor que el parcialmente conectadoLa comunicación entre padres e hijos es directa, pero entre hermanos" hay que hacerla por medio del padre y según se va alejando el "parentesco" el numero de enlaces que hay que recorrer es mayor. Si un sitio padre falla, sus hijos ya no podrán comunicarse entre si ni con otros procesadores

Red en estrellaUno de los sitios del sistema se conecta a todos los demás sitios del sistema se conecta a todos lo demás sitios. Ninguno de los demás sitios se conecta a otro. El costo básico de este sistema es directamente proporcional al número de sitios. El costo de la comunicación también es bajo un mensaje del proceso A al proceso B requiere cuando mas de dos transferencias (de A al sitio central y de este al sitio B).No obstante, este esquema podría no asegurar la rapidez, porque le sitio central se puede convertir en un cuello de botella. Por consiguiente, aunque el número de transferencias de mensajes requeridas es bajo, el tiempo que toma enviar tales mensajes puede ser largo. Si el sitio central falla, la red queda totalmente dividida

21

Page 22: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

Red anilloCada sitio se conecta físicamente a otros dos sitios, ni más ni menos. El anillo puede ser unidireccional o bidireccional. En una arquitectura unidireccional, un sitio puede transmitir información a solo unos de sus vecinos. Todos los sitios deben enviar la información en la misma dirección. En una arquitectura bidireccional, un sitio puede transmitir información a sus dos vecinos. El costo básico de un anillo tiene una relación lineal con el número de sitios, pero el costo de la comunicación puede ser alto

Canal de MultiaccesoSólo existe un enlace y todas las instalaciones se conectan a él. El costo de instalaciones es también lineal, pero con que se rompa un enlace la red queda partida en dos subredes disjuntas

22

Page 23: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

III. MARCO CONCEPTUAL

En este trabajo hemos visto los conceptos básicos de los sistemas distribuidos.

Los sistemas distribudos son importantes ya que nos permiten sobre todo “aligerar” la carga de trabajo que puede tener un sistema y asi realizar la labor con mayor fluidez y sin paralizarse

Tambien estudiamos el proceso Cliente-Servidor, el cual es una buena opción para aplicar a los sistemas distribuidos, y tiene istintas clasificamos que dividen el trabajo entre el cliente y el servidor de maneras distintas pero con sus propias ventajas

Tambien vimos el proceso distribuido mediante mensajes, en el cual se utiliza mensajes para una comunicación mas efciene entre el usuario y el servidor.

Vimos que la llamada a procedimientos remotos nos ayuda a comunicar procesos que están en distintas maquinas.

Los sistemas operativos para sistemas distribuidos pueden ser dos: de Red; y los Realmente Distribuidos

Estudiamos brevemente las redes que son una parte importante en los sistemas distribuidos y que nos permiten interconectar maquinas asi estén lejanas o cercanas

23

Page 24: Sistemas distribuidos   informe

Universidad Privada Antenor Orrego Sistemas Operativos

IV. BIBLIOGRAFIA

• William Stallings, “Sistemas Operativos” - 2da edición – 1997

• Abraham Silberschatz, Peter Baer Galvin - “Sistemas Operativos” –

5ta Edición – 1999

• Sebastian Dormido, Joaquin Aranda Almansa, Maria Antonia Canto

Diez, Sanz Y Torres – “Sistemas operativos: Teorias y Problemas” –

2002

24