Computacion Distribuida
Enviado por liliana_mtz_rubi • 12 de Septiembre de 2013 • 16.188 Palabras (65 Páginas) • 508 Visitas
INTRODUCCIÓN A LA COMPUTACIÓN DISTRIBUIDA 12
DEFINICIONES 2
LA HISTORIA DE LA COMPUTACIÓN DISTRIBUIDA 3
DIFERENTES FORMAS DE COMPUTACIÓN 4
COMPUTACIÓN MONOLÍTICA 4
COMPUTACIÓN DISTRIBUIDA 45
COMPUTACIÓN PARALELA 5
COMPUTACIÓN COOPERATIVA 5
VIRTUDES Y LIMITACIONES DE LA COMPUTACIÓN DISTRIBUIDA 56
CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS 78
PROGRAMAS Y PROCESOS DE COMPUTACIÓN 78
PROGRAMACIÓN CONCURRENTE 89
CONCEPTOS BÁSICOS DE REDES 1112
PROTOCOLOS 1112
ARQUITECTURA DE RED 12
PROTOCOLOS DE LA ARQUITECTURA DE RED 13
COMUNICACIÓN ORIENTADA A CONEXIÓN FRENTE A COMUNICACIÓN SIN CONEXIÓN 14
RECURSOS DE RED 15
IDENTIFICACIÓN DE NODOS Y DIRECCIONES DEL PROTOCOLO DE INTERNET 1516
IDENTIFICACIÓN DE PROCESOS A TRAVÉS DE PUERTOS 19
DIRECCIONES DE CORREO ELECTRÓNICO 1920
URL 20
CONCEPTOS BÁSICOS DE INGENIERÍA DEL SOFTWARE 2223
PROGRAMACIÓN PROCEDIMENTAL FRENTE A PROGRAMACIÓN ORIENTADA A OBJETOS 2223
UML 23
LA ARQUITECTURA DE APLICACIONES DISTRIBUIDAS 2324
CONJUNTOS DE HERRAMIENTAS, MARCOS DE DESARROLLO Y COMPONENTES 24
RESUMEN 2425
EJERCICIOS 25
REFERENCIAS 31
Introducción a la Computación Distribuida
Este libro trata sobre computación distribuida. Este capítulo comenzará indicando qué se entiende por computación distribuida en el contexto de este libro. Para ello, se muestra la historia de la computación distribuida y se compara este tipo de computación con otras formas de computación. A continuación, se presentan algunos conceptos básicos en los campos de sistemas operativos, redes, e ingeniería del software, conceptos con los que el lector debe familiarizarse para comprender el material presentado en capítulos sucesivos.
Definiciones
Uno de los orígenes de la confusión existente en el campo de la computación distribuida es la falta de un vocabulario universal, tal vez debido al increíble ritmo al que se desarrollan nuevas ideas en este campo. A continuación se definen algunos de los términos claves utilizados en el contexto de este libro. Durante la lectura del libro es necesario mantener en la mente estas definiciones, teniendo en cuenta que algunos de dichos términos pueden tener diferentes definiciones en otros contextos.
En sus orígenes, la computación se llevaba a cabo en un solo procesador. Un monoprocesador o la computación monolítica utiliza una única unidad central de proceso o CPU (Central Processing Unit) para ejecutar uno o más programas por cada aplicación.
Un sistema distribuido es un conjunto de computadores independientes, interconectados a través de una red y que son capaces de colaborar a fin de realizar una tarea. Los computadores se consideran independientes cuando no comparten memoria ni espacio de ejecución de los programas. Dichos computadores se denominan computadores ligeramente acoplados, frente a computadores fuertemente acoplados, que pueden compartir datos a través de un espacio de memoria común.
La computación distribuida es computación que se lleva a cabo en un sistema distribuido. Este libro explora las formas en que los programas, ejecutando en computadores independientes, colaboran con otros a fin de llevar a cabo una determinada tarea de computación, tal como los servicios de red o las aplicaciones basadas en la Web.
• Un servicio de red es un servicio proporcionado por un tipo de programa especial denominado servidor en una red. La WWW (World Wide Web) o simplemente Web es un servicio de este tipo, así como el correo electrónico (email) y la transferencia de ficheros (FTP: File Transfer Protocol). Un programa de servidor es justamente la mitad del denominado modelo cliente-servidor de la computación distribuida. Este modelo se estudiará detalladamente en sucesivos capítulos de este libro.
• Una aplicación de red es una aplicación para usuarios finales, que se ejecuta en computadores conectados a través de una red. Existe un gran número de aplicaciones de red, que van desde aplicaciones comerciales, tales como carritos de la compra y subastas electrónicas, a aplicaciones no comerciales tales como salones de chat o juegos de red.
La diferencia entre servicios y aplicaciones de red no es siempre nítida y estos términos frecuentemente se intercambian.
La historia de la computación distribuida
Al comienzo se utilizaban computadores aislados, cada uno de los cuales era capaz de ejecutar programas almacenados. La conexión de computadores aislados de forma que los datos se pudieran intercambiar fue una progresión natural. La conexión rudimentaria de computadores a través de cables fue utilizada ya en los años 60 para la compartición de ficheros. No obstante, esta práctica requiere intervención manual y no puede denominarse aplicación de computación a uno o más programas que ejecutan de forma autónoma con el objetivo de realizar una determinada tarea. Tal aplicación requiere comunicación de datos, donde dos computadores intercambien datos espontáneamente y utilicen determinado software y hardware para la realización de las tareas inherentes de dicha aplicación.
El primer RFC (Request For Comments) de Internet, RFC 1, es una propuesta que especifica cómo las máquinas participantes pueden intercambiar información con otras a través del uso de mensajes. Mientras pudiera haber intentos individuales de crear aplicaciones de red a pequeña escala (tal vez mediante la conexión de dos o más computadores a través de cable), la primera aplicación de red fue el correo electrónico, también denominado email, ya que el primer mensaje fue enviado y registrado en 1972 en una red ARPANET de cuatro nodos. (Un nodo de una red es un computador o máquina que participa en la misma.) Los mecanismos de transferencia de ficheros automatizados, que permiten el intercambio de ficheros de datos entre las máquinas, supusieron otra progresión natural y ya en 1971 hubo una propuesta para dicho tipo de mecanismo (véase los RFC 114 y RFC 141). Hasta el día de hoy, el correo electrónico y la transferencia de ficheros siguen siendo dos de los más populares servicios de red. Sin embargo, el más conocido servicio de red es indudablemente la World Wide Web (WWW). La Web fue concebida originalmente a finales de los años 80 por científicos del centro de investigación suizo CERN en Ginebra como una aplicación que permite el acceso a hipertexto sobre una red. Desde entonces, la WWW se ha convertido en una plataforma para aplicaciones y servicios de red, incluyendo el correo electrónico, motores de búsqueda y comercio electrónico
...