Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


Barra lateral

Proyecto Integral de Ingeniería del Software
Metodologías Ágiles
Trabajo Fin De Grado
Guía Memoria TFG

Colecciones

Otros

dad:sistemas_distribuidos

Sistemas Distribuidos

Un sistema distribuido es un conjunto de computadores independientes interconectados a través de una red y que son capaces de colaborar con el fin de realizar una tarea. Ahora pasaremos del modelo Monoprocesador a Sistema distribuido. OJO, esto no es programación paralela.

Definiciones a tener en cuenta

  • Monoprocesador: Única unidad central de proceso
  • Sistema Distribuido: Conjunto de ordenadores independientes interconectados a través de una red que colaboran para un fin
  • Computadores Independientes: No comparten memoria ni espacio de ejecución
  • Computación Distribuida: Computación que se lleva acabo en un sistema distribuido
    • Servicio de red: www, FTP, POP3…
    • Aplicación de red: Aplicación para usuarios finales.

Formas de colaboración

  • Servicio de red: Servicio proporcionado por un tipo especial de programa en una red
  • Aplicación de red: Aplicación para usuarios finales ejecutada en ordenadores conectados a través de la red

Ventajas de la computación distribuida

  • Los computadores y acceso a red son económicos
  • Compartición de recursos
  • Escalabilidad
  • Tolerancia a fallos

Desventajas

  • Múltiples Puntos de Fallo
  • Aspectos de Seguridad

Formas de computación

  • Monolítica: un único ordenador sin conexión y con un solo usuario
    • Mainframe: Varios usuarios conectados a un único ordenador
  • Distribuida: Múltiples computadores conectados por red
  • Paralela: más de un procesador simultáneamente para ejecutar un programa
    • Difícil dividir un programa en porciones
  • Cooperativa: dividir la computación entre ordenadores conectados para utilizar los ciclos de CPU excedentes.

Conceptos

  • Sesión de servicio: cada cliente entabla una sesión separada e independiente con el servidor
  • Protocolo: Establece las reglas que deben seguir cliente y servidor
  • Localización: Mecanismos para localizar el proceso servidor: IP + Puerto
  • Comunicación y sincronización: Sigue un patrón petición respuesta.
  • Representación de datos: Depende de la naturaleza y necesidad del protocolo.

Tipos de Servidores

  • Orientados a conexión vs sin conexión
    • TCP
    • UDP
  • Iterativo vs Concurrente
    • Bloquea por cliente
    • Atiende a la vez con hilos u operaciones IPC
  • Con estado vs Sin estado
    • Un objeto puede cambiar de estado.
    • Con estado de un objeto representamos el valor de sus atributos.
    • El estado cambia en función el valor de sus atributos.
    • Con Estado Entre cada invocación y llamada se retoma información del pasado (Guarda información entre peticiones)
    • Sin Estado: En cada invocación y llamada se debe enviar toda la información de nuevo
dad/sistemas_distribuidos.txt · Última modificación: 2023/10/02 11:45 por thejuanvisu