Documento 74481

Anuncio
Un sistema operativo es un conjunto de sistemas y procedimientos que actúa como intermediario entre el
usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda
ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computación se
use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera
eficiente.
Existen muchos tipos distintos de sistemas operativos, desde los básicos como el POST (Power On Self Test),
Sistemas operativos de tiempo real, Sistemas Operativos de Redes, Mono−Usuarios, Multi−Usuarios entre
otros. En el desarrollo de este trabajo estaremos desarrollando el concepto de Sistema operativo Distribuido,
su historia, sus funciones y aplicaciones y modo de trabajo.
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.
Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se
descompone otro componente debe de ser capaz de reemplazarlo inmediatamente y no afectar los procesos del
sistema.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris−MC,
Mach, Chorus, Spring, Amoeba, Taos, etc.
Características básicas
Los sistemas operativos distribuidos están basados en las ideas básicas:
Transparencia
Eficiencia
Flexibilidad
Escalabilidad
Existen dos esquemas básicos: Los Fuertemente Acoplados y los débiles. Un sistema fuertemente acoplado es
aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los
procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que
cada uno cuenta con su memoria local.
Transparencia
El concepto de transparencia de un Sistema operativo distribuido va ligado a la idea de que todo el sistema
funcione de forma similar en todos los puntos de la red, debido a esto queda como labor del sistema operativo
1
coordinar el mecanismo que logre la unificación de todos los sistemas y recursos totalmente transparente para
el usuario o aplicación.
El que el sistema disponga de varios procesadores debe lograr un mayor rendimiento del sistema, pero el
sistema operativo debe controlar que tanto los usuarios como los programadores vean el núcleo del sistema
distribuido como un único procesador, Es decir que la programación y la ejecución de los programas y tareas
sean exactamente iguales que las de los sistemas operativos normales en aspectos visuales y de programación,
pero mas rápidos y eficientes por la distribución de la tareas.
Eficiencia
La idea base de los sistemas operativos distribuido es la de obtener sistemas mucho mas rápidos que los
utilizados de procesador único, Y para lograr esto tenemos que olvidar la idea antigua de ejecutar los
programas en estos procesadores y pensar en distribuir las tareas a los procesadores libres mas rápidos en cada
momento.
El concepto global de que un procesador haga todas las tareas y la desarrolle rápido depende de muchos
factores concretos: Velocidad, Memoria y tipo de procesamiento, Pero para un sistema operativo distribuido
esto es mucho mas fácil y eficiente, solo buscara un procesador mas rápido y mas libre para que desarrolle las
tareas y hará un display de los resultados obtenidos.
Flexibilidad
La Flexibilidad dentro de sistema operativo distribuido, describe su capacidad para soportar cambios,
actualizaciones y mejoras que le permitan irse desarrollando al mismo ritmo de la evolución tecnológica.
Dicha capacidad es una virtud y un conflicto. Una Virtud debido a las grandes necesidades de los sistemas
operativos de mejorar después de las primeras versiones y un conflicto que surge entre los sistemas de con
Núcleo Monolítico y los sistemas con Micro núcleo las cuales son dos arquitecturas distintas del núcleo del
sistema operativo.
Núcleo Monolítico
Como ejemplo de sistema operativo de núcleo monolítico esta UNIX, estos sistemas tienen en núcleo grande
y complejo, que engloba todos los servicios del sistema. Esta programado de forma no modular, y tiene un
rendimiento mayor que un micro núcleo. Sin embargo, cualquier cambio a realzar en cualquiera de los
servicios, requiere de hacer un STOP a todos los servicios y la recopilación del núcleo.
Micro Núcleo.
La arquitectura 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 mas rápidos y sencillos. Además, la actualización de los servicios es más sencilla y ágil. Ya que
solo es necesario la recopilación del servicio y no de todo el núcleo. Como desventaja, 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 micro
núcleo el cual aun siendo un poco mas lento, garantiza una estabilidad mayor y un aumento de la flexibilidad
del sistema.
Escalabilidad
2
Un sistema operativo distribuido debería funcionar tanto para una docena de computadoras como para mil en
una sola red, el tipo de red utilizada no debe de ser un problema ni su topología (LAN o WAN) (TOKEN
RING o ETHERNET) y mucho menos la distancia entre los equipos. Sin embargo todo esto influye, Aunque
estos puntos serian muy deseables, pude que la solución valida para unas cuantas computadoras no sean
aplicables como para mil. Del mismo modo el tipo de red condiciona grandemente el rendimiento del sistema
y puede que lo funcione para un tipo de red requiera modificaciones para otro.
Los sistemas operativos distribuidos necesitan de grandes estándares para trabajar y sobre todo de ajustes a las
necesidades principales de cada red y sus usuarios. Este concepto propone que cualquier computador debe
funcionar perfectamente como un sistema operativo distribuido, pero de la misma forma debe de formar parte
y trabajar como más equipos no importan la cantidad o los recursos que estos le puedan proporcionar.
Sincronización
La sincronización es un punto clave para los sistemas operativos distribuidos. Para computadores únicos no es
nada importante, pero en el caso de los recursos compartidos de la red, la sincronización es sumamente
importante.
Los sistemas operativos distribuidos tienen un reloj por cada ordenador del sistema, con lo que es fundamental
una coordinación entre todos los relojes para mostrar una hora única. Los osciladores de cada ordenador son
ligeramente diferentes, y como consecuencia todo los relojes sufren un desfase y deben ser sincronizados
continuamente. La sincronización no es trivial, porque se realiza a través de mensajes por la red. Cuyo tiempo
de envió pude ser variable y depender de muchos factores como la distancia, la velocidad de transmisión y la
propia estructura de la red.
El Reloj.
La sincronización del reloj no tiene que ser exacta y bastara con que sea aproximadamente igual en todos los
ordenadores. Hay que tener en cuenta eso si. El modo de actualizar la hora de un reloj es particular. Es
fundamenta no retrasar nunca la hora, aunque el reloj adelante. En vez de eso, hay que atrasar la actualizaron
del reloj. Frenarlo. Hasta que alcance la hora aproximada. Existen diferentes algoritmos de actualizan de la
hora.
El Reloj es únicamente uno de los tantos problemas de sincronización que existen en los sistemas operativos
distribuidos.
Funcionamiento Lógico del Sistema
A medida en la que hemos ido desarrollando el tema, hemos declarado que un sistema operativo distribuido
dentro de sus funciones básicas, es capaz de encontrar mecanismos para la asignación de tareas a procesadores
que pueden estar dentro o fuera del equipo que esta ejecutando el programa.
Añadido a esto los sistemas operativos distribuidos brindan mas servicios de distribución como son los
siguientes:
Servicios de Comunicación
Sistemas de Ficheros (File Sharing)
Servicios de Nombres
Servicios de Sincronización y Coordinación
3
Memoria Compartida Distribuida
Gestión de Procesos
Servicio de Seguridad
Servicios de Comunicación
Los servicios de comunicación son los típicos servicios de red, pero en el caso de los sistemas operativos
distribuidos son mas especializados en ciertas áreas.
Los sistemas operativos distribuidos utilizan un concepto de interconexión llamado Multicast (Comunicación
en Grupo) que le permite a todos los computadores del sistema trabajar como un solo elemento de la red.
Toda la coordinación de los SOD son sincronizados por medio de SOCKETS lo cuales son paso de mensajes
por la red que le permiten a los sistemas verificar cual es el equipo que esta disponible o simplemente el
estado de un equipo actual. Los SOCKETS también son utilizados para la actualización del reloj.
Sistemas de Ficheros (File Sharing)
El concepto del sistema de ficheros esta basado en la gestión de distintos dispositivos en diferentes nodos
ofreciendo a usuarios la misma visión que un Sistema Centralizado.
Dicho sistema permite que los usuarios compartan información de forma transparente. Un buen ejemplo de
esto es los contactos compartidos de cada terminal los cuales se reflejan en un solo modulo de contactos cada
vez que una persona abre sus contactos.
Servicios de Nombres
Estos servicios identifican y localizan los recursos en el entorno distribuido. Existen dos: Páginas Blancas y
Paginas Amarillas. El servicio de páginas blancas es el propiamente dicho de nombres y el de páginas
amarillas es el de directorios.
Servicios de Sincronización
Los servicios de Sincronización son los que nos permiten mantener el los relojes de las computadoras
individuales en un tiempo aproximado y apropiado.
La sincronización puede ser de relojes Físicos, los cuales sincronizan los relojes de hardware y de Relojes
Lógicos, los cuales ordenan la entrada, ejecución y salida de los eventos.
Memoria Compartida Distribuida (DSM)
En un sistema operativo distribuido, la memoria pasa a ser físicamente privada pero lógicamente compartida.
Es decir, un computador ejecuta los programas en su memoria propia, pero en caso de necesitar mas memoria
utilizara los recursos disponibles de otra computadora que este capacitada y preparada dentro de la red para
compartir su memoria.
La Memoria compartida distribuida ayuda a que no se formen los famosos cuellos de botella, debido que
busca los recursos necesarios para lograr cumplir todas las tareas asignadas.
Servicios de Seguridad
4
Los servicios de seguridad de un SOD van ligados a permisos de acceso tanto a los datos compartidos como a
los recursos. Los recursos de memoria por ejemplo, son asignados permisos a la cantidad de memoria
compartida siguiendo las necesidades físicas de cada computadora.
Ejemplo: Una computadora de 128 MB RAM, la cual trabaja mucho es muy probable que en vez de poder
compartir memoria requiera de memoria compartida de otras computadoras. Debido a esto, el DSM
(Distribuid Shared Memory o Memoria Distribuida Compartida) es Deshabilitado para que no se disponga de
recursos libres de este computador.
Sistema Operativo Distribuido vs Sistema Distribuido
Existe una diferencia vital entre los sistemas operativos distribuidos y los sistemas distribuidos. Podríamos
llamar a un Sistema Distribuido una capacidad del Sistema operativo Distribuido, es decir: Un sistema
distribuido es la relación que existe entre una computadora independiente y un servidor de archivos o
dispositivos compartidos. Cada computadora ejecuta sus programas en su memoria propia haciendo uso de su
único microprocesador y memoria, este no comparte memoria ni asigna tareas a otros procesadores de la red.
Sin embargo, un Sistema operativo distribuido tiene acceso a todos los dispositivos compartidos de la red
incluyendo procesadores y memoria RAM.
Desventajas de los SOD
Por muy maravillosos que nos puedan pareces los sistemas operativos distribuidos, también tienen sus
desventajas. La sincronización del sistema es una tarea Árdea de la cual nunca se descansa y la
estandarización del sistema es un tanto complicada y limitante.
Debido a que no todos los sistemas operativos son de de carácter distribuido enlazar los distintos tipos de
sistemas operativos es un poco complicado.
El interés de hacer el SOD lo mas transparente posible lo hace muy complicado en su programación y el
lograr que el sistema operativo no tenga problemas para que no cause problemas a otros equipos que le
asignaron tareas es un poco dificultoso.
Conclusión
El futuro de los sistemas operativos Distribuidos esta en la formación de un nuevo kernel universal que
soporte distribución para que este pueda ser aplicado a todos los sistemas operativos sin importar su
plataforma. O por lo menos que los sistemas puedan ser distribuidos entre las computadoras que corran este
mismo sistema dentro de la misma red y unificado por un servidor de sistemas operativos distribuidos.
El sistema operativo distribuido es usado a menudo como sub sistemas operativos utilizando sus ventajas
como por ejemplo el sistema de clusters para almacenamiento. Creemos que si podemos encontrar sub
soluciones a la distribución que sean ventajosas, deberíamos de incursionar el futuro de la informática a la
distribución total.
5
Descargar