0% encontró este documento útil (0 votos)
98 vistas8 páginas

Sistemas Distribuidos y Cliente/Servidor

Este documento describe los conceptos fundamentales de los sistemas distribuidos y la computación cliente/servidor. Explica las características de los sistemas distribuidos como la concurrencia y la falta de un reloj global. También describe el modelo cliente/servidor, las categorías de servidores como servidores de archivos y servidores web, y las arquitecturas cliente/servidor de dos y tres capas. Finalmente, introduce conceptos como protocolos, middleware y objetos distribuidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
98 vistas8 páginas

Sistemas Distribuidos y Cliente/Servidor

Este documento describe los conceptos fundamentales de los sistemas distribuidos y la computación cliente/servidor. Explica las características de los sistemas distribuidos como la concurrencia y la falta de un reloj global. También describe el modelo cliente/servidor, las categorías de servidores como servidores de archivos y servidores web, y las arquitecturas cliente/servidor de dos y tres capas. Finalmente, introduce conceptos como protocolos, middleware y objetos distribuidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN

ALUMNO: JOSE ANTONIO MONTERO PALACIO

MATERIA: SISTEMAS OPERATIVOS II

DOCENTE: DORIS ANAHI LEDESMA VARGAS

CARRERA: ING. INFORMATICA

GRUPO: 507-C

12/09/2021
La computación desde sus inicios ha sufrido muchos cambios, desde los grandes
ordenadores que permitían realizar tareas en forma limitada y de uso un tanto
exclusivo de organizaciones muy selectas, hasta los actuales ordenadores ya sean
personales o portátiles que tienen las mismas o incluso mayores capacidades que
los primeros y que están cada vez más introducidos en el quehacer cotidiano de la
persona.
Es en este contexto que aparece el concepto de “Sistemas Distribuidos” que se ha
popularizado tanto en la actualidad y que tiene como ámbito de estudio las redes
como, por ejemplo: internet, redes de teléfonos móviles, redes corporativas, etc.

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 temporal general, está 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 continúa trabajando.

La computación Cliente/Servidor.
Este modelo, que predomina en la actualidad, permite descentralizar el
procesamiento y recursos, sobre todo, de cada uno de los servicios y visualización
de la interfaz gráfica de usuario. Esto hace que ciertos servidores estén dedicados
a solo una aplicación determinada y por lo tanto ejecutarla en forma eficiente.
Definición: Sistema donde el cliente es una máquina que solicita un determinado
servicio y se denomina servidor a la máquina que lo proporciona. Los servicios
pueden ser:
 Ejecución de un determinado programa.
 Acceso a un determinado banco de información.
 Acceso a un dispositivo de hardware.
Es un elemento primordial, la presencia de un medio físico de comunicación entre
las maquinas, y dependerá de la naturaleza de este medio la viabilidad del sistema.
Categorías de servidores.

 Servidores de archivos: Proporciona archivos para clientes. Si los archivos


no fueran tan grandes y los usuarios que comparten esos archivos no fueran
muchos, esto sería una gran opción de almacenamiento y procesamiento de
archivos. El cliente solicita los archivos y el servidor los ubica y se los envía.

 Servidores de base de datos: Son los que almacenan gran cantidad de datos
estructurados, se diferencian de los de archivos pues la información que se
envía está ya resumida en la base de datos. Ejemplo: El Cliente hace una
consulta, el servidor recibe esa consulta (SQL) y extrae solo la información
pertinente y envía esa respuesta al cliente.

 Servidores de software de grupo: El software de grupo es aquel, que permite


organizar el trabajo de un grupo. El servidor gestiona los datos que dan
soporte a estas tareas. Por ejemplo: almacenar las listas de correo
electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el
servidor se lo envía al resto del grupo.

 Servidores Web: Son los que guardan y proporcionan Páginas HTML. El


cliente desde un browser o link hace un llamado de la página y el servidor
recibe el mensaje y envía la página correspondiente.

 Servidores de correo: Gestiona el envío y recepción de correo de un grupo


de usuarios (el servidor no necesita ser muy potente). El servidor solo debe
utilizar un protocolo de correo.

 Servidores de impresión: Gestionan las solicitudes de impresión de los


clientes. El cliente envía la solicitud de impresión, el servidor recibe la
solicitud y la ubica en la cola de impresión, ordena a la impresora que lleve a
cabo las operaciones y luego avisa a la computadora cliente que ya acabo
su respectiva impresión.

 Servidores de aplicación: Se dedica a una única aplicación. Es básicamente


una aplicación a la que pueden acceder los clientes.
Arquitecturas Cliente/Servidor.

Arquitectura Cliente-Servidor de Dos Capas: Consiste en una capa de


presentación y lógica de la aplicación; y la otra de la base de datos. Normalmente
esta arquitectura se utiliza en las siguientes situaciones:
1. Cuando se requiera poco procesamiento de datos en la organización.
2. Cuando se tiene una base de datos centralizada en un solo servidor.
3. Cuando la base de datos es relativamente estática.
4. Cuando se requiere un mantenimiento mínimo.
Arquitectura Cliente-Servidor de Tres Capas: Consiste en una capa de la
Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos.
Normalmente esta arquitectura se utiliza en las siguientes situaciones:
1. Cuando se requiera mucho procesamiento de datos en la aplicación.
2. En aplicaciones donde la funcionalidad este en constante cambio.
3. Cuando los procesos no están relativamente muy relacionados con los datos.
4. Cuando se requiera aislar la tecnología de la base de datos para que sea
fácil de cambiar.
5. Cuando se requiera separar el código del cliente para que se facilite el
mantenimiento.
6. Esta muy adecuada para utilizarla con la tecnología orientada a objetos.

Protocolo.
Es un conjunto bien conocido de reglas y formatos que se utilizan para la
comunicación entre procesos que realizan una determinada tarea. Se requieren dos
partes:
 Especificación de la secuencia de mensajes que se han de intercambiar.
 Especificación del formato de los datos en los mensajes.
Un protocolo permite que componentes heterogéneos de sistemas distribuidos
puedan desarrollarse independientemente, y por medio de módulos de software que
componen el protocolo, haya una comunicación transparente entre ambos
componentes. Es conveniente mencionar que estos componentes del protocolo
deben estar tanto en el receptor como en el emisor.
Ejemplos de protocolos usados en los sistemas distribuidos:

IP: Protocolo de Internet. - Protocolo de la capa de Red, que permite definir la unidad
básica de transferencia de datos y se encarga del direccionamiento de la
información, para que llegue a su destino en la red.
TCP: Protocolo de Control de Transmisión. - Protocolo de la capa de Transporte,
que permite dividir y ordenar la información a transportar en paquetes de menor
tamaño para su transporte y recepción.
HTTP: Protocolo de Transferencia de Hipertexto. - Protocolo de la capa de
aplicación, que permite el servicio de transferencia de páginas de hipertexto entre
el cliente WEB y los servidores.
SMTP: Protocolo de Transferencia de Correo Simple. - Protocolo de la capa de
aplicación, que permite el envío de correo electrónico por la red.
POP3: Protocolo de Oficina de Correo. - Protocolo de la capa de aplicación, que
permite la gestión de correos en Internet, es decir, le permite a una estación de
trabajo recuperar los correos que están almacenados en el servidor.

Middleware.
Capa de software intermedio entre el cliente y el servidor. Es la capa de software
que nos permiten gestionar los mecanismos de comunicaciones. Ejemplo si se hace
la petición de una página web desde un browser en el cliente, el middleware
determina la ubicación y envía una petición para dicha página. El servidor Web,
interpreta la petición y envía la página al software intermedio, quien la dirige al
navegador de la máquina cliente que la solicitó.
Existen dos tipos:
Software intermedio general: Servicios generales que requieren todos los clientes
y servidores, por ejemplo: software para las comunicaciones usando el TCP/IP,
software parte del sistema operativo que, por ejemplo, almacena los archivos
distribuidos, software de autenticación, el software intermedio de mensajes de
clientes a servidores y viceversa.
Software intermedio de servicios: Software asociado a un servicio en particular,
por ejemplo: software que permite a dos BD conectarse a una red cliente/servidor
(ODBC: Conectividad abierta de BD), software de objetos distribuidos, por ejemplo
la tecnología CORBA permite que objetos distribuidos creados en distintos
lenguajes coexistan en una misma red (intercambien mensajes), software
intermedio para software de grupo, software intermedio asociado a productos de
seguridad específicas (Conexiones Seguras: Sockets), etc.
Objetos Distribuidos.
En los sistemas Cliente/Servidor, un objeto distribuido es aquel que está gestionado
por un servidor y sus clientes invocan sus métodos utilizando un "método de
invocación remota". El cliente invoca el método mediante un mensaje al servidor
que gestiona el objeto, se ejecuta el método del objeto en el servidor y el resultado
se devuelve al cliente en otro mensaje.
Las tres tecnologías importantes y más usadas en este ámbito son:
RMI.- Remote Invocation Method.- Fue el primer fremework para crear sistemas
distribuidos de Java. El sistema de Invocación Remota de Métodos (RMI) de Java
permite, a un objeto que se está ejecutando en una Máquina Virtual Java (VM),
llamar a métodos de otro objeto que está en otra VM diferente. Esta tecnología está
asociada al lenguaje de programación Java, es decir, que permite la comunicación
entre objetos creados en este lenguaje.
DCOM.- Distributed Component Object Model.- El Modelo de Objeto Componente
Distribuido, esta incluido en los sistemas operativos de Microsoft. Es un juego de
conceptos e interfaces de programa, en el cual los objetos de programa del cliente,
pueden solicitar servicios de objetos de programa servidores en otros ordenadores
dentro de una red. Esta tecnología esta asociada a la plataforma de productos
Microsoft.
CORBA.- Common Object Request Broker Architecture.- Tecnología introducida por
el Grupo de Administración de Objetos OMG, creada para establecer una plataforma
para la gestión de objetos remotos independiente del lenguaje de programación.

Distribución de datos.
La distribución es clave para poder manejar conglomerados de datos muy grandes.
Es necesaria para lograr escalabilidad, que son los medios para mantener un
desempeño estable cuando los cúmulos de datos crecen al agregar nuevos
recursos al sistema.
Por otro lado, la distribución presenta una serie de problemas técnicos que hacen
que el diseño e implementación de un almacenamiento y cómputo distribuido sean
importantes de considerar. Un punto a tomar en cuenta es el riesgo de posibles
fallos.
Características de los sistemas distribuidos.
Los dispositivos pueden funcionar con diferentes sistemas operativos. Esto no
impide que puedan ofrecer siempre los mismos servicios a los usuarios. Por tal
razón, todos los dispositivos conectados son compatibles entre sí.
Otro tema fundamental es el diseño del software, porque este también es compatible
con todos los sistemas y usuarios que se tienen en cada computadora.
Tolerancia a fallos
Al ser una sola red con muchas computadoras, si falla alguno de sus componentes,
los demás podrán seguir efectuando su función cabalmente, evitando los errores
rápidamente. Por tal razón, los sistemas distribuidos suelen brindar mucha
confianza cuando se trabaja con ellos, porque es bastante raro que falle el sistema
completamente, porque las tareas no residen en un solo aparato, sino en diferentes
equipos.
Middleware y API
Los diferentes procesadores usan un middleware de distribución, ayudando a
compartir diferentes recursos y capacidades para brindar a los usuarios una red
coherente e integrada. También ofrece a las aplicaciones una serie de servicios,
como seguridad y recuperación de fallos.
Actualmente, se escucha más sobre interfaces de programación de aplicaciones
(API), que funcionan como puerta de enlace por donde las aplicaciones pueden
comunicarse. Las aplicaciones no necesitan saber nada sobre otras aplicaciones,
excepto su API.
Arquitectura.
Arquitectura cliente-servidor
Una computadora en particular llamada servidor puede realizar ciertas tareas, que
se denominan servicios. Por ejemplo, ofrecer archivos a través de la red, capacidad
de ejecutar ciertos comandos o enrutar datos a una impresora. El cliente es la
computadora que solicita los servicios. La computadora conocida principalmente por
el servicio que brinda puede denominarse servidor de impresión, servidor de
archivos, etc.
Arquitectura de igual a igual (peer-to-peer)
Asume que cada computadora tiene capacidades similares y que ninguna máquina
está dedicada a servir a las demás. Un ejemplo de esto es un conjunto de
microcomputadoras en una pequeña oficina.
La red permite a las personas acceder a los archivos de los demás y enviar correos
electrónicos, pero ninguna computadora brinda un conjunto específico de servicios.
Análisis:

Los sistemas distribuidos son piezas de software que sirven para coordinar las
acciones de varias computadoras, requieren de ciertos componentes, una red de
comunicación y un mecanismo de sincronización. Permiten compartir recursos,
incluyendo el software, por los sistemas conectados a una red. Por tanto, el sistema
se basa en una red que conecta las computadoras y maneja el enrutamiento de los
mensajes.
La computación distribuida es un área que se encarga de analizar los sistemas
distribuidos. El programa informático que se ejecuta en un sistema distribuido se
denomina programa distribuido. La distribución es clave para manejar datos muy
grandes y tener un orden en cada uno de ellos. Por otro lado, la distribución presenta
una serie de problemas técnicos que hacen que el diseño e implementación de un
almacenamiento y computo distribuido sean importantes de considerar. Los
dispositivos pueden funcionar con diferentes sistemas operativos, esto no impide
que puedan ofrecer siempre los mismos servicios a los usuarios. Por tal razón, todos
los dispositivos conectados son compatibles entre sí.
Otro tema fundamental es el diseño del software, porque este también es compatible
con todos los sistemas y usuarios que se tienen en cada computadora.
Los sistemas distribuidos se pueden utilizar en una gran cantidad de casos, como
los sistemas de banca electrónica, los juegos en línea multijugador masivos y las
redes de sensores.

También podría gustarte