Blog de Sistema Distribuido

Blog sobre contenido de Sistemas Distribuido.

Realizados por los Estudiantes: Jesus Utrera CI: 24343192, Carlos Pestana CI: 25717217 Seccion 1 y 2 Prof: Ing. Reinaldo Vargas.

MODELO CLIENTE_SERVIDOR

Escrito por distribuido 12-04-2018 en MODELO CLIENTE--SERVIDOR. Comentarios (0)

Resultado de imagen para que es un cliente servidor


TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.

Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.

Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.

El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.


Diseño de los sistemas de archivos distribuidos
Generalmente, un sistema de archivos distribuidos consta de dos componentes muy distintos entre sí: el servicio de archivos y el servicio de directorios.
La Interfaz del Servicio de Archivos
Un archivo es una secuencia de bytes sin interpretación alguna. Esto quiere decir que el contenido y estructura de un archivos es interpretado por el software de aplicación mas no por el sistema operativo sobre el que se está trabajando.
Un archivo se caracteriza por tener atributos, tales como: el propietario, el tamaño, la fecha de creación y el permiso de acceso.
La utilidad del servicio de archivos consiste en proporcionar una adecuada administración de los atributos, definidos por el usuario, que estas poseen. Lo más común es encontrar algunos sistemas avanzados que permitan modificarlos después de sus creación, pero en algunos sistemas distribuidos las únicas operaciones que pueden realizarse sobre un archivo es CREATE y READ (Crear y Leer). Es decir, una vez creado el archivo no puede modificarse. A este tipo de archivos se les denomina archivos inmutables.
Existen dos tipos de servicios de archivos distribuidos: modelo carga/descarga y modelo de acceso remoto.
Modelo Carga/Descarga: Consiste básicamente en dos operaciones: lectura y escritura. Como se muestra en la Figura 1.1, la primera operación consiste en la transferencia de un archivo completo desde el servidor hacia el cliente solicitante; la segunda operación consiste en el envío de un archivo del cliente al servidor, es decir, en sentido contrario. Mientras tanto los archivos pueden ser almacenados en memoria o en un disco local, según sea el caso.
El modelo carga/descarga
Modelo de Acceso Remoto: Este tipo de modelo consiste en que todas las operaciones (abrir y cerrar, leer y escribir, etc.) se realizan en el servidor mas no en los clientes. Esto se muestra claramente en la Figura 1.2.
Figura 1.2. El modelo de acceso remoto
Estos dos modelos se diferencian en que en el primero se debe transferir el archivo completo del servidor al cliente y viceversa, lo que no es necesario en el modelo de acceso remoto.
Debemos tener en cuenta que el solo hecho de compartir archivos puede traer dos problemas principales por resolver: el permiso de acceso y la gestión de los accesos simultáneos.

  • Permisos de Accesos:

Un sistema de archivos distribuidos provee al usuario de una herramienta flexible que permite compartir archivos extensos entre ellos. Esta herramienta actualmente utilizada con mucho éxito (pero con algunas deficiencias) no es más que una lista de derechos de acceso los cuales pueden ser asignados a un usuario en particular para un archivo en particular
         

  •  Usuario específico: Usuarios individuales quienes son designados por su ID de usuario.
  •  Grupos de usuario: Conjunto de usuarios no definidos individualmente.
  • Todos: Es decir, todos los usuarios que tengan acceso al sistema. Los archivos son públicos.
  • Gestión de Accesos Simultáneos:

    El sistema operativo o el sistema de gestión de archivos permite al usuario (que previamente ha tenido acceso a determinado archivo) que él mismo pueda bloquear el archivo cuando vaya a utilizarlo , o en todo caso, bloquear los registros individuales durante la actualización. Si no se considera ninguna de estas dos opciones, entonces se analizará aspectos de exclusión mutua e interbloqueo.
La Interfaz del Servidor de Directorios
El propósito general del servidor de directorios es poder crear y eliminar directorios, nombrar o cambiar el nombre de archivos y mover éstos de un directorio a otro.
El sistema distribuido es el encargado de definir el alfabeto y la sintaxis para formar los nombres de los archivos y directorios. Por ejemplo, Windows divide los nombres de lo archivos en dos partes: nombre y extensión (tipo de archivo), los cuales se denotan separados por un punto: nombre_archivo.extensión; así tenemos que libro.txt es un archivo cuyo nombre es libro y es de tipo texto. En otros sistemas, como el UNIX, clasifican a los archivos según sus atributos (en UNIX un archivo ejecutable se pinta de otro color).
Todo sistema distribuido permite la existencia de subdirectorios (directorios dentro de otro directorio), permitiéndose a los usuarios clasificar sus archivos a sus gusto. Estos subdirectorios, a su vez, pueden contener otros subdirectorios lo que se conoce como sistema jerárquico de archivos.
Algunos sistemas distribuidos permiten crear apuntadores o enlaces a un directorio determinado, construyendo, de esta manera, no solamente árboles sino también gráficas de directorios los cuales son más consistentes.
Un árbol de directorios contenido en una máquina
Esta diferencia entre árboles y gráficas es de gran importancia en un sistema distribuido y radica en la eliminación de enlaces entre un directorio y otro. Es decir, en un árbol se puede eliminar un enlace con un directorio si el directorio al cual se apunta es vacío, mientras que en una gráfica solo puede eliminarse enlaces mientras exista al menos otro enlace.

Resultado de imagen para que servicios de un sistema de archivos   

¿Qué es un Middlewar?

Middleware es un software de conectividad, es el software distribuido requerido para facilitar las interacciones cliente-servidor se denomina Middleware. El API que usan los clientes para pedir un servicio a algún servidor, la transmisión física de la petición vía red, y el regreso de resultados desde el servidor al cliente.

Algunos ejemplos de Middleware estándar para algunos dominios incluyen: ODBC, Lotus groupware, SSL y http.

Hay muchas capas dentro del Middleware, por ejemplo la capa de protocolos de recursos y conectividad, y una capa de servicios colectivos que es superior.

¿Para que usar Middleware?

Dadas dos aplicaciones que se quieren conectar, se usa para resolver la comunicación entre los procesos, si no hay Middleware se complica el desarrollo de las aplicaciones pues se debe programar módulos de bajo nivel y esté desarrollo se repite para cada aplicación a conectar.

Middleware permite realizar está conexión a través de interfases ce alto nivel por lo que permite ver un procedimiento remoto cómo si fuera local.

Algunos de los ejemplos de usó pueden ser los siguientes:

  • Cliente/ Servidor en la misma máquina: se usa en sistemas de pc en pequeñas oficinas, en la casa, etc.
  • C/S a pequeña escala: aplicación clásica en una LAN con un único servidor.
  • C/ S a gran escala: Esquema multiservidor, que da imagen de un único sistema.
  • C/ S altamente distribuido: cada máquina es cliente y es servidor, así negocia con las otras máquinas mediante agentes.

Voy a hablar un poco de los servicios Middleware de IBM ya que te ofrecen promover una combinación de técnicas de optimización e innovación para que pueda ejecutar TI de una forma eficiente. IBM te ofrece algunos servicio de Middleware cómo son:

  • Servicios de integración de SOA de IBM.
  • Servicios de infraestructura de aplicaciones.
  • Servicios On Demand.
  • Mejorar la calidad y aprovechar recursos.
                                                                          QUE ES GRID:

Llamamos grid al sistema de computación distribuido que permite compartir recursos no centrados geográficamente para resolver problemas de gran escala. Los recursos compartidos pueden ser ordenadores (PC, estaciones de trabajo, supercomputadoras, PDAportátilesmóviles, etc), softwaredatos e información, instrumentos especiales (radiotelescopios, etc.) o personas/colaboradores.

La computación grid ofrece muchas ventajas frente a otras tecnologías alternativas. La potencia que ofrecen multitud de computadores conectados en red usando grid es prácticamente ilimitada, además de que ofrece una perfecta integración de sistemas y dispositivos heterogéneos, por lo que las conexiones entre diferentes máquinas no generarán ningún problema. Se trata de una solución altamente escalable, potente y flexible, ya que evitarán problemas de falta de recursos (cuellos de botella) y nunca queda obsoleta, debido a la posibilidad de modificar el número y características de sus componentes.

Estos recursos se distribuyen en la red de forma transparente pero guardando unas pautas de seguridad y políticas de gestión de carácter tanto técnico como económico. Así pues, su objetivo será el de compartir una serie de recursos en la red de manera uniforme, seguratransparenteeficiente y fiable, ofreciendo un único punto de acceso a un conjunto de recursos distribuidos geográficamente en diferentes dominios de administración. Esto nos puede llevar a pensar que la computación Grid permite la creación de empresas virtuales. Es importante saber que una grid es un conjunto de maquinas distribuidas que ayudan a mejorar el trabajo sobre software pesados.



SISTEMA OPERATIVOS DISTRIBUIDOS

Escrito por distribuido 12-04-2018 en Sistemas Distribuidos. Comentarios (0)


                                                         Sistemas Operativos Distribuidos:

Es aquel que consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red. Es donde los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales Permitiendo 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.




Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación. [ Colouris 1994 ]

El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. Mas recientemente, la disponibilidad de computadoras personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir los recursos del sistema - hardware, software y datos.

Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección de redes de área local y de área extensa interconectados, que en lazan millones de ordenadores.

Las aplicaciones de los sistemas distribuidos varían desde la provisión de capacidad de computo a grupos de usuarios, hasta sistemas bancarios, comunicaciones multimedia y abarcan prácticamente todas las aplicaciones comerciales y técnicas de los ordenadores. Los requisitos de dichas aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra interferencias externas y privacidad de la información que el sistema mantiene. Se deben proveer accesos concurrentes a bases de datos por parte de muchos usuarios, garantizar tiempos de respuesta, proveer puntos de acceso al servicio que están distribuidos geográficamente, potencial para el crecimiento del sistema para acomodar la expansión del negocio y un marco para la integración de sistema usados por diferentes compañías y organizaciones de usuarios.

3-).Clasificación de los Sistemas operativos Distribuidos.
Ä

Se clasifican los sistemas cliente servidor de acuerdo al nivel de abstracción del servicio que se ofrece. Se distinguen tres componentes básicos de software:

ÄInteracción con el usuario

ÄLógica de Aplicación

ÄRepositorio de datos

1. Representación distribuida. La interacción con el usuario se realiza básicamente en el servidor. El cliente hace de pasarela, de sistema de acceo a los elementos hardware pantalla y teclado.

2. Representación remota. Los datos se envían sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interacción con el usuario. En este caso, la aplicación y la base de datos se encuentran en el servidor

3. Lógica distribuida. En el cliente se llevan a cabo la interacción con el usuario y la parte más trivial de la lógica de la aplicación. En este caso, se llevan a cabo controles básicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lógica permanece en el servidor.

4-).Ventanjas de los Sistemas Opeativos Distribuidos.
Procesadores más poderosos y a menos costos
  • Desarrollo de Estaciones con más capacidades
  • Las estaciones satisfacen las necesidades de los usuarios.
  • Uso de nuevas interfaces.
Avances en la Tecnología de Comunicaciones.
  • Disponibilidad de elementos de Comunicación.
  • Desarrollo de nuevas técnicas.
Compartición de Recursos.
  • Dispositivos (Hardware).
  • Programas (Software).
Eficiencia y Flexibilidad.
  • Respuesta Rápida.
  • Ejecución Concurrente de procesos (En varias computadoras).
  • Empleo de técnicas de procesamiento distribuido.
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.).
Crecimiento Modular.
  • Es inherente al crecimiento.
  • Inclusión rápida de nuevos recursos.
  • Los recursos actuales no afectan.





Es un ordenador de gran potencia, que se encarga de "prestar un servicio" a otros ordenadores (por ejemplo, el suyo) que se conectan a el y se encargan de hacer que los mensajes que usted escriba lleguen a su destino y también de hacer llegar hasta usted, los mensajes del resto de usuarios.
  • Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor.

6-).Dibuje y explique el esquema funcional de un sistema distribuido.

Este esquema explica un sistema consta de tres tipos distintos de elementos de proceso :

- equipos clientes: son los ordenadores de propósito general donde los diseñadores de animaciones trabajan. Son los puntos de entrada al sistema. Estos ordenadores deberían de incluir: tarjeta de red, monitor de alta resolución, tarjeta gráfica de alta velocidad, coprocesador matemático, y procesador no necesariamente rápido.

- equipos procesadores: son los ordenadores de propósito específico donde se calculan y generan las animaciones. Estos equipos serían placas montadas en rack, sin disco, con tarjeta de red, coprocesador matemático y procesador lo más rápido posible.

- equipo servidor: es el que se encarga de aceptar los trabajos enviados por los clientes y repartirlos entre los procesadores. Este ordenador debería incluir: tarjeta de red, gran espacio en disco, y un procesador normal.

7-).El papel de las Redes en los Sistemas Operativos Distribuidos.

El papel de las Redes 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: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.


SISTEMAS DISTRIBUIDOS

Escrito por distribuido 12-04-2018 en Sistemas Distribuidos. Comentarios (0)

                                                                                             Sistema Distribuidos:

  

Definición, Características, Ventajas, Desventajas, Categorías.

* Definición de los Sistemas Distribuidos.

* Características principales y descripción de los Sistemas

  Distribuidos.

* Ventajas y Desventajas.

* Características clave de los Sistemas Distribuidos.

* Categoría de los Sistemas Distribuidos.

  Sistemas Distribuidos

    

 Un sistema distribuido se define como una colección de computadores  conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación.
    Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, con una colección de redes  extensas interconectados, que en enlazan millones de ordenadores.


Características claves de los Sistemas Distribuidos

Cada elemento de cómputo tiene su propia memoria y su propio Sistema Operativo.

Control de recursos locales y remotos.

Sistemas Abiertos (Facilidades de cambio y crecimiento).

Plataforma no estándar (Unix, NT, Intel, RISC, Etc.).

Medios de comunicación (Redes, Protocolos, Dispositivos, Etc.).

Capacidad de Procesamiento en paralelo.

Dispersión y parcialidad.

Características principales que los definen:

Compartición de Recursos:

  Los recursos en un sistema distribuido están físicamente encapsulados en una de las computadoras y sólo pueden ser accedidos por otras computadoras mediante la  red. Para que la compartición de recursos sea efectiva, ésta debe ser manejada por un programa que ofrezca un interfaz de comunicación permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente, este programa es el gestor de recursos.

Aperturas:

    Un sistema puede ser abierto o cerrado con respecto a extensiones hardware o con respecto a las extensiones software. La apertura de los sistemas distribuidos se determina principalmente por el grado hacia el que nuevos servicios de compartición de recursos se pueden añadir sin perjudicar ni duplicar a los ya existentes.

 Concurrencia:

  Cuando existen varios procesos en una única maquina decimos que se están ejecutando concurrentemente. Si el ordenador está equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos.

Escalabilidad:

    Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala más pequeña consiste en dos estaciones de trabajo y un servidor de fichero, cuando el tamaño y complejidad de las redes de ordenadores crece, es un objetivo primordial diseñar software de sistema distribuido que seguirá siendo eficiente y útil con esas nuevas configuraciones de la red.

Tolerancia a Fallos

   Los sistemas informáticos a veces fallan. Cuando se producen fallos en el software o en el hardware, los programas podrían producir resultados incorrectos o podrían pararse antes de terminar el proceso que estaban realizando. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: Redundancia hardware y recuperación del software.

Transparencia

    La transparencia de un sistema distribuido va en conjunto con que todo el sistema funcione de forma similar en todos los puntos de red, sin importar la posición del usuario, este mecanismo permite trabajar a todos los usuarios como si se tratara de un equipo único.


Ventajas de los sistemas distribuidos

•Economía: Los microprocesadores ofrecen mejor relación precio/rendimiento que los mainframe.

•Velocidad: Tiene mayor poder de cómputo que un mainframe.

•Distribución inherente: Aplicaciones en máquinas separadas geográficamente.

•Confiabilidad: El sistema sobrevive a cualquier falla en una máquina.

•Datos Compartidos: Los usuarios tienen acceso a una base de datos común.

•Dispositivos Compartidos: Los usuarios comparten periféricos caros.

•Comunicación: facilita la comunicación persona apersona.

•Flexibilidad: Difunde la carga entre las máquinas disponibles en forma eficaz.


Desventajas de los sistemas distribuidos

•Software: Hay poco software disponible para sistemas distribuidos. La algorítmica es menos controlable.

•Redes: Se pueden saturar o causar otros problemas.