ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Computacion Distribuida

12 de Septiembre de 2013

16.084 Palabras (65 Páginas)436 Visitas

Página 1 de 65

INTRODUCCIÓN A LA COMPUTACIÓN DISTRIBUIDA 1

DEFINICIONES 2

LA HISTORIA DE LA COMPUTACIÓN DISTRIBUIDA 3

DIFERENTES FORMAS DE COMPUTACIÓN 4

COMPUTACIÓN MONOLÍTICA 4

COMPUTACIÓN DISTRIBUIDA 4

COMPUTACIÓN PARALELA 5

COMPUTACIÓN COOPERATIVA 5

VIRTUDES Y LIMITACIONES DE LA COMPUTACIÓN DISTRIBUIDA 5

CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS 7

PROGRAMAS Y PROCESOS DE COMPUTACIÓN 7

PROGRAMACIÓN CONCURRENTE 8

CONCEPTOS BÁSICOS DE REDES 11

PROTOCOLOS 11

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 15

IDENTIFICACIÓN DE PROCESOS A TRAVÉS DE PUERTOS 19

DIRECCIONES DE CORREO ELECTRÓNICO 19

URL 20

CONCEPTOS BÁSICOS DE INGENIERÍA DEL SOFTWARE 22

PROGRAMACIÓN PROCEDIMENTAL FRENTE A PROGRAMACIÓN ORIENTADA A OBJETOS 22

UML 23

LA ARQUITECTURA DE APLICACIONES DISTRIBUIDAS 23

CONJUNTOS DE HERRAMIENTAS, MARCOS DE DESARROLLO Y COMPONENTES 24

RESUMEN 24

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 (e-commerce).

La WWW ha sido responsable de la gran explosión que ha habido en el uso de Internet. Hasta 1990, ARPANET, el predecesor de Internet, fue utilizado principalmente por científicos, investigadores y académicos como una red de datos. Estimulado por la popularidad de la WWW, la red creció espectacularmente en los años 90, tal y como se muestra en las Figuras 1.1 y 1.2.

Algunos sitios de la Web con información de la historia de la red y que son muy visitados son [vimp.museophile.com, 1], [zakon.org, 2] y [isoc.org, 38]. Además, [Hafner and Lyon, 4] es un fascinante informe de los primeros pasos de Internet, incluyendo información sobre las personas y las organizaciones que estuvieron implicados.

Diferentes formas de computación

Para comprender qué significa la computación distribuida en el contexto de este libro, resulta instructivo analizar diferentes formas de computación.

Computación monolítica

En la forma más sencilla de computación, un único computador, tal como un computador personal (PC, Personal Computer) se utiliza para la computación. Dicho computador no está conectado a ninguna red y, por tanto, sólo puede utilizar aquellos recursos a los que tiene acceso de manera inmediata. Esta forma de computación se denomina computación monolítica. En su forma más básica, un único usuario utiliza el computador a la vez. Las aplicaciones de usuario sólo pueden acceder a aquellos recursos disponibles en el sistema. Un ejemplo de este tipo de computación, que puede denominarse computación monolítica monousuario, es el uso de aplicaciones tales como un programa de procesamiento de texto o hojas de cálculo en un PC.

La computación monolítica permite la convivencia de múltiples usuarios. Esta forma de computación (véase la Figura 1.3a), donde varios usuarios pueden compartir de forma concurrente los recursos de un único computador a través de una técnica denominada tiempo compartido, fue popular en los años 70 y 80. El computador que proporciona el recurso centralizado se denomina mainframe para diferenciarlo de pequeños computadores tales como minicomputadores o microcomputadores. Los usuarios, que podrían estar dispersos geográficamente, se pueden conectar al mainframe e interaccionar con el mismo durante una sesión a través de dispositivos denominados terminales. Algunos mainframes ampliamente utilizados incluyen las series IBM 360 y las series Univac 1100. Las aplicaciones que utilizan esta forma de computación son típicamente programas separados y diseñados para llevar a cabo una sola función, tal como programas de nóminas o contabilidad para una empresa o una universidad.

Computación distribuida

En contraste, la computación distribuida implica el uso de múltiples computadores conectados a la red, cada uno de los cuales tiene su propio procesador o procesadores y otros recursos

...

Descargar como (para miembros actualizados) txt (109 Kb)
Leer 64 páginas más »
Disponible sólo en Clubensayos.com