UNIDAD I
1.1 Sistemas Distribuidos
Es una colección
de computadoras separadas físicamente y conectadas entre si por una red de
comunicaciones en una red de área local o una LAN, usando básicamente 2 o mas
procesadores posible mente heterogéneos y usa relojes lógicos para su sincronización todo esto para
que este en interconexión.
Cada maquina
posee sus componentes de hardware y software que el usuario percibe como un
solo sistema (no es necesario que el usuario sepa cuales son los componentes de
las maquinas).
Algunas de sus
características:
Concurrencia.-
Esta característica de los sistemas distribuidos permite que los recursos
disponibles en la red puedan ser utilizados simultáneamente por los usuarios
y/o agentes que interactúan en la red.
Carencia de
reloj global.- Las coordinaciones para la transferencia de mensajes entre los
diferentes componentes para la realización de una tarea, no tienen una
temporización general, esta más bien distribuida a los componentes.
Fallos
independientes de los componentes.- Cada componente del sistema puede fallar
independientemente, con lo cual los demás pueden continuar ejecutando sus
acciones. Esto permite el logro de las tareas con mayor efectividad, pues el
sistema en su conjunto continua trabajando.
1.1.1 Ventajas y desventajas contra los sistemas centralizados
Ventajas:
Economía: es la
razón número uno de la tendencia hacia los sistemas distribuidos ya que estos
sistemas tienen en potencia una proporción precio/desempeño mucho mejor que la
de un sistema centralizado.
Velocidad: un
sistema distribuido puede tener mayor poder de cómputo que una mainframe.
Distribución
inherente: otra razón para la construcción de un sistema distribuido es que
ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas
aplicaciones utilizan máquinas que están separadas a cierta distancia.
Confiabilidad:
un sistema distribuido ofrece mayor confiabilidad: al distribuir la carga de
trabajo en muchas máquinas, la falla de un circuito descompondrá a lo más una
máquina y el resto seguirá intacto.
Crecimiento por
incrementos: si se necesita añadir poder de cómputo a la compañía, con un
sistema distribuido, podrían añadirse sólo más procesadores al sistema, lo que
permite un desarrollo gradual conforme surjan las necesidades.
Procesadores más
poderosos y a menos costos
Desarrollo de
Estaciones con más capacidades
Avances en la
Tecnología de Comunicaciones.
Disponibilidad
de elementos de Comunicación.
Eficiencia y
Flexibilidad.
Respuesta
Rápida.
Disponibilidad y
Confiabilidad.
Sistema poco
propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).
Mayores
servicios que elevan la funcionalidad (Monitoreo, Telecontrol, Correo
Eléctrico, Etc.).
Desventajas:
Software: No hay
mucha experiencia en el diseño, implantación y uso del software distribuido,
además existe poco software para los sistemas distribuidos en la actualidad.
Redes: Una vez
que el sistema llega a depender de la red, la pérdida o saturación de ésta
puede negar algunas de las ventajas que el sistema distribuido debía conseguir.
Seguridad: si
las personas pueden tener acceso a los datos en todo el sistema, entonces
también pueden tener acceso a datos con los que no tienen nada que ver.
Requerimientos
de mayores controles de procesamiento.
Velocidad de
propagación de información (Muy lenta a veces).
Servicios de
replicación de datos y servicios con posibilidades de fallas.
Mayores
controles de acceso y proceso (Commit).
Administración
más compleja.
1.1.2 Modelo Cliente-Servidor
La arquitectura
cliente-servidor es un modelo de aplicación distribuida en el que las tareas se
reparten entre los proveedores de recursos o servicios, llamados servidores, y
los demandantes, llamados clientes. Un cliente realiza peticiones a otro
programa, el servidor, que le da respuesta. Esta idea también se puede aplicar
a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa
en un sistema operativo multiusuario distribuido a través de una red de
computadoras.
En esta
arquitectura la capacidad de proceso está repartida entre los clientes y los
servidores, aunque son más importantes las ventajas de tipo organizativo
debidas a la centralización de la gestión de la información y la separación de
responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación
entre cliente y servidor es una separación de tipo lógico, donde el servidor no
se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo
programa. Los tipos específicos de servidores incluyen los servidores web, los
servidores de archivo, los servidores del correo, etc. Mientras que sus
propósitos varían de unos servicios a otros, la arquitectura básica seguirá
siendo la misma.
Características
En la
arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus
características son:
Es quien inicia
solicitudes o peticiones, tienen por tanto un papel activo en la comunicación
(dispositivo maestro o amo).
Espera y recibe
las respuestas del servidor.
Por lo general,
puede conectarse a varios servidores a la vez.
Normalmente
interactúa directamente con los usuarios finales mediante una interfaz gráfica
de usuario.
Al contratar un
servicio de redes, se debe tener en cuenta la velocidad de conexión que le
otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre
ronda entre 1 ms y 50 ms.
Al receptor de
la solicitud enviada por el cliente se conoce como servidor. Sus
características son:
Al iniciarse
esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un
papel pasivo en la comunicación (dispositivo esclavo).
Tras la
recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Por lo general,
aceptan conexiones desde un gran número de clientes (en ciertos casos el número
máximo de peticiones puede estar limitado).
No es frecuente
que interactúen directamente con los usuarios finales.
Ventajas
Centralización
del control: los accesos, recursos y la integridad de los datos son controlados
por el servidor de forma que un programa cliente defectuoso o no autorizado no
pueda dañar el sistema. Esta centralización también facilita la tarea de poner
al día datos u otros recursos (mejor que en las redes P2P)..
Escalabilidad:
se puede aumentar la capacidad de clientes y servidores por separado. Cualquier
elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden
añadir nuevos nodos a la red (clientes y/o servidores).
Fácil
mantenimiento: al estar distribuidas las funciones y responsabilidades entre
varios ordenadores independientes, es posible reemplazar, reparar, actualizar,
o incluso trasladar un servidor, mientras que sus clientes no se verán
afectados por ese cambio (o se afectarán mínimamente). Esta independencia de
los cambios también se conoce como encapsulación.
Existen
tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S
que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz,
y la facilidad de empleo.
Desventajas
La congestión
del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran
cantidad de clientes envían peticiones simultaneas al mismo servidor, puede ser
que cause muchos problemas para éste (a mayor número de clientes, más problemas
para el servidor). Al contrario, en las redes P2P como cada nodo en la red hace
también de servidor, cuanto más nodos hay, mejor es el ancho de banda que se
tiene.
El paradigma de
C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído,
las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de
redes P2P, los recursos están generalmente distribuidos en varios nodos de la
red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía acabar
de descargar consiguiendo datos del resto de los nodos en la red.
El software y el
hardware de un servidor son generalmente muy determinantes. Un hardware regular
de un ordenador personal puede no poder servir a cierta cantidad de clientes.
Normalmente se necesita software y hardware específico, sobre todo en el lado
del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el
coste.
El cliente no
dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la
aplicación es una Web, no podemos escribir en el disco duro del cliente o
imprimir directamente sobre las impresoras sin sacar antes la ventana previa de
impresión de los navegadores.
1.1.3 Características de hardware
Monitor
Unidad de disco
Teclado
Mouse
Modem
Memorias
Unidades ópticas
Procesador
No
necesariamente tienen que ser los mismos componentes en las computadoras a
utilizar
1.1.4 Características de software
Debe contar con:
1
Sistemas operativos ya sean
Windows (cualquier vercion), Linux, Ubuntu.
2
Aplicaciones generales de
productividad en oficinas.
3
Aplicaciones que utilizan una
interfaz gráfica de usuario (GUI) para permitir al usuario seleccionar las
tablas y columnas cuyos datos desea ver.
4
Aplicaciones que utilizan
instrucciones del lenguaje general para determinar los datos que el usuario
desea ver.
5
Aplicaciones de la línea de
negocios que almacenan sus datos en bases de datos. Estas aplicaciones pueden
incluir aplicaciones de otros proveedores o escritas internamente.
6
Páginas Web que extraen datos
de bases de datos.
7
Sistemas de bases de datos
distribuidos desde los que se replican datos en varias bases de datos o se
ejecutan consultas distribuidas.
8
Almacenamientos de datos en los
que los datos se extraen de los sistemas de procesamiento de transacciones en
línea (OLTP) y se resumen para el análisis dirigido a la toma de decisiones.
1.1
.5 Direccionamiento lógico y físico
Direccionamiento
lógico y físico El proceso desde que los datos son incorporados al ordenados
hasta que se transmiten al medio se llama encapsulación. Estos datos son
formateados, segmentados, identificados con el direccionamiento lógico y físico
para finalmente ser enviados al medio. A cada capa del modelo OSI le
corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden
de encapsulamiento: DATOS-SEGMENTOS-PAQUETES-TRAMAS-BITS
·
CAPA TRANSMITE
·
APLICACIÓN DATOS
·
PRESENTACION
·
SESIÓN
·
TRANSPORTE SEGMENTOS
·
RED PAQUETES
·
ENLACE DED DATOS TRAMAS
·
FÍSICA BITS
Debido a que
posiblemente la cantidad de los datos sean demasiados, la capa de transporte
desde de origen, se encarga de segmentarlos para así ser empaquetados
debidamente, esta misma capa en el destino se encargara de reensamblar los
datos y colocarlos en forma secuencial, ya que no siempre llegan a su destino
en el orden en que han sido segmentados, así mismo acorde al protocolo que se
este utilizando habrá corrección de errores. Estos segmentos son empaquetados
(paquetes o datagramas) e identificados en la capa de red con la dirección
lógica o IP correspondiente al origen y destino. Ocurre lo mismo con la
dirección MAC en la capa de enlace de datos formándose las tramas o frames para
ser transmitidos a través de alguna interfaz.
1.2 Concepto y características de los SOR
Son aquellos
sistemas que mantienen a dos o más computadoras unidas a través de algún medio
de comunicación (físico o no), con el objetivo primordial de poder compartir
los diferentes recursos y la información del sistema.
El primer
Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola
68000, pasando posteriormente a procesadores Intel como Novell Netware. Los
Sistemas Operativos de red mas ampliamente usados son: Linux,Novell Netware,
Personal Netware, LAN Manager, Windows NT Server UNIX.
Una posibilidad
es el software débilmente acoplado en hardware débilmente acoplado: Es una
solución muy utilizada. Ej.: una red de estaciones de trabajo conectadas
mediante una LAN. Cada usuario tiene una estación de trabajo para su uso
exclusivo: 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: Mediante un comando de “login remoto”. Se convierte la
propia estación de trabajo del usuario en una terminal remota enlazada con la
máquina remota. Los comandos se envían a la máquina remota.
1.3 Concepto y características de los SOD
En un sistema
operativo distribuido los usuarios pueden acceder a recursos remotos de la
misma manera en que lo hacen para los recursos locales. Permiten distribuir
trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este
conjunto de procesadores esté en un equipo o en diferentes, lo cual es
transparente para el usuario.
Los sistemas
distribuidos deben de ser muy confiables y estables ya que si un componente del
sistema se descompone otro componente debe de ser capaz de reemplazarlo
inmediatamente y no afectar los procesos del sistema.
Entre los
diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes:
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
Características
básicas
Los sistemas
operativos distribuidos están basados en las ideas básicas:
·
Transparencia
·
Eficiencia
·
Flexibilidad
·
Escalabilidad