100% encontró este documento útil (2 votos)
739 vistas12 páginas

Sistemas Distribuidos

Este documento describe los sistemas distribuidos, incluyendo su definición, objetivos, características, componentes, retos, evolución y el modelo cliente-servidor. Un sistema distribuido es un conjunto de computadoras conectadas en red que coordinan sus acciones mediante el paso de mensajes para lograr un objetivo común. Los sistemas distribuidos permiten compartir información y recursos, escalabilidad, disponibilidad, comunicación y desempeño. Presentan retos como heterogeneidad, concurrencia, seguridad y tratamiento de fallos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
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
100% encontró este documento útil (2 votos)
739 vistas12 páginas

Sistemas Distribuidos

Este documento describe los sistemas distribuidos, incluyendo su definición, objetivos, características, componentes, retos, evolución y el modelo cliente-servidor. Un sistema distribuido es un conjunto de computadoras conectadas en red que coordinan sus acciones mediante el paso de mensajes para lograr un objetivo común. Los sistemas distribuidos permiten compartir información y recursos, escalabilidad, disponibilidad, comunicación y desempeño. Presentan retos como heterogeneidad, concurrencia, seguridad y tratamiento de fallos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
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

SISTEMAS

DISTRIBUIDOS
SISTEMAS DE ARCHIVO

EVELYN MAZACHE
UNIVERSIDAD ESTATAL DE MILAGRO
5º DE ING. SISTEMAS C1

MSC. RICHARD RAMIREZ

EVELYN
UNEMI
30/07/2010
SISTEMAS DISTRIBUIDOS
DEFINICION
Un sistema distribuido es un conjunto o colección de computadoras conectadas entre si por una red por la
cual se comunican o coordinan sus acciones mediante el paso de mensajes para así lograr algún objetivo.
Cada computadora contiene sus componentes (hardware y software) pero ante los usuarios del sistema
aparecen como una única computadora, los sistemas distribuidos deben ser confiables y su tamaño puede
ser muy variado.

OBJETIVOS

Compartir información y otros recursos


Escalabilidad y Crecimiento en sus recursos
Buen desempeño
Mayor disponibilidad
Mejor comunicación

CARACTERISTICAS

COMPARTICION DE RECURSOS
Al decir compartición de recursos nos referimos a que hay varias entidades que pueden compartirse
en un sistema desde componentes hardware como discos e impresoras hasta componentes
software como ficheros, ventanas, bases de datos.

Esta no es una nueva idea de sistemas distribuidos, otros sistemas han usado la compartición de
recursos con los usuarios. Los recursos están encapsulados en una computadora y solo puede
acceder a la información otra por medio de la comunicación o la red, para que la compartición de
recursos sea efectivo debe ser manejada por un programa que mediante una interfaz pueda
manipular, acceder y actualizar el recurso para que sea mas confiable.

COMUNICACIÓN
Los usuarios ubicados en los diferentes nodos pueden comunicarse de manera confiable mediante
mensajes.

CRECIMIENTO INCREMENTAL
Permite que se añadan nuevos subsistemas a los sistemas distribuidos sin la necesidad de
actualizar los sistemas existentes, es decir sin que afecte a los recursos del sistema.

DEPENDIENTE DE REDES (LAN, MAN, WAN, ETC.)


COMPATIBILIDAD ENTRE LOS DISPOSITIVOS CONECTADOS

Estas características se realizan usando los siguientes componentes de hardware y software:

COMPONENTES DE HARDWARE: sistemas de cómputo individuales y hardware de realización de redes


tales como cables.

COMPONENTES DE SOFTWARE: Software de realización de redes que permitan una comunicación


confiable, componentes de sistemas operativos, lenguajes de programación. Etc.

RETOS O DESAFIOS

HETEROGENEIDAD DE LOS COMPONENTES


Estándares que permiten la comunicación cuando haya una interconexión y mas aun si es a internet
ya que se utilizan varios componentes del hardware y software

CONCURRENCIA
En los sistemas distribuidos hay varias maquinas, cada una con dos o mas procesadores centrales.
Esto quiere decir que si hay N ordenadores en un sistema distribuido con un procesador central este
puede estar ejecutando hasta N procesos.
En si se esta ejecutando la concurrencia es cuando existen uno o varios procesos en una sola
maquina o cuando se comparte recursos por partes de los usuarios a la vez.

SEGURIDAD
Es muy importante para los usuarios la seguridad en el manejo de los sistemas, por lo cual brinda
confidencialidad o protección de contra usuarios no autorizados, asegurar las comunicaciones
protección contra alteración y también, protección contra interferencia para el acceso a recursos

ESCALABILIDAD
Un sistema es escalable cuando sigue siendo confiable y eficaz, es decir conserva su efectividad al
ocurrir algún incremento de recursos o usuarios. La necesidad de escalabilidad esta ligada a todos
los aspectos del sistema distribuido no solo de la red o del hardware, tanto el software del sistema
como las aplicaciones no debería cambiar cuando el sistema se incremente. El diseño del sistema
debe reconocer las necesidades de escalabilidad de este sino habrá serias limitaciones.
La demanda de escalabilidad de sistemas distribuidos lleva a que un diseño en cualquier recurso
simple hardware o software pueda extenderse para dar servicio a tantos usuarios como se quiera,
es decir que si un recurso crece, debería poderse ampliar el sistema para darle servicio.

TRATAMIENTO A FALLOS
Los sistemas informáticos tienden muchas veces a fallar. Al ocurrir esto los programas pueden
detenerse o dar resultados incorrectos.

 DETECCIÓN DE FALLOS. Detectar fallos q se puedan dar


 ENMASCARAMIENTO DE FALLOS. Los fallos detectados pueden ocultarse o atenuarse.
 TOLERANCIA DE FALLOS. Sobre todo en Internet se dan muchos fallos y no es muy
conveniente ocultarlos, es mejor tolerarlos y continuar. El diseño de sistemas tolerantes a
fallos se basa en dos cuestiones: el uso de componentes redundantes y la recuperación del
software.
 RECUPERACIÓN FRENTE A FALLOS. Tras un fallo se deberá tener la capacidad de volver
a un estado anterior. Para poder recuperar la información o datos.
 REDUNDANCIA. Se puede usar para tolerar ciertos fallos.

TRANSPARENCIA
La transparencia se define como la ocultación al usuario y al programador de aplicaciones de los
componentes de un sistema distribuido, de tal manera que se ve al sistema como un todo y no
como un conjunto de componentes independientes.

Se consideran ocho transparencias importantes para que un sistema distribuido cumpla sus
objetivos estas son:

 TRANSPARENCIA DE ACCESO.- es la capacidad de poder acceder a recursos locales y


remotos de una manera idéntica.
 TRANSPARENCIA DE LOCALIZACIÓN.- es cuando cualquiera de los recursos de un
sistema pueden acceder a los objetos sin importar su localización geográfica o sin
conocimiento de la ubicación.
 TRANSPARENCIA DE CONCURRENCIA.- permite que varios usuarios o aplicaciones
utilicen los mismos objetos sin que el trabajo de uno interfiera en el del otro. Es decir
utilicen recursos compartidos sin interferencia.
 TRANSPARENCIA EN REPLICACIÓN.- permite utilizar varios ejemplares de los recursos
para aumentar la fiabilidad y sin que los usuarios y las aplicaciones tengan que conocer la
existencia de las replicas.
 TRANSPARENCIA EN FALLOS.- oculta los fallos del hardware o software, permitiendo que
el usuario y las aplicaciones culminen sus tareas sin que existan perdidas.
 TRANSPARENCIA DE MIGRACIÓN.- permite el movimiento de los objetos sin que esto
pueda afectar a los usuarios o a las aplicaciones.
 TRANSPARENCIA DE PRESTACIONES.- permite la reconfiguración del sistema para
mejorar su rendimiento sin afectar usuarios o aplicaciones.
 TRANSPARENCIA DE ESCALADO.- permite que el sistema pueda extenderse o aumentar
dispositivos según sea necesario, pero sin cambiar la estructura del sistema.

EVOLUCION

PROCESAMIENTO CENTRAL (HOST).- Uno de los primeros modelos de ordenadores interconectados


done todo los proceso se llevaban acabo en una sola computadora y los usuarios ejecutaban los procesos
en ordenadores individuales. Se los conocía como centralizados.
Problemas:
Las interfaces graficas podían colapsarse cuando había mucha información
Era muy costoso cuando aumentaban los procesos y se tenía que cambiar el hardware del
mainframe.

GRUPO DE SERVIDORES.- este modelo compitió con el anterior, se trataba de un conjunto de


ordenadores que actuaban como servidores poco inteligentes para unos minicomputadores q trabajan en
una red local
Problemas:
Saturación en la comunicación entre los servidores poco inteligentes y las minicomputadoras

LA COMPUTACIÓN CLIENTE-SERVIDOR.- este modelo es el actual, los servidores se dedican a una


aplicación determinada y por lo tanto realizarla de una forma eficiente

CLIENTE-SERVIDOR

Es un enfoque mas claro de la compartición de información y de recursos en los sistemas distribuidos, el


modelo cliente-servidor se ha extendido en la actualidad manejando varios servicios como correo
electrónico y mensaje, ficheros, almacenamiento en disco, comunicaciones de área extensa e incluso las
interfaces graficas de usuarios. En si se podría decir que el cliente es una maquina que pide información y
la maquina que la proporciona es el servidor. Aunque este modelo no cumple todas las características para
unas aplicaciones, es adecuado para muchas aplicaciones actuales. Trabaja con un protocolo solicitud
respuesta.

Beneficios:

Mejor aprovechamiento de la potencia de cómputo.


Reducción del trafico en la red
Facilita el uso de interfaces graficas

Cliente:

Conjunto de software y hardware que piden un servicio a uno o varios servidores

Maneja interfaz
Procesa datos con el usuario

Servidor:

Responde los requerimientos del cliente.

Tipos comunes de Servidores:


Servidor de Archivos (FTP, Novell).
Servidor de Bases de Datos (MySQL, ORACLE, INFORMIX).
Servidor de Impresión.
Servidor de Terminal.
Servidor de Aplicaciones (Windows NT, Novell).

Funciones
Acceso organización y almacenamiento de datos
Se encarga de administrar los recursos que se comparten
Utiliza la lógica para realizar los procesos

MIDDLEWARE

Es el que facilita la interacción cliente- servidor, y a través de el se provee el acceso transparente a recurso
y servicios distribuidos en una red, que sirve para una comunicación cliente servidor de un sistema. El
protocolo usado en el middleware es el TCP/IP. Es la capa de software que permite gestionar los
mecanismos de comunicación. Es decir el middleware es la capa intermedia entre el cliente y el servidor.

Existen dos tipos

Software intermedio general.- son los servicios que necesitan todos los clientes y servidores
Software intermedio de servicios.- es un software asociado a un servicio en particular

Características

Independiza servicios
Permite la convivencia de distintos servicios en un mismo sistema
Transferencia en el sistema

PROTOCOLOS

Un protocolo es un conjunto de reglas e instrucciones que se utilizan para la comunicación gobernando en


el intercambio de paquetes y mensajes.

Existen dos aspectos

Especificación de la secuencia de mensajes que deben intercambiarse en los procesos.


Especificación del formato de los datos en los mensajes.

Protocolos utilizados en sistemas distribuidos

IP: Protocolo de Internet (capa de red).- se encarga del direccionamiento de información para que
pueda llegar a su destino en la red y define la unidad básica de transferencia de información.
TCP: Protocolo de Control de Transmisión (capa de transporte).- se encarga de transportar la
información dividiéndola en paquetes de menor tamaño y de la recepción de esta.
HTTP: Protocolo de Transferencia de Hipertexto (capa de aplicación).- se encarga de la
transferencia de hipertexto entre la web y los servidores.
SMTP: Protocolo de Transferencia de Correo Simple (capa de aplicación).- se encarga del envío de
correo electrónico.
POP3: Protocolo de Oficina de Correo (capa de aplicación).- permite recuperar correos
almacenados en el servidor.

CAPAS

Capa de Red.- maneja el acceso del hardware de red.


Capa de Internet.- transfiere los distintos paquetes (datagramas) entre diferentes computadoras.
Capa de Transporte.- transmisión de mensajes entre diferentes procesos.
Capa de Aplicación.- formado por las distintas aplicaciones que utiliza la capa de transporte para
comunicarse entre sí.

APLICACIONES

Aplicaciones Comerciales

Construidos con hardware dedicado y alrededor de sistemas centralizados, pero por su distribución
geográfica y su necesidad de acceso a distintos sistemas dentro del centralizado se implementan a los
sistemas distribuidos. Estas pueden ser:
Aplicaciones Bancarias
Cadenas de Supermercados
Cajeros de grandes almacenes

Aplicaciones para Redes WAN

Dado el crecimiento del área extensa o WAN (Internet), es ahora muy importante el intercambio de
información a través de la red. Y así empezaron a aparecer muchos servicios de intercambio de
información. Estos pueden ser:

Correo Electrónico
Servicio de Noticias(NEWS)
Servicio de Transferencia de Ficheros(FTP)
Búsqueda de Ficheros (Archie)
Servicio de Consulta Textual (Gopher)
Worl Wide Web (WWW)

Aplicaciones Multimedia

Son las últimas implementaciones a los sistemas distribuidos, para poder tener regularidad de transferencia
y buena velocidad las aplicaciones necesita del hardware, y más aun en la velocidad. Estos pueden ser:

Videoconferencias
Televigilancia
Juegos Multiusuario

AREAS DE LA INFORMACION APLICADA A LOS SISTEMAS DISTRIBUIDOS

En esta parte se tiene encuentra toda la variedad de aplicaciones utilizadas por los sistemas distribuidos.
Entre la variedad de áreas tenemos:

Comunicaciones (hardware y software)


Sistemas operativos distribuidos
Base de datos distribuida
Lenguajes de programación distribuida
Sistema de tolerancia a fallos

VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS

Con respecto a los sistemas centralizados

Los SD son más económicos al momento de aumentar la potencia de procesamiento


Una mayor velocidad
Da confiablidad es decir si hay gran trabajo en varias maquinas y una maquina falla no afecta a las
demás
Tiene mejor escalabilidad puede incrementar según sus necesidades

Con respecto a las PCs independientes

Mejor comunicación
Satisface las necesidades de muchos usuarios a la vez
Compartir dispositivos y datos

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS

Software
Es el más problemático ya que no hay mucha experiencia en el diseño, implementación y uso de
software distribuido, esto puede conllevar una escasez de productos de software distribuidos.
Red
Es que si esta llegar a saturarse, perder mensajes eso puede dar problemas a los usuarios es decir
no podría proporcionar las ventajas que los sistemas distribuidos están encargados de proporcionar.
Seguridad
Si se puede conseguir acceso ilegal a la red es un problema pues así tendría acceso a información
que no le corresponde

CONCLUSION

La tecnología esta en constante desarrollo por lo cual es necesaria la aplicación de los sistemas
distribuidos, ya que estos ayudan al mejoramiento de la comunicación, envió de mensaje, etc. De una
manera mas confiable y eficiente que otros sistemas, ya que en si un sistema distribuidos es una colección
de computadoras conectadas a una red lo cual facilita la comunicación, y tienen un objetivo que es el de
compartir fácilmente información. Aunque su desarrollo implica mucha complejidad.

Hay muchas aplicaciones dentro de sistemas distribuidos que requieren de mucho cuidado al
implementarse como el tratamiento de fallos, la concurrencia, el incremento, etc.
BIBLIOGRAFIAS

www.monografias.com/.../sistemas-distribuidos/sistemas-distribuidos.
es.wikipedia.org/wiki/Computación distribuida
Tanenbaum, A. S. (1996). Sistemas Operativos distribuidos. Ed Prentice Hall. 1ª Ed.
Sistemas distribuidos conceptos y diseños G. Coulouris J. Dellimore Timkinberg
ccc.inaoep.mx/~lamorales/distribuidos/sistemas%20distribuidos.pdf
www.dia.eui.upm.es/asignatu/sis_dis/Paco/Introduccion.pdf
Sistemas distribuidos D. M. DMAMDHERE
MCGRAW-Hill/INTERAMERICANA EDITORES, S.A. DE C.V.
Impreso en México enero 2008
FUNDAMENTOS DE SISTEMAS OPERATIVOS
MCGRAW-Hill/INTERAMERICANA DE ESPAÑA, S.A. 2006
Carmelo Sánchez Gonzales
www.monografias.com › Computacion
www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf
SISTEMAS DISTRIBUIDOS

COMPARTICION DE RECURSOS
CLIENTE SERVIDOR

MIDDLEWARE
PROTOCOLO

CAPAS

Arquitecturas – Internet/World Wide Web/CGI

Common questions

Con tecnología de IA

Distributed systems face several security challenges including unauthorized access, data alteration, and interference with resource access . These challenges arise due to the networked nature of distributed systems, where multiple nodes communicate over potentially insecure channels . Mitigation requires implementing robust security protocols such as encryption for data transfer to safeguard data integrity and confidentiality . Access controls and authentication mechanisms are essential to prevent unauthorized usage of resources . Regular security audits and updates can help identify and address vulnerabilities . Moreover, redundancy and failure recovery mechanisms can help ensure data integrity and continuity in case of security breaches . These strategies collectively contribute to a more secure distributed system by addressing both internal and external threats comprehensively .

Replication transparency contributes to fault tolerance and system reliability by allowing multiple copies of resources to exist without affecting user interaction or system operations . This redundancy ensures that if one replica fails, others can take over without service disruption, maintaining system reliability . It simplifies management by hiding the complexity of maintaining consistent states across replicas from users and applications. Moreover, replication improves data availability and resilience against failures, allowing systems to recover from faults without noticeable impact on user experience . The use of replication transparency is crucial in systems requiring high availability and robust fault-tolerance mechanisms, as it ensures continuous operation and data integrity even in the presence of hardware or software failures .

Transparency in distributed systems contributes to user experience by making the complexities of the system architecture invisible to both users and application programmers, presenting the distributed system as a unified whole rather than a collection of independent components . It encompasses several dimensions, including access transparency, which allows identical access to local and remote resources, and location transparency, which enables resource access without user awareness of physical location . Concurrency transparency permits concurrent resource usage without interference . Other types like replication transparency enhance reliability by utilizing resource replicas without user knowledge, and failure transparency ensures operations continue seamlessly despite system failures . These aspects of transparency ensure that users interact with the distributed system effortlessly, improving usability and reducing management complexity by automating resource distribution and failure handling, thus enhancing overall system responsiveness and dependability .

Fault detection, masking, and tolerance are critical in preserving the integrity and continuous operation of distributed systems. Fault detection involves identifying potential problems, enabling preemptive action to minimize system impact . Masking faults involves hiding them from users, ensuring that the system remains functional even when errors occur, which improves user experience and system stability . Tolerance, on the other hand, allows systems to continue functioning despite failures, often by using redundant components or backup processes . These mechanisms prevent faults from escalating into critical failures, maintaining consistent system performance and reliability . They are essential for systems where downtime or data loss can have significant repercussions, reinforcing the overall robustness and trustworthiness of distributed computing environments .

The client-server model improves resource sharing and computing efficiency by clearly delineating roles between clients and servers in distributed systems . In this model, clients request services while servers provide them, optimizing resource allocation and use . Servers are dedicated to specific tasks, such as file storage or database management, allowing them to perform functions efficiently. This specialization reduces network traffic as processing is centralized, enhancing system performance . Additionally, it leverages the computational power of servers to handle intensive processes, freeing clients to manage user interfaces and less demanding tasks . The model supports scalability and flexibility as services can be distributed across multiple servers, accommodating growth and maintaining efficiency in handling client requests .

Developing software for distributed systems is more challenging than for centralized systems due to increased complexity in ensuring coherence, reliability, and security across various components. Distributed systems require handling of network-related issues such as latency, node failures, and data consistency across different environments, which are less of a concern in centralized systems . Ensuring synchronization and coordination among distributed components adds layers of complexity, requiring sophisticated algorithms and robust protocols . Security concerns are amplified due to the potential for unauthorized access and data breaches over networks . Moreover, distributed software must account for concurrency and provide seamless operation across diverse hardware and software platforms, posing significant challenges in interoperability and resource management . These complexities demand expertise and experience not typically required in more straightforward centralized environments .

Scalability in distributed systems enhances adaptability by allowing the system to effectively handle increasing workloads or user numbers without performance degradation . This involves engineering systems to expand in capacity and integrate additional resources seamlessly, whether in hardware, software, or both . Scalability ensures that as demand grows, systems can add resources such as servers or storage, extending service availability and maintaining efficiency . It also supports application scaling, enabling services to handle increased requests and data volumes by optimizing resource distribution across the network . Scalability is essential for maintaining service levels and ensuring continuous operations during peak loads or expansions, making it a fundamental aspect of sustaining modern business environments and dynamic user needs .

The client-server model offers several benefits in managing distributed systems by facilitating structured resource sharing, improved processing efficiency, and scalability. It allocates specialized roles to clients and servers, optimizing computational resources and reducing unnecessary network traffic . The model enhances reliability through centralized data management and access control . However, limitations exist such as potential bottlenecks if server resources are overwhelmed by requests, leading to performance degradation . The model may also fall short in distributed environments requiring peer-to-peer interactions, where decentralized approaches could offer better resilience and fault tolerance . Despite these limitations, the client-server model remains highly effective for applications requiring clear delineations between data providers and consumers, supporting many current services with its robust and efficient framework .

Distributed systems are characterized by resource sharing, communication, incremental growth, network dependency, and compatibility among connected devices. These characteristics enable multiple entities to share both hardware and software resources, ensuring efficient use of resources through encapsulation and controlled access . Communication between users at different nodes is reliable due to message exchanges . Incremental growth allows new subsystems to be added without affecting existing systems, thus enhancing scalability . Network dependency ensures that systems utilize various network types (LAN, MAN, WAN) to maintain connectivity . Compatibility among devices ensures they can communicate seamlessly which is critical as systems scale . These characteristics collectively enhance system functionality by promoting scalability, resource optimization, and reliability, making distributed systems appear as a single coherent unit to users while maintaining high performance and availability .

Middleware acts as an intermediary layer facilitating client-server interactions by managing data communication, service requests, and resource sharing . It abstracts the complexities of network communication, allowing clients and servers to interact seamlessly regardless of the underlying network infrastructure . By using standard protocols like TCP/IP, middleware ensures consistent communication, making services and resources accessible transparently across distributed networks . Middleware enhances interoperability between diverse applications and systems, allowing them to coexist in a single environment . It also simplifies application development by providing common services like authentication, messaging, and data management . This support enhances reliability, scalability, and manageability of distributed systems by ensuring robust and efficient client-server operations .

También podría gustarte