Vous êtes sur la page 1sur 11

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.


Sistemas Operativos Distribuidos
Un Sistemas Operativo Distribuido cumple las mismas funciones que un Sistema Operativo
Común, con la diferencia de trabajar en un entorno distribuido. Su misión principal es facilitar el
acceso y la gestión de los recursos compartidos en la red. En un Sistema Distribuido los usuarios
pueden acceder a recursos remoto de la misma manera en que lo hacen para los recursos
locales.
Un Sistema operativo distribuido es un Sistema operativo que funciona en un conjunto de
computadoras independientes conectadas a una red, que se presenta a los usuarios como un
sistema único.
Tiene dos aspectos primordiales en la definición: el Hardware y el Software.
El Hardware se toma como máquina autónoma, y el software se toma como el Sistema al que el
usuario puede acceder.
Concepto
Permite distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que
este conjunto de procesadores esté en un equipo o en equipos diferentes, esto debe ser
transparente a los usuarios. Los Sistemas Distribuidos deben ser muy confiables y estables ya
que, si un componente del Sistema se descompone, otro componente debe ser capaz de
reemplazarlo sin afectar el funcionamiento y los procesos del sistema.
Un S.O. Distribuido se trata de varios Sistemas Autónomos que trabajan de manera conjunta.
Esto se ha probado y usado de diversas formas:

 CLUSTERS: Es un grupo de computadoras interconectadas que se comportan como una


sola súper-computadora, generalmente usadas para cálculos de ingeniería de alto
desempeño o para simuladores de alta complejidad (clima, movimientos poblacionales
física de alto nivel, matemáticas teóricas).
 GRIDS (matrices de cómputo) Es un tipo de sistema distribuido que permite compartir y
agregar de manera coordinada recursos heterogéneos distribuidos y autónomos con base
en los requerimientos de Calidad en el Servicio (QoS) de los usuarios. Los Grids se usan
comúnmente para soportar aplicaciones emergentes en las áreas de e-Science y e-
Business; que son operadas por comunidades de personas distribuidas geográficamente,
que se disponen para participar en actividades colaborativas, para resolver problemas a
gran escala y que requieren de compartir recursos como CPU, datos, aplicaciones o
instrumentos científicos.
 P2P: Estas redes peer to peer son Sistemas descentralizados y distribuidos, que permiten
aplicaciones como compartir archivos, mensajería instantánea, juegos multijugador en
línea, y distribución de contenido sobre redes públicas, por ejemplo TV por Internet o Bit
Torrent.
 Sistemas de Almacenamiento Distribuido: Por ejemplo el NFS (Network File System)
permiten al usuario tener una visión única de datos que están almacenados en diferentes
Sistemas de Archivos y computadoras dispersas en la misma o en otras redes.

Entre los diferentes Sistemas operativos Distribuidos que existen tenemos los siguientes:
 Sprite
 Solaris-MC
 Mach
 Chorus
 Spring
 Amoeba
Se puede toma en cuenta, dentro del concepto, que existen conjuntos de procesadores que
trabajan en forma individual o trabajan en forma diferente, y que la distribución de tareas trabajos
y procesos se realizan de la misma forma (individual o diferente), todo esto es transparente al
usuario (caja negra, no se puede ver).
Objetivo de un sistema Operativo distribuido
Integrar en un único sistema los recursos y servicios distribuidos en distintos equipos.
Debe gestionar recursos de forma global.
 Proceso
 Memoria
 Sistemas de ficheros
 Dispositivos de E/S
Debe ocuparse de las Comunicaciones
A pesar, de que en estos sistemas la información de Estado no está Centralizada y que por esta
situación los manejos se retrasan o se pierden y pueden no estar actualizados, al usuario se le
debe ofrecer la visión de un Sistema centralizado.
Características
Se pueden tomar distintos aspectos. Las características son importantes para que el objetivo se
cumpla.
 Transparencia: debe permitir que el sistema funcione de forma similar en todos los
puntos de la red. El Sistema Operativo debe controla que tanto los usuarios como los
programadores vean el núcleo del sistema distribuido como un único procesador. La
labor del SOD es coordinar los mecanismos que logren la unificación de todos los
sistemas y recursos de forma totalmente transparente tanto para el usuario como para
la aplicación. Que el Sistema posea varios procesadores trabajando en red, debe
lograr un mayor rendimiento del sistema.
 Heterogeneidad: Las diferentes entidades en el Sistema deben ser capaces de
interoperar entre sí, sin importar las diferencias en sus arquitecturas, Sistemas
Operativos, Protocolos de Comunicación, Lenguajes de Programación, interfaces de
software, modelos de seguridad y formatos de medios.
 Tolerancia a Fallos y Manejo de errores: De tal suerte que un fallo en un componente
no debe provocar la "caída" del sistema, sino que deberá ser aislado y evitarse
mediante un reenrutamiento.
 Escalabilidad: El sistema debería trabajar eficientemente al incrementarse el número
de usuarios simultáneos y la agregación de un nuevo recurso deberá incrementar el
desempeño en general del sistema.
 Concurrencia: Los recursos deben ser accesibles a varias entidades
simultáneamente en ambiente compartido.
 Apertura y Extensibilidad: Las interfaces deben estar limpiamente separadas y
públicamente disponibles para permitir una fácil conectividad y extensión de los
componentes actuales y de otros nuevos.
 Estrategia Migratoria y Balance de la carga de trabajo: Éstas permitirán el
movimiento de tareas dentro de un sistema sin afectar la operación de usuarios y
aplicaciones, y la distribución de la carga en todos los recursos disponibles para
mejorar el desempeño.
 Seguridad: el acceso a los recursos deberá tener un mecanismo de seguridad para
asegurar que todos los usuarios tengan acceso a todas las formas de las operaciones.
 Transparencia: El concepto de transparencia de un sistema distribuido va ligado a la
idea de que todo el sistema funcione de forma similar en todos los puntos de la red,
independientemente de la posición del usuario. Queda como responsabilidad del
sistema operativo el establecer los mecanismos que oculten la naturaleza distribuida
del sistema y que permitan trabajar a los usuarios como si de un único equipo se
tratara.
 Eficiencia: La idea base de los sistemas distribuidos es la de obtener sistemas mucho
más rápidos que los super-computadores actuales. La propuesta es sencilla, el
paralelismo. Para lograr un sistema eficiente hay que descartar la idea de ejecutar un
programa en un único procesador de todo el sistema, y pensar en ejecutarlo en la
granja de procesadores, aquellos libres más rápidos. Este es el mismo problema de la
administración del Procesador, donde restamos complejidad por economía. La tarea
de optimizar el reparto de la carga en un conjunto de procesadores es bastante
compleja, y depende de muchos aspectos, como son los parámetros de sobrecarga,
la homogeneidad de recursos, la velocidad de los programas, las perturbaciones en
redes públicas, la localidad de los datos, los detalles de ciertos dispositivos, la
interacción con usuarios etc.
 Flexibilidad: Un proyecto en desarrollo como el diseño de un sistema operativo
distribuido debe estar abierto a cambios y actualizaciones para mejorarlo. Esta
especificación ha sido abordada con arquitecturas de núcleo: el núcleo monolítico y el
micronúcleo. Las diferencias entre ambos son los servicios que ofrece. Mientras el
núcleo monolítico ofrece todas las funciones básicas del sistema integradas, el
micronúcleo incorpora solamente las fundamentales, el control de los procesos y su
comunicación con la memoria. El resto de los servicios son compilables y se cargan
dinámicamente a partir de servidores en el nivel de usuario.
 Núcleo monolítico: Como ejemplo de sistema operativo de núcleo monolítico está
UNIX. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los
servicios del sistema. Está programado de forma no modular, y tiene un rendimiento
mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar requiere detener
todo el sistema y la recompilación del núcleo.
 Micronúcleo: La arquitectura de micronúcleo ofrece la alternativa al núcleo monolítico.
Se basa en una programación altamente modular, y tiene un tamaño mucho menor
que el núcleo monolítico. Como consecuencia, el refinamiento y el control de errores
son más rápidos y sencillos. Además, la actualización de los servicios es más sencilla
y ágil, ya que sólo es necesaria la recompilación del servicio y no de todo el núcleo.
Como contraprestación, el rendimiento se ve afectado negativamente. En la actualidad
la mayoría de los sistemas operativos distribuidos en desarrollo tienden a un diseño
de micronúcleo. Aunque es su defensa podemos decir que los núcleos tienden a
contener menos errores y a ser más fáciles de implementar y de corregir. Así pues,
con el micronúcleo el sistema pierde ligeramente en rendimiento, pero a cambio
consigue un gran aumento de la flexibilidad.
 Robustez: Una de las ventajas claras que nos ofrece la idea de sistema distribuido es
que el funcionamiento de todo el sistema no recae en la responsabilidad de una sola
unidad, sino que cualquier equipo puede sustituir a otro en caso de que falle. La forma
más evidente de lograr la Robustez y por lo tanto la Confiabilidad de todo el sistema
está en la redundancia. La información no debe estar almacenada en un solo servidor
de archivos, sino en por lo menos dos máquinas. Mediante la redundancia de los
principales archivos o de todos evitamos el caso de que el fallo de un servidor bloquee
todo el sistema, al tener disponibles múltiples respaldos parciales o totales en los otros
equipos.
 Comunicación: La comunicación entre procesos en sistemas centralizados se lleva a
cabo mediante el uso de memoria compartida entre los procesos. En los sistemas
distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la
comunicación se realiza mediante la transferencia de mensajes, lo cual implica gasto
de ancho de banda por el overhead y nos remite a los problemas de comunicación en
red.

Numerosas compañías de software e Instituciones de Investigación han desarrollado


tecnologías de cómputo distribuido para abordar problemas que requieran de super-
cómputo.
Los Sistemas abordados bajo un enfoque industrial, Ciencias, Astronomía, Biología,
Matemáticas y Simuladores donde podremos aplicar de manera más relevante el
concepto de procesamiento distribuido por la necesidad de grandes volúmenes de
cálculos, es donde actúa, los SOD.
También se los requiere en ambientes donde interactúan numerosos usuarios como
en negocios, educación, estadística pública, medios masivos de comunicación, redes
sociales, medicina, seguridad pública etc.

VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS

Con respecto a Sistemas Centralizados:

 Una de las ventajas de los sistemas distribuidos es la economía, pues es mucho más barato, añadir
servidores y clientes cuando se requiere aumentar la potencia de procesamiento.
 El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen sus CPUs
diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido.
 Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas máquinas la falla
de una de ellas no afecta a las demás, el sistema sobrevive como un todo.
 Capacidad de crecimiento incremental. Se puede añadir procesadores al sistema incrementando su
potencia en forma gradual según sus necesidades. Con respecto a PCs Independientes:
 Se pueden compartir recursos, como programas y periféricos, muy costosos. Ejemplo: Impresora
Láser, dispositivos de almacenamiento masivo, etc. 1. Al compartir recursos, satisfacen las
necesidades de muchos usuarios a la vez. Ejemplo: Sistemas de reservas de aerolíneas.
 Se logra una mejor comunicación entre las personas. Ejemplo: el correo electrónico.
 Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores.

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS

 El principal problema es el software, es el diseño, implantación y uso del software distribuido, pues
presenta numerosos inconvenientes. Los principales interrogantes son los siguientes: - ¿Qué tipo de
S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?. - ¿Cuánto deben
saber los usuarios de la distribución?. - ¿Qué tanto debe hacer el sistema y qué tanto deben hacer los
usuarios?. La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una
gran diversidad de criterios y de interpretaciones al respecto.
 Otro problema tiene que ver con las redes de comunicación. Por ejemplo: -Perdida de mensajes,
saturación en el tráfico, etc.
 Un problema que puede surgir al compartir datos es la seguridad de los mismos. En general se
considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.
Las computadoras están conformadas por un hardware que funcionan con un SO.
Tenemos SO Multitareas y Multiusuario, y al igual que un sistema informático no puede
trabajar sin un SO, una red de equipo no puede funcionar sin un SOR. Si no se dispone
de un SOR, el sistema no puede compartir recursos y los usuarios no pueden trabajar.
¿Qué es un SO de red?
Es aquel que puede utilizar una o varias aplicaciones desde cualquier otro equipo o
equipos de red y este corre en un servidor y permite al servidor administrar datos,
usuarios, grupos aplicaciones y seguridad, además de otras funciones de red, y son
aquellos sistemas que mantienen dos o mas 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.
Definición
Los sistemas operativos de red (Network Operating System, NOS), son aquellos S.O.
que además de incorporar herramientas propias de un sistema operativo como son por
ejemplo las herramientas para manejo de ficheros y directorios, incluyen otras para el
uso, gestión y mantenimiento de la red, así como herramientas destinadas a correo
electrónico, envío de mensajes, copia de ficheros entre nodos, ejecución de aplicaciones
contenidas en otras máquinas, compartición de recursos hardware etc.

Los SOR se construyeron principalmente siguiendo la arquitectura cliente servidor. Estos


modelos son Modelos de acceso remoto y modelos de carga y descarga.
Modelo de acceso remoto.
Ofrece a los clientes un acceso transparente a un sistema de archivos gestionados por
un servidor remoto. Los diferentes clientes desconocen la ubicación de los archivos, por
lo que se le otorga una interfaz para que interactúan con el sistema de archivos remotos.
Modelo de carga y Descarga
Un cliente accede a un archivo de forma local después de haberlo descargado de un
servidor. Cuando se termina de modificar o leer el archivo lo carga nuevamente al
servidor, para que el archivo pueda se utilizado por otro cliente.

Servicios del SOR

En ese sentido, los principales tipos de servicios que brindan los sistemas operativos de
red son:

 Ejecución de programas. El sistema tiene que ser capaz de cargar un programa


en memoria y ejecutarlo.
 Operaciones de entrada/salida. Como un programa no puede acceder
directamente a un dispositivo de E/S el sistema operativo debe facilitarle algunos
medios para realizarlo.
 Comunicaciones: Se refiere a todo lo que se envía a través del cable. La
comunicación se realiza cuando por ejemplo, alguien entra a la red, copia un
archivo, envía correo electrónico, o imprime.
 Manipulación del sistema de archivos. El sistema operativo debe facilitar las
herramientas necesarias para que los programas puedan leer, escribir y eliminar
archivos.
 Detección de errores. El sistema operativo necesita constantemente detectar
posibles errores. Los errores pueden producirse en la CPU y en el hardware de la
memoria, en los dispositivos de E/S o bien en el programa de usuario. Para cada
tipo de error, el sistema operativo debe adoptar la iniciativa apropiada que
garantice una computación correcta y consistente.

Características

Después de cumplir todos los requerimientos de hardware para instalar una LAN, se
necesita instalar un sistema operativo de red (Network Operating System, NOS), que
administre y coordine todas las operaciones de dicha red. Los sistemas operativos de
red tienen una gran variedad de formas y tamaños, debido a que cada organización que
los emplea tiene diferentes necesidades. Algunos sistemas operativos se comportan
excelentemente en redes pequeñas, así como otros se especializan en conectar muchas
redes pequeñas en áreas bastante amplias. Pero en general, las características
genéricas de un sistema operativo de red son:

 Conecta todos los equipos y recursos de la red.


 Gestión de usuarios centralizada.
 Proporciona seguridad, controlando el acceso a los datos y recursos. Debe validar los
accesos (claves, certificados, sistemas biométricos, etc.) y ver aplicar las políticas de
seguridad.
 Coordina las funciones de red, incluso con las propias del equipo.
 Comparte recursos (lleva a cabo la coordinación y los privilegios a la hora de compartir).
Por tanto, mejora notablemente la utilización de los recursos.
 Permite monitorizar y gestionar la red y sus componentes.
 Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la
manera más eficiente posible.
 Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que
permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin
interferir con el servicio.
 Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una
mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es,
asignar a cadaproceso una parte del procesador para poder compartir los recursos.
 Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe
encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
 Organizar datos para acceso rápido y seguro.
 Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con
alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
 Procesamiento por bytes de flujo a través del bus de datos.
 Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el
acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
 Técnicas de recuperación de errores.
 Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se
bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.
 Generación de estadísticas.
 Permite que se puedan compartir el hardware y los datos entre los usuarios.

Ventajas
La gestión se vuelve más sencilla:

 La gestión de los recursos y equipos de la red se hace de forma centralizada.


 Puede conectar los equipos y recursos de la red.
 Coordina funciones de periféricos y recursos.
 Proporciona seguridad en el control de acceso.
 Optimiza la utilización de los recursos
Desventajas

 Equipos más caros y potentes para actuar como servidores


 Coste del sistema operativo (coste por conexiones simultáneas...)
 Sistema crítico: necesidad de redundancia, personal especializado, etc.

Vous aimerez peut-être aussi