Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. Esta definición tiene dos aspectos: El hardware: las máquinas son autónomas. El software: los usuarios piensan que el sistema es como una única computadora.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA
EDUCACIÓN
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
SEDE BARCELONA, EDO. ANZOÁTEGUI
SISTEMAS OPERATIVOS DISTRIBUIDOS
Estudiante: Jesús Cuarez
De Ing de Sistema
2. INTRODUCCION
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 e incluso
mayores capacidades que los primeros y que están cada vez más introducidos
en el quehacer cotidiano de una persona.
3. DEFINICIÓN DE SISTEMAS OPERATIVOS DISTRIBUIDOS
Los sistemas operativos distribuidos
desempeñan las mismas funciones que un sistema
operativo normal, pero con la diferencia de trabajar en
un entorno distribuido. Su Misión principal consiste en
facilitar el acceso y la gestión de los recursos
distribuidos en la red.
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.
4. TIPOS DE SISTEMAS OPERATIVOS DISTRIBUIDOS
Entre los diferentes Sistemas
Operativos distribuidos que
existen tenemos los
siguientes: Sprite, Solaris-
MC, Mach, Chorus, Spring,
Amoeba, Taos, etc
5. CARACTERÍSTICAS PRINCIPALES DE LOS
SISTEMAS DISTRIBUIDOS
• Compartición de Recursos
El término 'recurso' es bastante abstracto, pero es el
que mejor caracteriza el abanico de entidades que pueden
compartirse en un sistema distribuido. El abanico se
extiende desde componentes hardware como discos e
impresoras hasta elementos software como ficheros,
ventanas, bases de datos y otros objetos de datos.
La idea de compartición de recursos no es nueva ni
aparece en el marco de los sistemas distribuidos. Los
sistemas multiusuario clásicos desde siempre han provisto
compartición de recursos entre sus usuarios. Sin embargo,
los recursos de una computadora multiusuario se
comparten de manera natural entre todos sus usuarios. Por
el contrario, los usuarios de estaciones de trabajo
monousuario o computadoras personales dentro de un
sistema distribuido no obtienen automáticamente los
beneficios de la compartición de recursos.
6. CARACTERÍSTICAS PRINCIPALES DE LOS
SISTEMAS DISTRIBUIDOS
Apertura (opennesss)
Un sistema informático es abierto si el sistema
puede ser extendido de diversas maneras. Un sistema
puede ser abierto o cerrado con respecto a extensiones
hardware (añadir periféricos, memoria o interfaces de
comunicación, etc... ) o con respecto a las extensiones
software ( añadir características al sistema operativo,
protocolos de comunicación y servicios de compartición
de recursos, etc... ). La apertura de los sistemas
distribuidos se determina primariamente 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.
7. CARACTERÍSTICAS PRINCIPALES DE LOS
SISTEMAS DISTRIBUIDOS
Básicamente los sistemas
distribuidos cumplen una serie de
características:
Los interfaces software clave del sistema están
claramente especificados y se ponen a disposición de los
desarrolladores. En una palabra, los interfaces se hacen
públicos. Los sistema distribuidos abiertos se basan en la
provisión de un mecanismo uniforme de comunicación
entre procesos e interfaces publicados para acceder a
recursos compartidos.
. Concurrencia
Cuando existen varios procesos en una única
maquina decimos que se están ejecutando
concurrentemente. Si el ordenador esta equipado con un
único procesador central, la concurrencia tiene lugar
entrelazando la ejecución de los distintos procesos. Si la
computadora tiene N procesadores, entonces se pueden
estar ejecutando estrictamente a la vez hasta N procesos.
En los sistemas distribuidos hay muchas maquinas, cada
una con uno o mas procesadores centrales. Es decir, si hay
M ordenadores en un sistema distribuido con un
procesador central cada una entonces hasta M procesos
estar ejecutándose en paralelo.
8. CONCURRENCIA
El caso (1) es menos conflictivo, ya que normalmente las
aplicaciones de interacción se ejecutan aisladamente en la estación
de trabajo del usuario y no entran en conflicto con las aplicaciones
ejecutadas en las estaciones de trabajo de otros usuarios.
El caso (2) surge debido a la existencia de uno o mas procesos
servidores para cada tipo de recurso. Estos procesos se ejecutan en
distintas maquinas, de manera que se están ejecutando en paralelo
diversos servidores, junto con diversos programas de aplicación. Las
peticiones para acceder a los recursos de un servidor dado pueden
ser encoladas en el servidor y ser procesadas secuencialmente o
bien pueden ser procesadas varias concurrentemente por múltiples
instancias del proceso gestor de recursos. Cuando esto ocurre los
procesos servidores deben sincronizar sus acciones para
asegurarse de que no existen conflictos. La sincronización debe ser
cuidadosamente planeada para asegurar que no se pierden los
beneficios de la concurrencia.
9. CARACTERÍSTICAS PRINCIPALES DE LOS
SISTEMAS DISTRIBUIDOS
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 ficheros, mientras que un
sistema distribuido construido alrededor de una red de
área local simple podría contener varios cientos de
estaciones de trabajo, varios servidores de ficheros,
servidores de impresión y otros servidores de
propósito especifico. A menudo se conectan varias
redes de área local para formar internet Works, y éstas
podrían contener muchos miles de ordenadores que
forman un único sistema distribuido, permitiendo que
los recursos sean compartidos entre todos ellos.
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 la computación que estaban realizando. El
diseño de sistemas tolerantes a fallos se basa en
dos cuestiones, complementarias entre sí:
Redundancia hardware (uso de componentes
redundantes) y recuperación del software (diseño de
programas que sean capaces de recuperarse de los
fallos).
En los sistemas distribuidos la
redundancia puede plantearse en un grano mas fino
que el hardware, pueden replicarse los servidores
individuales que son esenciales para la operación
continuada de aplicaciones criticas.
La recuperación del software tiene
relación con el diseño de software que sea capaz de
recuperar (roll-back) el estado de los datos
permanentes antes de que se produjera el fallo.
10. CARACTERÍSTICAS
PRINCIPALES DE LOS
SISTEMAS DISTRIBUIDOS
Transparencia
La transparencia se define como la
ocultación al usuario y al programador de
aplicaciones de la separación de los
componentes de un sistema distribuido, de
manera que el sistema se percibe como un todo,
en vez de una colección de componentes
independientes. La transparencia ejerce una
gran influencia en el diseño del software de
sistema.
El manual de referencia RM-ODP [ISO
1996a] identifica ocho formas de transparencia.
Estas proveen un resumen útil de la motivación y
metas de los sistemas distribuidos. Las
transparencias definidas son:
Transparencia de Acceso : Permite el acceso a los
objetos de información remotos de la misma forma que a
los objetos de información locales.
Transparencia de Localización: Permite el acceso a los
objetos de información sin conocimiento de su localización
Transparencia de Concurrencia: Permite que varios procesos
operen concurrentemente utilizando objetos de información
compartidos y de forma que no exista interferencia entre
ellos.
Transparencia de Replicación: Permite utilizar múltiples
instancias de los objetos de información para incrementar la
fiabilidad y las prestaciones sin que los usuarios o los
programas de aplicación tengan por que conoces la
existencia de las replicas.
Transparencia de Fallos: Permite a los usuarios y programas
de aplicación completar sus tareas a pesar de la ocurrencia
de fallos en el hardware o en el software.
Transparencia de Migración: Permite el movimiento de
objetos de información dentro de un sistema sin afectar a los
usuarios o a los programas de aplicación.
Transparencia de Prestaciones. Permite que el sistema sea
reconfigurado para mejorar las prestaciones mientras la
carga varia.
Transparencia de Escalado: Permite la expansión del sistema
y de las aplicaciones sin cambiar la estructura del sistema o
los algoritmos de la aplicación.
11. GESTION DE MEMORIA
Una de las principales características de un
sistema distribuido es la ausencia de una memoria común.
Esto hace que la comunicación y sincronización en este
tipo de sistemas tenga que hacerse mediante el
intercambio de mensajes. La mayoría de los sistemas
distribuidos actuales siguen este modelo, con cada
computadora gestionando su memoria virtual. Sin
embargo, hay propuestas que intentan mejorar este
esquema. Estas propuestas son:
• Utilización de paginadores externos.
• Memoria compartida distribuida.
La utilización de paginadores externos se
basa en almacenar el espacio de
intercambio (swap) en servidores de
archivos distribuidos y en el empleo de
paginadores externos, que son procesos
que se encargan de tratar los fallos de
página que ocurren en una computadora.
El empleo de paginadores externos
permite disponer de un sistema con una
gran cantidad de espacio para paginación,
liberando a las computadoras de reservar
espacio para la paginación.
12. UTILIZACIÓN DE PAGINADORES
EXTERNOS
La memoria compartida distribuida es una
abstracción que permite que los procesos que
ejecutan en un sistema distribuido puedan
comunicarse utilizando memoria compartida. Esta
abstracción se construye utilizando: el paso de
mensajes disponible. El empleo de memoria
compartida como mecanismo de comunicación':
facilita el desarrollo de aplicaciones, ya que el
modelo de programación es más sencillo y la
sincronización puede realizarse utilizando
construcciones tradicionales, cómo pueden ser los
semáforos.
13. MEMORIA COMPARTIDA
DISTRIBUIDA
En el primer caso, cada
computadora que utiliza una
página almacena una copia
local de ella en su memoria
principal,. pudiéndose incluso
paginar a su propia área de
intercambio.
14. VENTAJAS Y DESVENTAJAS DE LOS
SISTEMAS OPERATIVOS DISTRIBUIDOS
VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS CON RESPECTO A SU
CONTRAPARTE.
Una de las ventajas de los sistemas distribuidos es la economía,
pues es mucho más barato añadir servidores y clientes, que
adquirir equipos de mayor potencia de cómputo, cuando se
requiere aumentar la potencia de procesamiento. Otra ventaja es
el trabajo en conjunto. Por ejemplo: en una fábrica de
ensamblado, los robots tienen sus CPU diferentes y realizan
acciones en conjunto, dirigidos por un sistema distribuido.
Los S.O.D. tienen una mayor confiabilidad. Al estar distribuida la
carga de trabajo en muchas máquinas la falla de una de ellas no
afecta el trabajo individual de las demás, el sistema sobrevive
como un todo, herido, pero sobrevive. Otra ventaja es la
Capacidad de crecimiento incremental. Se pueden añadir
procesadores al sistema incrementando su potencia en forma
gradual según sus necesidades. sus necesidades.
15. VENTAJAS Y DESVENTAJAS DE LOS
SISTEMAS OPERATIVOS DISTRIBUIDOS
DESVENTAJAS DE LOS SISTEMAS OPERATIVOS DISTRIBUIDOS.
La desventaja principal de los S.O.D. es que el software no obstante más
compacto y disperso, tiene una responsabilidad hasta cierto punto crítica; es complejo en
términos de su diseño, implantación y uso; pues presenta numerosos inconvenientes,
como posibles cuellos de botella, tiempos de propagación, rendimientos decrecientes,
necesidad de sincronización o disponibilidad del servicio. Los principales interrogantes que
el diseñador enfrenta son:
¿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 aquellos inherentes a las redes de comunicación. Por ejemplo la pérdida
de mensajes, saturación en el tráfico, invasión del canal, comunicaciones bloqueadas,
además de aquellos derivados del control de acceso a los usuarios; por otra parte, existe
el problema de compartir recursos con absoluta seguridad.
16. VENTAJAS Y DESVENTAJAS DE LOS SISTEMAS
OPERATIVOS DISTRIBUIDOSVentajas de los S.O.D.
• -Economía: Es la razón número uno para elegir los S.O.D. ya que estos sistemas se suponen con una proporción
precio/desempeño mucho mejor que la de un equipo de súper cómputo.
• -Velocidad: Los S.O.D. pueden ser más veloces y tener mayor poder de cómputo que un mainframe.
• Distribución inherente: Porque ciertas aplicaciones son distribuidas en forma inherente.
• Confiabilidad: Un S.O.D. ofrece mayor confiabilidad al distribuir la carga de trabajo entre muchas máquinas, la falla de un
circuito descompondrá a lo más una máquina y el resto seguirá intacto.
• Desarrollo incremental de la madurez del sistema: Para añadir poder de cómputo, no se necesita rediseñar ni gastar en
componentes más caros, sólo hay que multiplicarlos. Por ejemplo basta con añadir más procesadores al sistema, lo que
facilita la escalabilidad y su planificación.
• Desventajas de los S.O.D.:
Software: No hay mucha experiencia en el diseño, implantación y uso del software distribuido, además existen pocos
productos de software para los sistemas distribuidos.
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 S.O.D. debía conseguir.
En general al juzgar y entender los S.O.D. debemos seguir los lineamientos de las leyes informáticas sobre Cuellos de
Botella, Gasto Mínimo de Recursos, Balance Costo/Complejidad y la Ley de Rendimientos Decrecientes; aunque se
supone que se mejoran estas debilidades de los S.O. centralizados, no se pueden soslayar totalmente.
18. ¿Qué es un Acceso Remoto?
Un acceso remoto es poder acceder
desde una computadora a un recurso ubicado
físicamente en otra computadora que se encuentra
geográficamente en otro lugar, a través de una red
local o externa (como Internet).
En el acceso remoto se ven implicados
protocolos (En informática, un protocolo es un
conjunto de reglas usadas por computadoras para
comunicarse unas con otras a través de una red por
medio de intercambio de mensajes), y programas en
ambas computadoras que permitan recibir/enviar los
datos necesarios. Además deben contar con un
fuerte sistema de seguridad (tanto la red, como los
protocolos y los programas).
Control de Concurrencia
aislamiento
Solución trivial: cada
transacción se ejecuta
en exclusión mutua
Muy restrictivo
Evita la concurrencia y las BD
están pensadas
para acceso multi-usuario
(múltiples aplicaciones)
En lugar de eso, intercalar
acciones para que el
resultado sea como en
exclusión mutua…
Atomicidad: Para un proceso
completo que necesita de varios
pasos para ser realizada
completamente, todos los pasos
deben completarse para dar
finalizado el proceso; si ocurre un
error en un paso el proceso no
podrá ser completado, debiendo
proceder a abortar la operación y
restaurar al estado correcto anterior
de los datos.
19. CONCLUSIÓN
Los sistemas distribuidos abarcan una cantidad de aspectos
considerables, por lo cual su desarrollo implica mucha complejidad El
creciente interés en las aplicaciones distribuidas, propiciado principalmente
por la gran popularidad adquirida por Internet, da lugar a la aparición de
sistemas cada vez más complejos y difíciles de implementar.
Para enmascarar la heterogeneidad de ordenadores y redes, mientras ofrece
una imagen de único sistema; los sistemas distribuidos incluyen a menudo
una capa software situada entre el nivel más alto, donde están los usuarios y
las aplicaciones, y el más bajo, donde está el sistema operativo. Esta capa se
conoce con el nombre de middleware y se representa mediante procesos u
objetos en un conjunto de ordenadores que interactúan entre sí para
implementar mecanismos de comunicación, y de recursos compartidos para
aplicaciones distribuidas.