SISTEMAS OPERATIVOS DISTRIBUIDOS

64
SISTEMAS OPERATIVOS DISTRIBUIDOS

description

SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción. *1945-1985 Computadoras grandes y costosas Las organizaciones tenían pocas computadoras No existía una forma de conectarlas Operaban de forma independiente. 10 millones de dólares -1 instrucción por segundo. - PowerPoint PPT Presentation

Transcript of SISTEMAS OPERATIVOS DISTRIBUIDOS

SISTEMAS OPERATIVOS DISTRIBUIDOS

Introducción

*1945-1985 Computadoras grandes y costosas Las organizaciones tenían pocas

computadoras No existía una forma de conectarlas Operaban de forma independiente. 10 millones de dólares -1 instrucción

por segundo

Dos avances tecnológicos fundamentales:

1980: Microprocesadores poderosos y económicos con

arquitecturas de 8, 16, 32 y 64 bits. 1000 dólares –ejecutan 10 millones de

instrucciones por segundo Las Redes de área Local (LAN´s) Permiten conectar docenas e incluso cientos

de máquinas dentro de un edifico. Transferir información en un milisegundo o

tiempo parecido. Cantidad de datos que pueden desplazarse

entre las maquinas van de 10 a 100 millones de bits/s o más.

RESULTADO DE ESTAS TECNOLOGIAS

Posible reunir sistemas de cómputo compuestos por un gran número de CPU conectados mediante una red de alta velocidad.

Estos reciben el nombre genérico de: SISTEMAS DISTRIBUIDOS

Cuál es el problema?

En contraste con los SISTEMAS CENTRALIZADOS ( o sistemas de un solo procesador que constan de un CPU su memoria, periférico y algunas terminales).

El software, es radicalmente distinto .

Etapa de surgimiento.

¿Qué es un SISTEMA DISTRIBUIDO?

Según Tanenbaum : "una colección de computadoras

independientes que aparecen ante los usuarios del sistema como una única computadora.”

Aspectos

Hardware= Las maquinas son autónomas Software=Los usuarios piensan que el

sistema es como una única computadora.

Ejemplos:

Así que:

“Si el sistema se ve como un todo y actúa como un sistema de tiempo compartido clásico con un único procesador podría considerarse como un sistema distribuido”.

Ejemplo 2:

Entonces:

“Si todos los robots actúan como dispositivos periféricos unidos a la misma computadora central y el sistema se puede programar de esta manera se considera sistema distribuido”

Ventajas S.D Vs S.C

Economía Velocidad Distribución inherente Confiabilidad Crecimiento por incrementos

Ventajas Sistemas Distribuidos VS Centralizados

Economista: Herb GroschLey de Grosch= “El poder de computo

es proporcional al cuadrado de su precio”

Si se paga el doble se obtiene 4 veces el desempeño……. Aja¡¡

Costo:

En cuanto al costo: Limitarse a un gran número de CPUs baratos reunidos en mismo sistema.

S. Distribuidos tienen una proporción precio/desempeño mucho mejor que la de un sistema centralizado.

Ciertas APLICACIONES SON DISTRIBUIDAS EN FORMA INHERENTE

Sistema Distribuido COMERCIAL: que el sistema se vea como una computadora para los programas de aplicación pero implantado de manera descentralizada con una computadora por sucursal.

Mayor Confiabilidad:

Al distribuir la carga de trabajo en muchas maquinas la falla de un circuito descompondrá a lo más a una maquina y el resto seguirá intacto.

Crecimiento por incremento: Podria añadirse solo mas

procesadores al sistema lo que permite un desarrollo gradual conforme surjan las necesidades.

Ventajas S.D vs PC independiente

Datos compartidos Dispositivos compartidos Comunicación Flexibilidad

Ventajas Sistemas Distribuidos VS PC Independientes

-Necesidad de compartir datos -Periféricos caros (impresoras,

equipos de fotocomposición, dispositivos de almacenamiento masivo)

Para lograrlo es necesario conectar a las computadoras entre si: la conexión de las maquinas conduce a un sistema distribuido.

Mayor flexibilidad potencial:

Posible tener una mezcla de computadoras personales y compartirlas y dejar q los trabajos se ejecuten de la forma más adecuada.

De esta manera la carga de trabajo se puede difundir entre computadoras de forma mas eficaz.

Desventajas

Software Redes Seguridad

DESVENTAJAS

No existe mucha experiencia en el diseño e implantación y uso del software distribuido. –

¿Qué tipos de S.O, lenguajes de programación y aplicaciones son adecuadas? ¿Cuánto deben saber los usuarios de la distribucion? Que tanto hace el sistema, que tanto hacen los usuarios?

Desventajas

Redes de comunicación, pueden perder mensajes, lo que requiere un software especial para el manejo, y puede estar sobrecargado.

Al saturarse la red, esta se debe reemplazar o añadir una segunda lo que requerirá costos.

-Seguridad

CONCEPTOS DE HARDWARESistemas Operativos Distribuidos

Flynn (1972)

Características esenciales

Número de flujos de instrucciones

Número de flujos de datos

Esquemas de Clasificación

SISD (Single Instruction, Single Data) Computadoras Personales hasta Mainframes

SIMD (Single Instruction, Multiple Data) Sumando todos los elementos de 64 vectores

independientes

MISD (Multiple Instruction, Simple Data) No existe computadora que se ajuste a este

modelo

MIMD (Multiple Instruction, Multiple Data) Sistema Distribuido

Sistemas de Computo Paralelo y Distribuido

Diferencia• Multiprocesador

Todas las maquinas comparten la misma memoria

• MulticomputadoraCada maquina tiene su propia memoria

• Fuertemente acopladas Retraso al enviar un mensaje de una

computadora a otra es corto y la tasa de trasmisión de los datos (bps) es alta• Débilmente acopladas

Retraso de los mensajes entre las máquinas es grande y la tasa de transmisión de

los datos es baja

Multiprocesador con base en buses

CONFIGURACIÓN SENCILLA

Plano de Base (Backplane) de alta velocidad o tarjeta madre

Bus típico de 32 o 64 líneas de Dirección, 32 o 64 líneas de Datos y 32 o mas líneas

de Control

Cierta cantidad de CPU, conectados a un bus común, junto con un modulo de Memoria

Características

- Uso de cache Causas:

Bus sobrecargado Bajo rendimiento

Tipos de caches a problemas:

- Escritura- Monitor

Figura. Multiprocesador con base en buses

Multiprocesador con conmutador

Dividir la memoria en módulos y conectarlos a las CPU con un conmutador de cruceta

A) Conmutador de crucetaDesventaja

Con n CPU y n memorias, se necesitan n2 conmutadores en los puntos de cruce. Si n es muy grande se necesitaran de una gran cantidad de conmutadores.

B) Red OmegaCon n CPU y n memorias, se necesita log2n etapas de conmutación,

Cada una de las cuales tiene: nl2 conmutadores

Para un total de (n log2n)/2 conmutadores

Multicomputadora con base en buses

Es similar, desde el punto de vista topológico, al multiprocesador basado en un bus.

Pero se tomaran aspectos como:∇ Menos trafico∇ No es necesario de un backplane de

alta velocidad∇ Enlace para una LAN de menor

velocidad

Multicomputadora con base en buses

Multicomputadora con conmutador

Dos topologías populares a) retícula b) hipercubo

CONCEPTOS DE SOFTWARE

Contenido

Conceptos de Software Sistemas operativos de redes Sistemas realmente distribuidos Sistemas de multiprocesador con

tiempo compartido

Conceptos de Software

Los S. O. no se pueden encasillar fácilmente, como el hardware, pero se los puede clasificar en dos tipos:

Débilmente acoplados. Fuertemente acoplados.

Conceptos de Software

Débilmente acoplados

Permite que las máquinas y usuarios sean independientes entre sí.

Facilita que interactúen en cierto grado cuando sea necesario.

Los equipos individuales se distinguen fácilmente.

Sistemas operativos de redes Software débilmente acoplado en

hardware débilmente acoplado. Solución muy utilizada.

Ejemplo: Red de estación de trabajo conectadas mediante una LAN.

Sistemas operativos de redesEjemplo: Red de estación de trabajo

conectadas mediante una LAN. Cada usuario tiene una estación de

trabajo para su uso: Tiene su propio S. O. La mayoría de los requerimientos se

resuelven localmente. Es posible que un usuario se conecte

de manera remota con otra estación de trabajo.

Sistemas operativos de redes Servidores de Archivos Aceptan solicitudes para la lectura y

escritura de archivos.Servidor de archivosClientes

LAN

Solicitud

Discos donde se almacena el sistema compartido de archivos

Respuesta

Dos clientes y un servidor en un sistema operativo de red

Sistemas operativos de redes

CorreoNoticias

otros

PacmanPacchild

pacwoman

Cliente 1 Cliente 2Servidor 1

juegoServidor 2

trabajo

(a)

JuegoTrabajo

Cliente 1

PacmanPacchild

pacwoman

CorreoNoticias

otros

Cliente 2

Juego

PacmanPacchild

PacwomanTrabajo Correo

Noticiasotros

(b) (c)

Los diversos clientes pueden montar los servidores en diversos lugares

Sistemas realmente distribuidos Software fuertemente acoplado en

un hardware débilmente acoplado.Objetivo:

Crear la ilusión que toda la red de computadoras es un sistema de tiempo compartido.

Imagen de único sistema

Sistemas realmente distribuidos También se define un sistema

distribuido como aquel que se ejecuta en una colección de máquinas enlazadas mediante una red pero que actúan como un uniprocesador virtual.

Sistemas realmente distribuidos¿Cuáles son algunas de las características de un sistema distribuido?Debe existir un mecanismo de comunicación global entre los procesos.Debe existir un esquema global de protección.La administración de procesos debe ser la misma en todas partes. Un sistema global de archivos

Sistemas de multiprocesador con tiempo compartido

Software y Hardware fuertemente acoplados.

Característica de este tipo de sistema: La existencia de una cola de

ejecución: una lista con todos los procesos en el sistema que no están bloqueados en forma lógica y listos para su ejecución.

Sistemas de multiprocesador con tiempo compartido

Proceso A en ejecución

cache

Proceso B en ejecución

cache

Proceso C en ejecución

cache

CPU 1 CPU 2 CPU 3

Disco

E listo

D listo

C ejecución

B ejecución

A ejecuciónCola de ejec

D, ESistema Operativo

Bus

Un multiprocesador con una cola de ejecución

Comparación de tres formas distintas de organizar n CPU

ASPECTOS DE DISEÑO

Transparencia

Flexibilidad

Confiabilidad

Desempeño

Escalabilidad

Transparencia

Un aspecto muy importante es la forma de lograr la imagen de un único sistema

Los usuarios deben percibir que la colección de máquinas conectadas son un sistema de tiempo compartido de un solo procesador

No es transparente un sistema donde el acceso a los archivos remotos se realice mediante:

El establecimiento explícito de una conexión en la red con un servidor remoto.

El envío posterior de mensajes, donde el acceso a los servicios remotos será distinto al acceso a los servicios locales.

Tipos de Transparencia

TIPO SIGNIFICADO

Transparencia de Localizaciónlos usuarios no pueden indicar la localización de los recursos.

Transparencia Migraciónlos recursos se pueden mover a voluntad sin cambiar sus nombres.

Transparencia Réplicalos usuarios no pueden indicar el número de copias existentes.

Transparencia Concurrenciavarios usuarios pueden compartir recursos de manera automática.

Transparencia Paralelismolas actividades pueden ocurrir en paralelo sin el conocimiento de los usuarios.

Flexibilidad

Núcleo Monolítico

Es el S. O. centralizado aumentado con:

•Capacidades de red.

•Integración de servicios remotos.

La mayoría de las llamadas al sistema se realizan mediante señalamiento al núcleo:

• El núcleo realiza el trabajo.

• El núcleo regresa el resultado al

proceso del usuario.

La mayoría de las máquinas tiene discos y administra sus propios sistemas locales de archivos.

Micronúcleo (microkernel)

Es más flexible y proporciona solo cuatro servicios mínimos:

Un mecanismo de comunicación entre procesos.

Cierta administración de la memoria.

Una cantidad limitada de planificación y administración de

procesos de bajo nivel.

Entrada / salida de bajo nivel.

Confiabilidad

La confiabilidad global teórica del sistema podría ser el “or” booleano de la confiabilidad de los componentes; ejemplo:

Se dispone de 5 servidores de archivos, cada uno con una probabilidad de 0,95 de funcionar en un instante dado. -- La probabilidad de falla simultánea de los 5 es (0,05)5 = 0,000006. -- La probabilidad de que al menos uno esté disponible es 0,999994.

La confiabilidad práctica se ve disminuida ya que muchas veces se requiere que ciertos servidores estén en servicio simultáneamente para que el todo funcione, debido a ello algunos sistemas tienen una disponibilidad más relacionada con el “and” booleano de las componentes que con el “or” booleano.

Notas La disponibilidad se mejora mediante:

Un diseño que no exija el funcionamiento simultáneo de un número sustancial de componentes críticos.

La redundancia, es decir la duplicidad de componentes clave del hardware y del software.

Los datos no deben perderse o mezclarse y si los archivos se almacenan de manera redundante en varios servidores, todas las copias deben ser consistentes.

Tolerancia a fallas, según la cual las fallas se deben ocultar brindando una recuperación transparente para el usuario.

Seguridad, lo que significa que los archivos y otros recursos deben ser protegidos contra el uso no autorizado.

Métricas del desempeño:

Tiempo de respuesta. Rendimiento (número de trabajos por hora). Uso del sistema y cantidad consumida de la capacidad de la red.

Desempeño

Para optimizar el desempeño frecuentemente hay que:

Minimizar el número de mensajes: La dificultad es que la mejor forma de mejorar el desempeño es

tener muchas actividades en ejecución paralela en distintos procesadores, pero esto requiere el envío de muchos mensajes.

Centralizar el trabajo en una sola máquina: Resulta poco apropiado para un sistema distribuido.

Tamaño de grano de todos los cálculos:

Paralelismo de grano fino:

Corresponde a trabajos con un gran número de pequeños cálculos y mucha interacción con otros trabajos, debido a ello requieren mucha comunicación que puede afectar el desempeño.

Paralelismo de grano grueso:

Corresponde a trabajos con grandes cálculos, poca interacción y pocos datos, por lo tanto requieren poca comunicación

Concepto Ejemplo

Componentes centralizados un solo servidor de correo para todos los usuarios

Tablas centralizadas un único directorio telefónico en línea

Algoritmos centralizados realización de un ruteo con base en la información completa

Escalabilidad

Se deben utilizar algoritmos descentralizados con las siguientes características:

Ninguna máquina tiene la información completa acerca del estado del sistema.

Las máquinas toman decisiones solo en base a la información disponible de manera local.

El fallo de una máquina no arruina el algoritmo.

No existe una hipótesis implícita de la existencia de un reloj global.

Sistemas Distribuidos

Tipos de Sistemas Operativos Equipo:2 Ana Karen Monrroy Hermenegildo Yareni Guadalupe Muñoz Galicia Esthela Sandoval Ramón Iván Gerardo García Romero