SISTEMAS OPERATIVOS DISTRIBUIDOS

Download Report

Transcript 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 Grosch
Ley 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
Sistemas Operativos Distribuidos
CONCEPTOS DE HARDWARE
Esquemas de Clasificación
 Flynn (1972)
 Características esenciales
 Número de flujos de instrucciones
 Número de flujos de datos
 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
• Multicomputadora
Cada 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
Cierta cantidad de CPU, conectados a un bus
común, junto con un modulo de Memoria
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
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 cruceta
Desventaja
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 Omega
Con 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 redes
Ejemplo: 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 archivos
Clientes
Discos donde se
almacena el sistema
compartido de
archivos
Solicitud
LAN
Respuesta
Dos clientes y un servidor en un sistema operativo de red
Sistemas operativos de redes
Cliente 1
Cliente 2
Servidor 1
juego
Servidor 2
trabajo
Pacman
Pacchild
pacwoman
Correo
Noticias
otros
(a)
Cliente 1
Cliente 2
Juego
Trabajo
Juego
Pacman
Pacchild
pacwoman
Correo
Noticias
otros
(b)
Pacman
Pacchild
Pacwoman
Trabajo
Correo
Noticias
otros
(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
E listo
D listo
CPU 1
CPU 2
CPU 3
C ejecución
B ejecución
A ejecución
Proceso A en
ejecución
Proceso B en
ejecución
Proceso C en
ejecución
Cola de ejec D, E
cache
cache
cache
Sistema Operativo
Bus
Un multiprocesador con una cola de ejecución
Disco
Comparación de tres formas distintas de organizar n CPU
ASPECTOS DE DISEÑO
Transparencia
Flexibilidad
Confiabilidad
Desempeño
Escalabilidad
 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ón
los usuarios no pueden indicar la
localización de los recursos.
Transparencia Migración
los recursos se pueden mover a
voluntad sin cambiar sus nombres.
Transparencia Réplica
los usuarios no pueden indicar el
número de copias existentes.
Transparencia Concurrencia
varios usuarios pueden compartir
recursos de manera automática.
Transparencia Paralelismo
las actividades pueden ocurrir en
paralelo sin el conocimiento de los
usuarios.
Núcleo Monolítico
Es el S. O. centralizado
aumentado con:
 La mayoría de las llamadas al
sistema se realizan mediante
señalamiento al núcleo:
•Capacidades de red.
• El núcleo realiza el trabajo.
•Integración de servicios
remotos.
• 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.
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.
 Seguridad, lo que significa que los archivos y otros recursos deben ser
protegidos contra el uso no autorizado.
 Tolerancia a fallas, según la cual las fallas se deben ocultar brindando
una recuperación transparente para el usuario.
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.
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
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