Este sistema se basa en repartir la información a través de Internet mediante un software, previamente descargado por el usuario, a diferentes ordenadores, que van resolviendo los cálculos y una vez tienen el resultado lo envían al servidor.•Este entrelazado de la declaración inicial y las solicitudes externas continúa para siempre.Los S. O. para sistemas distribuidos han tenido importantes desarrollos, pero todavía existe un largo camino por recorrer.Esta agencia fue la espina dorsal de Internet hasta 1990, tras finalizar la transición al protocolo TCP/IP, iniciada en 1983.Desde entonces, sus actas son publicadas por Springer-Verlag en la serie ‘Lecture Notes on Computer Science’.[9] La figura que se encuentra a la derecha ilustra la diferencia entre los sistemas distribuidos y paralelos.En la figura b) se muestra el mismo sistema distribuido con más detalle: cada computadora tiene su propia memoria local, y la información solo puede intercambiarse pasando mensajes de un nodo a otro utilizando los enlaces de comunicación disponibles.En la figura c) se muestra un sistema paralelo en el que cada procesador tiene acceso directo a una memoria compartida.Dichos programas a menudo funcionan con diseños similares y pueden compartir un concepto.Modelos fundamentales: Describen una perspectiva abstracta para examinar un aspecto individual de un sistema distribuido.La mayoría de los sistemas están estructurados como sistemas cliente-servidor, en los que la máquina servidora es la que almacena los datos o recursos, y proporcionan servicio a varios clientes distribuidos geográficamente.Sin embargo, algunas aplicaciones no dependen de un servidor central, es decir, son sistemas peer-to-peer, cuya popularidad va en aumento.Presentamos aquí algunos ejemplos de sistemas distribuidos: [11] Los sistemas destinados a ser utilizados en entornos del mundo real deben estar diseñados para funcionar correctamente en la gama más amplia posible de circunstancias y ante posibles dificultades y amenazas.Un servicio distribuido puede ser proporcionado por uno o más procesos del servidor, que interactúan entre sí y con los procesos de cliente para mantener una visión de todo el sistema.Cuando hablamos de modelos en un sistema distribuido, nos referimos principalmente al hecho de automatizar tareas, usando un computador, del tipo pregunta-respuesta, es decir, que cuando realicemos una pregunta al computador, este nos debe contestar con una respuesta apropiada.Teóricamente, la informática teórica busca encontrar la relación entre problemas que puedan resolverse mediante un computador (teoría de la computabilidad) y la eficiencia al realizarlo(teoría de la complejidad computacional).Comúnmente, hay tres puntos de vista: Un algoritmo paralelo define múltiples operaciones para ser ejecutadas en cada paso.[21][22] Hasta ahora sólo se ha tratado de diseñar un sistema distribuido que resuelva un problema determinado.Sin embargo, hay muchos casos especiales interesantes que son decidibles.Se supone que cada banco debe mantener las cuentas de sus clientes.La velocidad de cómputo en los uniprocesadores tradicionales se está acercando rápidamente al límite físico.Mientras que los procesadores superescalares y VLIW estiran el límite introduciendo un paralelismo a nivel arquitectónico (cuestión de la instrucción), las técnicas no se escalan mucho más allá de un cierto nivel.Una técnica alternativa para obtener más potencia de cálculo es utilizar procesadores múltiples.Dividir un problema entero en subproblemas más pequeños y asignar estos subproblemas a procesadores físicos separados que puedan funcionar simultáneamente es un método potencialmente atractivo para aumentar la velocidad de cálculo.A menudo, esto es más sencillo y económico que invertir en un único uniprocesador superrápido.Tolerancia a fallos: Por último, los poderosos uniprocesadores, o sistemas de computación construidos alrededor de un solo nodo central son propensos a un completo colapso cuando el procesador falla.La otra cara de este enfoque es que, al incorporar elementos de procesamiento redundantes en un sistema distribuido, se puede aumentar potencialmente la fiabilidad o la disponibilidad del sistema.Por ejemplo, en un sistema que tiene triple redundancia modular (TMR), se utilizan tres unidades funcionales idénticas para realizar el mismo cómputo, y el resultado correcto se determina por mayoría de votos.Así pues, un sistema distribuido ofrece una excelente oportunidad para incorporar la tolerancia a fallos y la degradación grácil.Se agregan funciones al sistema ya sea creando nuevos módulos o mejorando los existentes.